From 4c0f6c8aa03686e22f0269b22fe89fa28571dea0 Mon Sep 17 00:00:00 2001 From: Dev Date: Tue, 24 Dec 2024 15:38:05 +0000 Subject: [PATCH] Initial commit --- .eslintignore | 6 + .eslintrc.js | 23 + .github/workflows/_studio.yml | 26 + .gitignore | 35 + .husky/pre-commit | 4 + .markdownlint.json | 4 + .npmrc | 2 + .pages.yml | 30 + .prettierignore | 13 + .prettierrc | 20 + .vscode/astro-paper.code-snippets | 34 + .vscode/extensions.json | 4 + .vscode/launch.json | 11 + AstroPaper-lighthouse-score.svg | 159 + CHANGELOG.md | 312 + LICENSE | 21 + README.md | 158 + astro.config.ts | 40 + docker-compose.yml | 11 + package-lock.json | 13598 ++++++++++++++++ package.json | 63 + public/assets/dev.svg | 361 + public/assets/forrest-gump-quote.webp | Bin 0 -> 27316 bytes public/assets/logo.png | Bin 0 -> 2989 bytes public/assets/logo.svg | 10 + public/astropaper-og.jpg | Bin 0 -> 148774 bytes public/favicon.svg | 13 + public/toggle-theme.js | 76 + remark-collapse.d.ts | 1 + src/assets/images/AstroPaper-v3.png | Bin 0 -> 173038 bytes src/assets/images/AstroPaper-v4.png | Bin 0 -> 161586 bytes src/assets/socialIcons.ts | 211 + src/components/Breadcrumbs.astro | 72 + src/components/Card.tsx | 35 + src/components/Datetime.tsx | 72 + src/components/Footer.astro | 45 + src/components/Header.astro | 215 + src/components/Hr.astro | 12 + src/components/LinkButton.astro | 33 + src/components/Pagination.astro | 57 + src/components/Search.tsx | 123 + src/components/ShareLinks.astro | 66 + src/components/Socials.astro | 35 + src/components/Tag.astro | 38 + src/config.ts | 147 + src/content/blog/adding-new-post.md | 170 + src/content/blog/astro-paper-2.md | 91 + src/content/blog/astro-paper-3.md | 173 + src/content/blog/astro-paper-4.md | 124 + ...tomizing-astropaper-theme-color-schemes.md | 132 + src/content/blog/dynamic-og-images.md | 50 + src/content/blog/example-draft-post.md | 21 + .../blog/how-to-add-a-new-social-icon.md | 125 + .../how-to-add-an-estimated-reading-time.md | 303 + .../blog/how-to-configure-astropaper-theme.md | 160 + ...nect-astro-paper-blog-with-forestry-cms.md | 126 + .../blog/how-to-update-dependencies.md | 114 + .../blog/portfolio-website-development.md | 104 + src/content/blog/predefined-color-schemes.md | 182 + .../blog/setting-dates-via-git-hooks.md | 194 + src/content/blog/tailwind-typography.md | 208 + src/content/blog/terminal-development.md | 88 + src/content/config.ts | 26 + src/env.d.ts | 2 + src/layouts/AboutLayout.astro | 28 + src/layouts/Layout.astro | 115 + src/layouts/Main.astro | 48 + src/layouts/PostDetails.astro | 221 + src/layouts/Posts.astro | 40 + src/layouts/TagPosts.astro | 49 + src/pages/404.astro | 42 + src/pages/about.md | 36 + src/pages/index.astro | 163 + src/pages/og.png.ts | 7 + src/pages/posts/[slug]/index.astro | 41 + src/pages/posts/[slug]/index.png.ts | 20 + src/pages/posts/index.astro | 18 + src/pages/robots.txt.ts | 17 + src/pages/rss.xml.ts | 20 + src/pages/search.astro | 30 + src/pages/tags/[tag]/[page].astro | 44 + src/pages/tags/[tag]/index.astro | 32 + src/pages/tags/index.astro | 24 + src/styles/base.css | 135 + src/types.ts | 19 + src/utils/generateOgImages.tsx | 59 + src/utils/getPageNumbers.ts | 14 + src/utils/getPagination.ts | 35 + src/utils/getPostsByTag.ts | 10 + src/utils/getSortedPosts.ts | 18 + src/utils/getUniqueTags.ts | 23 + src/utils/og-templates/post.tsx | 96 + src/utils/og-templates/site.tsx | 87 + src/utils/postFilter.ts | 11 + src/utils/slugify.ts | 5 + tailwind.config.cjs | 75 + tsconfig.json | 17 + 97 files changed, 20188 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .github/workflows/_studio.yml create mode 100644 .gitignore create mode 100755 .husky/pre-commit create mode 100644 .markdownlint.json create mode 100644 .npmrc create mode 100644 .pages.yml create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .vscode/astro-paper.code-snippets create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 AstroPaper-lighthouse-score.svg create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 astro.config.ts create mode 100644 docker-compose.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/assets/dev.svg create mode 100644 public/assets/forrest-gump-quote.webp create mode 100644 public/assets/logo.png create mode 100644 public/assets/logo.svg create mode 100644 public/astropaper-og.jpg create mode 100644 public/favicon.svg create mode 100644 public/toggle-theme.js create mode 100644 remark-collapse.d.ts create mode 100644 src/assets/images/AstroPaper-v3.png create mode 100644 src/assets/images/AstroPaper-v4.png create mode 100644 src/assets/socialIcons.ts create mode 100644 src/components/Breadcrumbs.astro create mode 100644 src/components/Card.tsx create mode 100644 src/components/Datetime.tsx create mode 100644 src/components/Footer.astro create mode 100644 src/components/Header.astro create mode 100644 src/components/Hr.astro create mode 100644 src/components/LinkButton.astro create mode 100644 src/components/Pagination.astro create mode 100644 src/components/Search.tsx create mode 100644 src/components/ShareLinks.astro create mode 100755 src/components/Socials.astro create mode 100644 src/components/Tag.astro create mode 100644 src/config.ts create mode 100644 src/content/blog/adding-new-post.md create mode 100644 src/content/blog/astro-paper-2.md create mode 100644 src/content/blog/astro-paper-3.md create mode 100644 src/content/blog/astro-paper-4.md create mode 100644 src/content/blog/customizing-astropaper-theme-color-schemes.md create mode 100644 src/content/blog/dynamic-og-images.md create mode 100644 src/content/blog/example-draft-post.md create mode 100644 src/content/blog/how-to-add-a-new-social-icon.md create mode 100644 src/content/blog/how-to-add-an-estimated-reading-time.md create mode 100644 src/content/blog/how-to-configure-astropaper-theme.md create mode 100644 src/content/blog/how-to-connect-astro-paper-blog-with-forestry-cms.md create mode 100644 src/content/blog/how-to-update-dependencies.md create mode 100644 src/content/blog/portfolio-website-development.md create mode 100644 src/content/blog/predefined-color-schemes.md create mode 100644 src/content/blog/setting-dates-via-git-hooks.md create mode 100644 src/content/blog/tailwind-typography.md create mode 100644 src/content/blog/terminal-development.md create mode 100644 src/content/config.ts create mode 100644 src/env.d.ts create mode 100644 src/layouts/AboutLayout.astro create mode 100644 src/layouts/Layout.astro create mode 100644 src/layouts/Main.astro create mode 100644 src/layouts/PostDetails.astro create mode 100644 src/layouts/Posts.astro create mode 100644 src/layouts/TagPosts.astro create mode 100644 src/pages/404.astro create mode 100644 src/pages/about.md create mode 100644 src/pages/index.astro create mode 100644 src/pages/og.png.ts create mode 100644 src/pages/posts/[slug]/index.astro create mode 100644 src/pages/posts/[slug]/index.png.ts create mode 100644 src/pages/posts/index.astro create mode 100644 src/pages/robots.txt.ts create mode 100644 src/pages/rss.xml.ts create mode 100644 src/pages/search.astro create mode 100644 src/pages/tags/[tag]/[page].astro create mode 100644 src/pages/tags/[tag]/index.astro create mode 100644 src/pages/tags/index.astro create mode 100644 src/styles/base.css create mode 100644 src/types.ts create mode 100644 src/utils/generateOgImages.tsx create mode 100644 src/utils/getPageNumbers.ts create mode 100644 src/utils/getPagination.ts create mode 100644 src/utils/getPostsByTag.ts create mode 100644 src/utils/getSortedPosts.ts create mode 100644 src/utils/getUniqueTags.ts create mode 100644 src/utils/og-templates/post.tsx create mode 100644 src/utils/og-templates/site.tsx create mode 100644 src/utils/postFilter.ts create mode 100644 src/utils/slugify.ts create mode 100644 tailwind.config.cjs create mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..e816868 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,6 @@ +.husky +.vscode +node_modules +public +dist +.yarn \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..d38ad6e --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,23 @@ +module.exports = { + env: { + node: true, + es2022: true, + browser: true, + }, + extends: ["eslint:recommended", "plugin:astro/recommended"], + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + }, + overrides: [ + { + files: ["*.astro"], + parser: "astro-eslint-parser", + parserOptions: { + parser: "@typescript-eslint/parser", + extraFileExtensions: [".astro"], + }, + rules: {}, + }, + ], +}; diff --git a/.github/workflows/_studio.yml b/.github/workflows/_studio.yml new file mode 100644 index 0000000..a1eb508 --- /dev/null +++ b/.github/workflows/_studio.yml @@ -0,0 +1,26 @@ +name: Astro Studio + +env: + ASTRO_STUDIO_APP_TOKEN: ${{secrets.ASTRO_STUDIO_APP_TOKEN }} + +on: + push: + branches: + - main + pull_request: + types: [opened, reopened, synchronize] + +jobs: + DB: + permissions: + contents: read + actions: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - uses: jaid/action-npm-install@v1.2.1 + - uses: withastro/action-studio@main diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a2df19 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +# build output +dist/ +.output/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# ignore .astro directory +.astro + +# ignore Jampack cache files +.jampack/ + +# yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions +.pnp.* diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..d24fdfc --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx lint-staged diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..4a9e17a --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,4 @@ +{ + "MD033": false, + "MD013": false +} \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..ef83021 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +# Expose Astro dependencies for `pnpm` users +shamefully-hoist=true diff --git a/.pages.yml b/.pages.yml new file mode 100644 index 0000000..c67e26c --- /dev/null +++ b/.pages.yml @@ -0,0 +1,30 @@ +media: + input: public + output: / +content: + - name: posts + label: Posts + type: collection + path: src/content/blog + view: + fields: [ title, draft, date ] + fields: + - { name: author, label: Author, type: string } + - { name: pubDatetime, label: Date, type: date } + - { name: modDatetime, label: Date, type: date } + - { name: title, label: Title, type: string, required: true } + - { name: ogImage, label: Title, type: string } + - { name: slug, label: Slug, type: string } + - { name: featured, label: Featured, type: boolean } + - { name: draft, label: Draft, type: boolean } + - { name: tags, label: Tags, type: string, list: true } + - { name: description, label: Description, type: string } + - { name: body, label: Body, type: rich-text } + - name: about + label: About page + type: file + path: src/pages/about.md + fields: + - { name: layout, type: string, hidden: true, default: "../layouts/AboutLayout.astro" } + - { name: title, label: Title, type: string } + - { name: body, label: Body, type: rich-text, options: { input: public/assets, output: /assets } } diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..5d1d4a4 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,13 @@ +# Ignore everything +/* + +# Except these files & folders +!/src +!/public +!/.github +!tsconfig.json +!astro.config.ts +!package.json +!.prettierrc +!.eslintrc.js +!README.md \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..5d921d9 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,20 @@ +{ + "arrowParens": "avoid", + "semi": true, + "tabWidth": 2, + "printWidth": 80, + "singleQuote": false, + "jsxSingleQuote": false, + "trailingComma": "es5", + "bracketSpacing": true, + "endOfLine": "lf", + "plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"], + "overrides": [ + { + "files": "*.astro", + "options": { + "parser": "astro" + } + } + ] +} diff --git a/.vscode/astro-paper.code-snippets b/.vscode/astro-paper.code-snippets new file mode 100644 index 0000000..869c4cb --- /dev/null +++ b/.vscode/astro-paper.code-snippets @@ -0,0 +1,34 @@ +{ + "Frontmatter": { + "scope": "markdown", + "prefix": "frontmatter", + "body": [ + "---", + "author: $1", + "pubDatetime: $CURRENT_YEAR-$CURRENT_MONTH-${CURRENT_DATE}T$CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND.000$CURRENT_TIMEZONE_OFFSET", + "modDatetime: $3", + "title: $4", + "featured: ${5|false,true|}", + "draft: ${6|true,false|}", + "tags:", + " - $7", + "description: $8", + "---", + ], + "description": "Adds the frontmatter block for the AstroPaper Blog post" + }, + "Blog Template": { + "scope": "markdown", + "prefix": "template", + "body": [ + "${1:frontmatter}", + "", + "${2: Introductory Sentence}", + "", + "## Table of contents", + "", + "## ${3: heading 1}", + ], + "description": "Adds the template for the AstroPaper Blog post. You will need to trigger the snippet modal on the 'frontmatter' line to insert the other snipper." + } +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/AstroPaper-lighthouse-score.svg b/AstroPaper-lighthouse-score.svg new file mode 100644 index 0000000..db86b3d --- /dev/null +++ b/AstroPaper-lighthouse-score.svg @@ -0,0 +1,159 @@ + + + + + + 100 + Performance + , + + + 100 + Accessibility + , + + + 100 + Best Practices + , + + + 100 + SEO + + + + + + + + + + + + + + 0-49 + 50-89 + 90-100 + + + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ba2934b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,312 @@ +# Changelog + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [4.2.0](https://github.com/satnaing/astro-paper/compare/v4.1.0...v4.2.0) (2024-01-22) + +### Features + +* add heading links to PostDetails page ([#232](https://github.com/satnaing/astro-paper/issues/232)) ([742baff](https://github.com/satnaing/astro-paper/commit/742baff2c9bd47e0762f5d65f5b47a4d28014175)) +* hide posts in Prod with future pubDatetime ([#234](https://github.com/satnaing/astro-paper/issues/234)) ([3efa05c](https://github.com/satnaing/astro-paper/commit/3efa05cc101688c32fc531af0122023d3ce82f08)) + +### Bug Fixes + +* remove extra padding if lightAndDarkMode is false ([#230](https://github.com/satnaing/astro-paper/issues/230)) ([742314e](https://github.com/satnaing/astro-paper/commit/742314e0ac350a70ce1cc256e858c8de9c9153f6)) +* reduce margin-bottom on markdown images ([#235](https://github.com/satnaing/astro-paper/issues/235)) ([1331795](https://github.com/satnaing/astro-paper/commit/1331795a4965aab5c47581c223f32f3ea2cd71ab)) +* resolve broken line break in inline code ([#237](https://github.com/satnaing/astro-paper/issues/237)) ([ece0682](https://github.com/satnaing/astro-paper/commit/ece0682adce387f2a169185680cdf372a457e938)) +* remove recent posts section if there's no post ([#238](https://github.com/satnaing/astro-paper/issues/238)) ([629dbfd](https://github.com/satnaing/astro-paper/commit/629dbfda5b99a71e629dbbf1845c3ceba5ac97e0)), closes [#204](https://github.com/satnaing/astro-paper/issues/204) +* update back button to redirect to home when no route history ([#241](https://github.com/satnaing/astro-paper/issues/241)) ([8f75f0a](https://github.com/satnaing/astro-paper/commit/8f75f0a5e75778a60e8030bb45b19289c0af502e)) + +### Others + +* upgrade astro and other dependencies ([e903b69](https://github.com/satnaing/astro-paper/commit/e903b699cd947301256de1e62ae0ad2d1dcd3c2b)) +* update code formatting with prettier ([424c422](https://github.com/satnaing/astro-paper/commit/424c422392d836516bfbb6004a234a1a57930be1)) +* add astro extension in lint-staged code formatting ([d41bb69](https://github.com/satnaing/astro-paper/commit/d41bb69cd8f441caa773a07d911adb3ade54b493)) +* update outdated prettier script ([1281b93](https://github.com/satnaing/astro-paper/commit/1281b9340a6bebd67628a8d4c56f318701ffde47)) + +## [4.1.0](https://github.com/satnaing/astro-paper/compare/v4.0.0...v4.1.0) (2024-01-10) + +### Features + +* update Astro and other dependencies ([f70a0b7](https://github.com/satnaing/astro-paper/commit/f70a0b78ed44350f6d1b00153ea0cc5b7d285043)) ([034dd39](https://github.com/satnaing/astro-paper/commit/034dd394abd4df5cb95fcfe975749cc535a6c05c)) +* add share links in blog post ([#215](https://github.com/satnaing/astro-paper/issues/215)) +* add copy buttons for code blocks ([#217](https://github.com/satnaing/astro-paper/issues/217)) + +### Bug Fixes + +* resolve accessibility issues ([#226](https://github.com/satnaing/astro-paper/issues/226)) +* solve modDatetime type errors ([#214](https://github.com/satnaing/astro-paper/issues/214)) +* remove SocialObjects type and update SocialObjects type ([#225](https://github.com/satnaing/astro-paper/issues/225)) + +### Others + +* adds blog post for how to add a social icon ([#221](https://github.com/satnaing/astro-paper/issues/221)) +* updates the hook post with a smarter updateHook ([#222](https://github.com/satnaing/astro-paper/issues/222)) +* update breadcrumbs delimiter to "Β»" ([#213](https://github.com/satnaing/astro-paper/issues/213)) + +## [4.0.0](https://github.com/satnaing/astro-paper/compare/v3.0.0...v4.0.0) (2024-01-04) + + +### ⚠ BREAKING CHANGES + +* Astro v4 upgrade + +### Features + +* add code-snippets for content creation ([#206](https://github.com/satnaing/astro-paper/issues/206)) ([bb2f290](https://github.com/satnaing/astro-paper/commit/bb2f29008a96a0333e4c3adda202d20909728dfe)) +* add docker-compose file ([#174](https://github.com/satnaing/astro-paper/issues/174)) ([fb3fa98](https://github.com/satnaing/astro-paper/commit/fb3fa98936d76331869641014d5b4568a84d8d42)), closes [#172](https://github.com/satnaing/astro-paper/issues/172) +* add image validation to schema ([e9d4303](https://github.com/satnaing/astro-paper/commit/e9d4303219bf312bc3955bb8af9aedb0eadb17cc)) +* add modified datetime in blog posts ([80e67a1](https://github.com/satnaing/astro-paper/commit/80e67a1dcad19394d7b466472f3c674470db8e0c)), closes [#134](https://github.com/satnaing/astro-paper/issues/134) +* add pagination in tag posts ([#201](https://github.com/satnaing/astro-paper/issues/201)) ([581826a](https://github.com/satnaing/astro-paper/commit/581826a5affd03d12416a5ac7d28ed17d53eac8d)), closes [#152](https://github.com/satnaing/astro-paper/issues/152) +* add transition effect if light/dark changes ([a060cb5](https://github.com/satnaing/astro-paper/commit/a060cb5c87f733c455ea247d72f88095f1ca769c)) +* add view transitions for card on search page ([#118](https://github.com/satnaing/astro-paper/issues/118)) ([6c7d04f](https://github.com/satnaing/astro-paper/commit/6c7d04fa12d006379157cf876c2826f606f124e9)) +* add ViewTransitions from Astro ([cbdaa59](https://github.com/satnaing/astro-paper/commit/cbdaa59baea1c5c5497227dd2fb276e8cf88b936)), closes [#96](https://github.com/satnaing/astro-paper/issues/96) +* default post author to site author ([20c8970](https://github.com/satnaing/astro-paper/commit/20c89709ada7e7c3f49460d6690d02999ba86d17)) +* dynamically generate robots.txt ([6352353](https://github.com/satnaing/astro-paper/commit/63523534703c1f95ac070452001070e2c3f74d5d)) +* generate og image using templates ([3032c18](https://github.com/satnaing/astro-paper/commit/3032c18321dfd4f001bc86c094881219bd2e22b7)) +* implement back-to-top button in blog post page ([c526157](https://github.com/satnaing/astro-paper/commit/c526157118b69ff68e3a653eee68428a791a7d9f)), closes [#156](https://github.com/satnaing/astro-paper/issues/156) +* og image routes ([300d014](https://github.com/satnaing/astro-paper/commit/300d014fd7a83f52020bdc21976de8487eb41f63)) +* replace slugified title with unslugified tag name ([#198](https://github.com/satnaing/astro-paper/issues/198)) ([b05b8fb](https://github.com/satnaing/astro-paper/commit/b05b8fb842b43f4f6462b425cb46d835579cbcfb)), closes [#179](https://github.com/satnaing/astro-paper/issues/179) +* support custom canonical URLs ([#83](https://github.com/satnaing/astro-paper/issues/83)) ([4687bd5](https://github.com/satnaing/astro-paper/commit/4687bd516b16970fc4d163c1202b28f29818a582)) +* update theme-color tag on theme switch ([f253776](https://github.com/satnaing/astro-paper/commit/f25377674ebc10f496ef6e5729b931d61ec67832)) + + +### Bug Fixes + +* [#133](https://github.com/satnaing/astro-paper/issues/133) update LOCALE config to cover overall locales ([cd02b04](https://github.com/satnaing/astro-paper/commit/cd02b047d2b5e3b4a2940c0ff30568cdebcec0b8)) +* [#72](https://github.com/satnaing/astro-paper/issues/72) replace SITE.website with a URL in astro.config site value ([26ecd17](https://github.com/satnaing/astro-paper/commit/26ecd173ddec1075abb6ede9bbb62572b9f74b33)) +* anchor oveflow on small screen size ([d025c91](https://github.com/satnaing/astro-paper/commit/d025c914d91a9b7969c8db4bd6a700723ef86a39)) +* **css:** text wrap in code blocks ([0c92492](https://github.com/satnaing/astro-paper/commit/0c92492959bed20f144d5d949116891d61c8e098)) +* decode unicode tag chars in breadcrumb ([#175](https://github.com/satnaing/astro-paper/issues/175)) ([058c790](https://github.com/satnaing/astro-paper/commit/058c790d26cbeab286679a8a8e3bad6c14042d6d)) +* get og image url correctly ([7f3edbd](https://github.com/satnaing/astro-paper/commit/7f3edbdecdce597d15e562e7d497d69af505d550)) +* **layout:** use 100svh for min-height on body instead of 100vh ([79d569d](https://github.com/satnaing/astro-paper/commit/79d569d053036f2113519f41b0d257523d035b76)), closes [#127](https://github.com/satnaing/astro-paper/issues/127) +* og image src ([6dffcf3](https://github.com/satnaing/astro-paper/commit/6dffcf3cb36a0dab6549ee249fe426b4ee931b06)) +* prevent white flash in dark mode when navigate ([9eeb8fc](https://github.com/satnaing/astro-paper/commit/9eeb8fc76ecfd45b79ab716305f1916491649c95)) +* remove empty string as ogImage ([b03b722](https://github.com/satnaing/astro-paper/commit/b03b7223694b4c215c6fce0a45ed4f03178081f4)) +* resolve single-line code block wrapping issue ([#121](https://github.com/satnaing/astro-paper/issues/121)) ([0af3251](https://github.com/satnaing/astro-paper/commit/0af32518b343430dd8510470efd3806509337de7)) +* solve invisible text code block issue in light-mode ([#163](https://github.com/satnaing/astro-paper/issues/163)) ([64b3a28](https://github.com/satnaing/astro-paper/commit/64b3a286e6e3ff1dff7cf4ca0fc8fafc222cabcd)) +* sort posts in [tag] page ([#101](https://github.com/satnaing/astro-paper/issues/101)) ([b571816](https://github.com/satnaing/astro-paper/commit/b571816dcddc72a07147389090502c09025b28a6)) +* update auto-gen OG images to allow special char usage in title ([1933a6b](https://github.com/satnaing/astro-paper/commit/1933a6beae7b4e2558b808d1f8a5c124f1244138)), closes [#103](https://github.com/satnaing/astro-paper/issues/103) [#88](https://github.com/satnaing/astro-paper/issues/88) +* update rss pubDate to prioritize modDatetime if exists ([e1514b4](https://github.com/satnaing/astro-paper/commit/e1514b41024bc10bcafcc4af548a6ebe0e093468)) +* update tailwind base styles config ([#116](https://github.com/satnaing/astro-paper/issues/116)) ([4a03558](https://github.com/satnaing/astro-paper/commit/4a0355865081d07d05d9d758f520e411952a1063)) +* update title of the blog nowrap ([87b3e5b](https://github.com/satnaing/astro-paper/commit/87b3e5b8cd7d424b3e43e6d5abed6d21195aa759)) + + +* build!(deps): upgrade Astro and related packages to v4 ([a1d3ddd](https://github.com/satnaing/astro-paper/commit/a1d3ddd18591843a35b3c05be762e1f8af1b8fb0)), closes [#187](https://github.com/satnaing/astro-paper/issues/187) + +## [3.0.0](https://github.com/satnaing/astro-paper/compare/v2.3.0...v3.0.0) (2023-09-25) + +### ⚠ BREAKING CHANGES + +* Astro v3 + +> Check the AstroPaper v3 in [this blog post](https://astro-paper.pages.dev/posts/astro-paper-v3/) + +### Features + +* upgrade to astro v3 ([8fda50f](https://github.com/satnaing/astro-paper/commit/8fda50f5ddb7130b7954ad217eed1848094ee33c)), closes [#111](https://github.com/satnaing/astro-paper/issues/111) +* add view transitions for card on search page ([#118](https://github.com/satnaing/astro-paper/issues/118)) ([b873ed5](https://github.com/satnaing/astro-paper/commit/b873ed5a07e746404960690669e8960c2a4c628d)) +* add ViewTransitions from Astro ([9703e54](https://github.com/satnaing/astro-paper/commit/9703e54ca4264b0437e06c45bbcc53a7a7d1e106)), closes [#96](https://github.com/satnaing/astro-paper/issues/96) +([b873ed5](https://github.com/satnaing/astro-paper/commit/b873ed5a07e746404960690669e8960c2a4c628d)), closes [#96](https://github.com/satnaing/astro-paper/issues/96) +* generate OG image using templates ([0f82206](https://github.com/satnaing/astro-paper/commit/0f822060cec82b218b568e9ef311fe6adc8b7a1e)) +* support custom canonical URLs ([#83](https://github.com/satnaing/astro-paper/issues/83)) ([4687bd5](https://github.com/satnaing/astro-paper/commit/4687bd516b16970fc4d163c1202b28f29818a582)) +* update theme-color tag on theme switch ([b5f5418](https://github.com/satnaing/astro-paper/commit/b5f54180c8645113ae4e177f3ebb97e1947dc9e2)) +* use new og images in layout ([ec3c691](https://github.com/satnaing/astro-paper/commit/ec3c69114f7344b27797853e2e5a573feb5c63fc)) + + +### Bug Fixes + +* replace SITE.website with a URL in astro.config site value ([26ecd17](https://github.com/satnaing/astro-paper/commit/26ecd173ddec1075abb6ede9bbb62572b9f74b33)), fixes [#72](https://github.com/satnaing/astro-paper/issues/72) +* **css:** make code scrollable in code blocks ([0c92492](https://github.com/satnaing/astro-paper/commit/0c92492959bed20f144d5d949116891d61c8e098)) +* remove empty string as ogImage ([5259994](https://github.com/satnaing/astro-paper/commit/5259994525b0b67a584b4268a3fbb74258871a3a)) +* resolve single-line code block wrapping issue ([#121](https://github.com/satnaing/astro-paper/issues/121)) ([8f08018](https://github.com/satnaing/astro-paper/commit/8f0801836a589133932dc5a450060fd2f16daf74)) +* sort posts in [tag] page ([#101](https://github.com/satnaing/astro-paper/issues/101)) ([b571816](https://github.com/satnaing/astro-paper/commit/b571816dcddc72a07147389090502c09025b28a6)) +* update auto-gen OG images to allow special char usage in title ([f26bf85](https://github.com/satnaing/astro-paper/commit/f26bf8581288523a0d6021a141cdada685fbce46)), closes [#103](https://github.com/satnaing/astro-paper/issues/103) [#88](https://github.com/satnaing/astro-paper/issues/88) +* update tailwind base styles config ([#116](https://github.com/satnaing/astro-paper/issues/116)) ([98a2bb6](https://github.com/satnaing/astro-paper/commit/98a2bb682af2773d6af7782a6592e9b9fab79b3b)) +* update title of the blog nowrap ([2df71b9](https://github.com/satnaing/astro-paper/commit/2df71b9b4587c7a2438f483e8365ef5b8a502ce7)) + +## [2.3.0](https://github.com/satnaing/astro-paper/compare/v2.2.0...v2.3.0) (2023-05-15) + + +### Features + +* add locale configuration for Datetime component ([#59](https://github.com/satnaing/astro-paper/issues/59)) ([0e9f709](https://github.com/satnaing/astro-paper/commit/0e9f709c5dbd9a75aaf33e7994e88216fd56d8be)) + + +### Bug Fixes + +* add missing sitemap in head ([#69](https://github.com/satnaing/astro-paper/issues/69)) ([f6ac810](https://github.com/satnaing/astro-paper/commit/f6ac8104b2ba20de3b71eb5dde395e5adce9dfe7)) +* build error astro@2.1.4 && update astro@2.1.5 ([#49](https://github.com/satnaing/astro-paper/issues/49)) ([dd4fd98](https://github.com/satnaing/astro-paper/commit/dd4fd989722cbcb3e98045e808a32292cf555900)) +* **ignore:** added yarn directories to ignorefiles ([f3e9cd5](https://github.com/satnaing/astro-paper/commit/f3e9cd51479fd41f3c0e8863ac13c77d6daa2605)) +* replace history entries when searching ([#62](https://github.com/satnaing/astro-paper/issues/62)) ([a57f343](https://github.com/satnaing/astro-paper/commit/a57f3439f801c1d41256a8a46bd319c17dff86f1)) +* slugify tags in post detail page ([49d7f77](https://github.com/satnaing/astro-paper/commit/49d7f77a86987c00d211090301b662e21a27ce17)) +* sort rss feed from latest to oldest ([#38](https://github.com/satnaing/astro-paper/issues/38)) ([9e62b63](https://github.com/satnaing/astro-paper/commit/9e62b637e8ddb65f5f274fd0154191212dda0590)) +* tailwind jsdoc for intellisense ([99709dd](https://github.com/satnaing/astro-paper/commit/99709dd3aa2329220a497f7038b7ab069d389847)) +* update lint-staged configuration ([e654c03](https://github.com/satnaing/astro-paper/commit/e654c0308c26ccffdd0a4abc50f0adb99c76d9ca)), closes [#52](https://github.com/satnaing/astro-paper/issues/52) +* update menu element with svg and refactor toggle logic ([0f76424](https://github.com/satnaing/astro-paper/commit/0f764242fea14565798085447d8524b4bf05f76a)) + +## [2.2.0](https://github.com/satnaing/astro-paper/compare/v2.1.0...v2.2.0) (2023-03-16) + + +### Features + +* generate og images in png format ([#43](https://github.com/satnaing/astro-paper/issues/43)) ([27507d1](https://github.com/satnaing/astro-paper/commit/27507d1d78531901c20a17d9ce72728c6cbb521e)), closes [#40](https://github.com/satnaing/astro-paper/issues/40) + + +### Bug Fixes + +* add plugin-search-dir in prettier write for pnpm ([e49ca61](https://github.com/satnaing/astro-paper/commit/e49ca61d6b7048a8e8b2f50b1d947fd91eaca3eb)), ([37b54af](https://github.com/satnaing/astro-paper/commit/37b54afd9471eb35588e09f1f33ae1634732b02c)), closes [#34](https://github.com/satnaing/astro-paper/issues/34) +* correct typo in blog posts ([cbce54b](https://github.com/satnaing/astro-paper/commit/cbce54bd1cf951c36a8603db8f7a8487481fc7f1)), closes [#35](https://github.com/satnaing/astro-paper/issues/35) +* slugifyAll typo ([bcae985](https://github.com/satnaing/astro-paper/commit/bcae9856712773887664bb3a3392e1ebfd78607b)) + +### Others + +* update Astro to v2.1.3 and enable type checking in dev ([329bc22](https://github.com/satnaing/astro-paper/commit/329bc22e97892e5687a841d580215c8fb2d44aa1)) +* add jampack for performance optimization ([#46](https://github.com/satnaing/astro-paper/pull/46)) ([b9254c1](https://github.com/satnaing/astro-paper/commit/b9254c15f1b382c2f3900b3371abce8975768dd9)) + +## [2.1.0](https://github.com/satnaing/astro-paper/compare/v2.0.0...v2.1.0) (2023-02-08) + + +### Features + +* add ESLint and update linting errors ([#26](https://github.com/satnaing/astro-paper/issues/26)) ([a9631d0](https://github.com/satnaing/astro-paper/commit/a9631d0e1e65ac4339c6b4d806b3a17928fa2b62)) + + +### Bug Fixes + +* make schema(s) strict ([#23](https://github.com/satnaing/astro-paper/issues/23)) ([dc026b3](https://github.com/satnaing/astro-paper/commit/dc026b38defa760d77eddcddb1d4f12fdf8fff99)) +* fix typo and remove unnecessary comments ([#24](https://github.com/satnaing/astro-paper/pull/24)) ([d9a2ffe](https://github.com/satnaing/astro-paper/commit/d9a2ffe9096e2419a740c5b98b57323fbf2f2cb0)) ([#25](https://github.com/satnaing/astro-paper/pull/25)) ([29e0776](https://github.com/satnaing/astro-paper/commit/29e07761f78fa24b307601bf2272a61e084a468b)) +* update dependencies + +## [2.0.0](https://github.com/satnaing/astro-paper/compare/v1.4.0...v2.0.0) (2023-01-31) + + +### ⚠ BREAKING CHANGES + +Check the AstroPaper v2 in [this blog post](https://astro-paper.pages.dev/posts/astro-paper-2/) + +* **deps:** Migration of Astro to version 2 + +### Features + +* add Mastodon social link ([2ec3912](https://github.com/satnaing/astro-paper/commit/2ec39128c65fd0b1dafd6aebd48ac3068f40f9c5)) +* add new predefined color scheme 'astro dark' ([bc263b6](https://github.com/satnaing/astro-paper/commit/bc263b6eac00fbc8ec62481f2ec0317ee11bc83a)) +* define blog schema and add blog collection ([b420e68](https://github.com/satnaing/astro-paper/commit/b420e688ca3a197a7e4ea2591193fd09da817ec7)) + + +### Bug Fixes + +* add embedFont option for Satori ([9322123](https://github.com/satnaing/astro-paper/commit/93221239ddaebaa9ab183871cf978548ea8d0ea5)) +* exclude draft posts in specific tag page ([c192cd8](https://github.com/satnaing/astro-paper/commit/c192cd8e5042d4481bcb0d0389866cf4a969aa8d)) +* fix broken tags in PostDetails page ([a61fd45](https://github.com/satnaing/astro-paper/commit/a61fd455594932c66380a358b81b8bebb9d604cc)) +* fix typo in title and slug ([945acf4](https://github.com/satnaing/astro-paper/commit/945acf4260e0ea79bde8b180835049eda07d3e6a)) +* hide social links section if no link is active ([42eb018](https://github.com/satnaing/astro-paper/commit/42eb0188896a8475a7fbb894775e5500ca8b7d35)), closes [#16](https://github.com/satnaing/astro-paper/issues/16) +* make the last part of breadcrumb lowercase in specific tag page ([c556202](https://github.com/satnaing/astro-paper/commit/c556202c972f1f9fed9af0ba6abf199e7deccc5f)) +* resolve initial onChange input value bug ([bf4f687](https://github.com/satnaing/astro-paper/commit/bf4f687d2d87cfeef96141c5324d02c37766845b)) +* update card bg color ([8a99601](https://github.com/satnaing/astro-paper/commit/8a99601e93f90c0870a22aa4a8ea8b7ff1b76a98)) +* use default-og for twitter card ([9434d85](https://github.com/satnaing/astro-paper/commit/9434d850e1f41f0802de5706c4c5712e5b5def9d)) + + +### build + +* **deps:** bump astro and its packages to v2 ([5f279b3](https://github.com/satnaing/astro-paper/commit/5f279b34f88bd94bed820d16c1e1d5e95859045f)) + +## [1.4.0](https://github.com/satnaing/astro-paper/compare/v1.3.0...v1.4.0) (2022-12-28) + + +### Features + +* generate dynamic og image for blog posts ([#15](https://github.com/satnaing/astro-paper/issues/15)) ([ce3f1dc](https://github.com/satnaing/astro-paper/commit/ce3f1dc4a0df8f196dce37de1c976870e9c97279)) + + +### Bug Fixes + +* fix grammar mistake ([02faff9](https://github.com/satnaing/astro-paper/commit/02faff9fbd4444144eeb139ae62850ec5a980dd3)) + +## [1.3.0](https://github.com/satnaing/astro-paper/compare/v1.2.1...v1.3.0) (2022-12-07) + + +### Features + +* update mobile nav to be accessible ([46ea4aa](https://github.com/satnaing/astro-paper/commit/46ea4aa49a49a3d21ca5ce1cee1b51f0108c13f0)) + +### [1.2.1](https://github.com/satnaing/astro-paper/compare/v1.2.0...v1.2.1) (2022-12-02) + + +### Bug Fixes + +* disable access to draft posts via url ([1c2821e](https://github.com/satnaing/astro-paper/commit/1c2821e4df65bee7126aed17244bb6590b1163d8)) +* display '0 results' instead of '0 result' in Search ([eceb289](https://github.com/satnaing/astro-paper/commit/eceb2895623cffefc65671fdfc343fa5e4c01cdb)) +* displays featured section only if featured posts exist ([e0f93da](https://github.com/satnaing/astro-paper/commit/e0f93dab02024d65ddb69925a21e8d8598a036e9)) +* fix calculating draft posts in totalPages ([19e34a0](https://github.com/satnaing/astro-paper/commit/19e34a0801019df8681d1d4e80f678989cf2457c)) +* hide pagination when there's only 1 page ([6b35c7f](https://github.com/satnaing/astro-paper/commit/6b35c7fc2f63bb16aaefc140029b1eae1235cc44)) + +## [1.2.0](https://github.com/satnaing/astro-paper/compare/v1.1.3...v1.2.0) (2022-11-28) + + +### Features + +* improve accessibility including voiceover ([5860254](https://github.com/satnaing/astro-paper/commit/5860254ea99996e466f2e521f033763961b6faa6)) +* add linkTitle in social links ([c9f796f](https://github.com/satnaing/astro-paper/commit/c9f796f4e63f1cf6b32b7874ae5e3810598a230c)) + + +### Updates + +* move toggle theme codes from `layouts/Layout.astro` to `toggle-theme.js` ([5860254](https://github.com/satnaing/astro-paper/commit/5860254ea99996e466f2e521f033763961b6faa6)) +* delete `utils/formatDatetime.ts` and replaced with `FormattedDatetime` inside `components/Datetime.tsx` ([0eeed8e](https://github.com/satnaing/astro-paper/commit/0eeed8e870781d9b4a447c51e3055ccb2f359d8a)) +* 'toggling light and dark mode' code is remove from `src/components/Header.astro` and is rewritten in `public/toggle-theme.js` file. ([2ba459b](https://github.com/satnaing/astro-paper/commit/2ba459b4131a11a68a5fd818a278c474c1888cde)) ([0eeed8e](https://github.com/satnaing/astro-paper/commit/0eeed8e870781d9b4a447c51e3055ccb2f359d8a)) +* update previous and next button disabled state ([408fc4c](https://github.com/satnaing/astro-paper/commit/408fc4c7aa5a246fe82a6e85d119b36ee1f1ffc3)) +* **typo:** rename Linkedin to LinkedIn ([307b55f](https://github.com/satnaing/astro-paper/commit/307b55ff0f6cb86a4fa4152c635d6acb39d1512f)) +* update patch and minor dependencies ([3b0ab75](https://github.com/satnaing/astro-paper/commit/3b0ab7555f506a8a0b825ca9691fdb221e481adb)) ([c3a6e4e](https://github.com/satnaing/astro-paper/commit/c3a6e4e81d1f79efc17d451486ff560dccb8ddf0)) + +### [1.1.3](https://github.com/satnaing/astro-paper/compare/v1.1.2...v1.1.3) (2022-11-11) + + +### Bug Fixes + +* fix broken post links and hide draft posts in rss feed ([b83c906](https://github.com/satnaing/astro-paper/commit/b83c906262cb5e1f045ac50f2401527c0b64074c)) + +### [1.1.2](https://github.com/satnaing/astro-paper/compare/v1.1.1...v1.1.2) (2022-11-04) + + +### Bug Fixes + +* fix heading style in posts/ layouts ([5eeea66](https://github.com/satnaing/astro-paper/commit/5eeea6639e79f93c3d0917bc827dfd37a23d041c)) +* fix missing TailwindCSS dependency ([e7807ab](https://github.com/satnaing/astro-paper/commit/e7807ab94e12898ab85b955132c5d908956c8945)), closes [#6](https://github.com/satnaing/astro-paper/issues/6) +* show search result only if input is more than one char ([f7fb032](https://github.com/satnaing/astro-paper/commit/f7fb032e604bd704adc19400e000c9584a6fdb43)) + +### [1.1.1](https://github.com/satnaing/astro-paper/compare/v1.1.0...v1.1.1) (2022-10-30) + + +### Updates + +* update github-slugger by @AkaraChen in https://github.com/satnaing/astro-paper/pull/5 +* move '@types/react' to dev dependencies ([3697a59](https://github.com/satnaing/astro-paper/commit/3697a59f1ab8b58af7d41c2ef4aa8ba97b9ad1e2)) +* update dependencies + +## [1.1.0](https://github.com/satnaing/astro-paper/compare/v1.0.1...v1.1.0) (2022-10-18) + +### Features + +* improve search functionality ([33bab9c](https://github.com/satnaing/astro-paper/commit/33bab9c489d74e1b53109d5f1e8f3586cfcb9433)) +* add CHANGELOG ([adb331e](https://github.com/satnaing/astro-paper/commit/adb331e219d122be696fb390ae41f0afaa5a76b9)) +* add prettier and husky ([d6dd818](https://github.com/satnaing/astro-paper/commit/d6dd8185f28cfae967cf90c9020580ebce5c36fd) | [80aee6b](https://github.com/satnaing/astro-paper/commit/80aee6bedbc1e40650411b0695f5365902d3b9e2)) + +### Bug Fixes + +* fix markdown lint warnings by updating headers ([ad14dc5](https://github.com/satnaing/astro-paper/commit/ad14dc580fbf886f5de95705ec7910c7c3b46bf0)) +* fix markdown warnings by adding alt texts ([3260641](https://github.com/satnaing/astro-paper/commit/326064111cbb7d356659252dd7ddd42dbd2d7e56)) +* extract Social component to avoid duplication ([7ef631f](https://github.com/satnaing/astro-paper/commit/7ef631fe35dc57db1c84e7c3c92969fa23ccd42b)) +* update glob to have access to sub directories under content/ ([a256ded](https://github.com/satnaing/astro-paper/commit/a256dedb73aaf018cedf764f38843ad176b27058)) + +## [1.0.1](https://github.com/satnaing/astro-paper/compare/v1.0.0...v1.0.1) (2022-09-27) Initial Release + +### Features + +- Fully responsive & accessible +- Pagination & draft post +- Light & dark color schemes +- 19 social link icons +- Fuzzy search +- Sitemap & RSS feed +- 5 predefined themes diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fa7c791 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Sat Naing + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1e05d7a --- /dev/null +++ b/README.md @@ -0,0 +1,158 @@ +# AstroPaper πŸ“„ + +![AstroPaper](public/astropaper-og.jpg) +![Typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white) +![GitHub](https://img.shields.io/github/license/satnaing/astro-paper?color=%232F3741&style=for-the-badge) +[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&logoColor=white&style=for-the-badge)](https://conventionalcommits.org) +[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge)](http://commitizen.github.io/cz-cli/) + +AstroPaper is a minimal, responsive, accessible and SEO-friendly Astro blog theme. This theme is designed and crafted based on [my personal blog](https://satnaing.dev/blog). + +This theme follows best practices and provides accessibility out of the box. Light and dark mode are supported by default. Moreover, additional color schemes can also be configured. + +This theme is self-documented \_ which means articles/posts in this theme can also be considered as documentations. Read [the blog posts](https://astro-paper.pages.dev/posts/) or check [the README Documentation Section](#-documentation) for more info. + +## πŸ”₯ Features + +- [x] type-safe markdown +- [x] super fast performance +- [x] accessible (Keyboard/VoiceOver) +- [x] responsive (mobile ~ desktops) +- [x] SEO-friendly +- [x] light & dark mode +- [x] fuzzy search +- [x] draft posts & pagination +- [x] sitemap & rss feed +- [x] followed best practices +- [x] highly customizable +- [x] dynamic OG image generation for blog posts [#15](https://github.com/satnaing/astro-paper/pull/15) ([Blog Post](https://astro-paper.pages.dev/posts/dynamic-og-image-generation-in-astropaper-blog-posts/)) + +_Note: I've tested screen-reader accessibility of AstroPaper using **VoiceOver** on Mac and **TalkBack** on Android. I couldn't test all other screen-readers out there. However, accessibility enhancements in AstroPaper should be working fine on others as well._ + +## βœ… Lighthouse Score + +

+ + AstroPaper Lighthouse Score + +

+ +## πŸš€ Project Structure + +Inside of AstroPaper, you'll see the following folders and files: + +```bash +/ +β”œβ”€β”€ public/ +β”‚ β”œβ”€β”€ assets/ +β”‚ β”‚ └── logo.svg +β”‚ β”‚ └── logo.png +β”‚ └── favicon.svg +β”‚ └── astropaper-og.jpg +β”‚ └── robots.txt +β”‚ └── toggle-theme.js +β”œβ”€β”€ src/ +β”‚ β”œβ”€β”€ assets/ +β”‚ β”‚ └── socialIcons.ts +β”‚ β”œβ”€β”€ components/ +β”‚ β”œβ”€β”€ content/ +β”‚ β”‚ | blog/ +β”‚ β”‚ | └── some-blog-posts.md +β”‚ β”‚ └── config.ts +β”‚ β”œβ”€β”€ layouts/ +β”‚ └── pages/ +β”‚ └── styles/ +β”‚ └── utils/ +β”‚ └── config.ts +β”‚ └── types.ts +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +Any static assets, like images, can be placed in the `public/` directory. + +All blog posts are stored in `src/content/blog` directory. + +## πŸ“– Documentation + +Documentation can be read in two formats\_ _markdown_ & _blog post_. + +- Configuration - [markdown](src/content/blog/how-to-configure-astropaper-theme.md) | [blog post](https://astro-paper.pages.dev/posts/how-to-configure-astropaper-theme/) +- Add Posts - [markdown](src/content/blog/adding-new-post.md) | [blog post](https://astro-paper.pages.dev/posts/adding-new-posts-in-astropaper-theme/) +- Customize Color Schemes - [markdown](src/content/blog/customizing-astropaper-theme-color-schemes.md) | [blog post](https://astro-paper.pages.dev/posts/customizing-astropaper-theme-color-schemes/) +- Predefined Color Schemes - [markdown](src/content/blog/predefined-color-schemes.md) | [blog post](https://astro-paper.pages.dev/posts/predefined-color-schemes/) + +> For AstroPaper v1, check out [this branch](https://github.com/satnaing/astro-paper/tree/astro-paper-v1) and this [live URL](https://astro-paper-v1.astro-paper.pages.dev/) + +## πŸ’» Tech Stack + +**Main Framework** - [Astro](https://astro.build/) +**Type Checking** - [TypeScript](https://www.typescriptlang.org/) +**Component Framework** - [ReactJS](https://reactjs.org/) +**Styling** - [TailwindCSS](https://tailwindcss.com/) +**UI/UX** - [Figma](https://figma.com) +**Fuzzy Search** - [FuseJS](https://fusejs.io/) +**Icons** - [Boxicons](https://boxicons.com/) | [Tablers](https://tabler-icons.io/) +**Code Formatting** - [Prettier](https://prettier.io/) +**Deployment** - [Cloudflare Pages](https://pages.cloudflare.com/) +**Illustration in About Page** - [https://freesvgillustration.com](https://freesvgillustration.com/) +**Linting** - [ESLint](https://eslint.org) + +## πŸ‘¨πŸ»β€πŸ’» Running Locally + +The easiest way to run this project locally is to run the following command in your desired directory. + +```bash +# npm 6.x +npm create astro@latest --template satnaing/astro-paper + +# npm 7+, extra double-dash is needed: +npm create astro@latest -- --template satnaing/astro-paper + +# yarn +yarn create astro --template satnaing/astro-paper +``` + +## Google Site Verification (optional) + +You can easily add your [Google Site Verification HTML tag](https://support.google.com/webmasters/answer/9008080#meta_tag_verification&zippy=%2Chtml-tag) in AstroPaper using environment variable. This step is optional. If you don't add the following env variable, the google-site-verification tag won't appear in the html `` section. + +```bash +# in your environment variable file (.env) +PUBLIC_GOOGLE_SITE_VERIFICATION=your-google-site-verification-value +``` + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +> **_Note!_** For `Docker` commands we must have it [installed](https://docs.docker.com/engine/install/) in your machine. + +| Command | Action | +| :----------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run format:check` | Check code format with Prettier | +| `npm run format` | Format codes with Prettier | +| `npm run sync` | Generates TypeScript types for all Astro modules. [Learn more](https://docs.astro.build/en/reference/cli-reference/#astro-sync). | +| `npm run cz` | Commit code changes with commitizen | +| `npm run lint` | Lint with ESLint | +| `docker compose up -d` | Run AstroPaper on docker, You can access with the same hostname and port informed on `dev` command. | +| `docker compose run app npm install` | You can run any command above into the docker container. | + +> **_Warning!_** Windows PowerShell users may need to install the [concurrently package](https://www.npmjs.com/package/concurrently) if they want to [run diagnostics](https://docs.astro.build/en/reference/cli-reference/#astro-check) during development (`astro check --watch & astro dev`). For more info, see [this issue](https://github.com/satnaing/astro-paper/issues/113). + +## ✨ Feedback & Suggestions + +If you have any suggestions/feedback, you can contact me via [my email](mailto:contact@satnaing.dev). Alternatively, feel free to open an issue if you find bugs or want to request new features. + +## πŸ“œ License + +Licensed under the MIT License, Copyright Β© 2023 + +--- + +Made with 🀍 by [Sat Naing](https://satnaing.dev) πŸ‘¨πŸ»β€πŸ’» and [contributors](https://github.com/satnaing/astro-paper/graphs/contributors). diff --git a/astro.config.ts b/astro.config.ts new file mode 100644 index 0000000..dbde794 --- /dev/null +++ b/astro.config.ts @@ -0,0 +1,40 @@ +import { defineConfig } from "astro/config"; +import tailwind from "@astrojs/tailwind"; +import react from "@astrojs/react"; +import remarkToc from "remark-toc"; +import remarkCollapse from "remark-collapse"; +import sitemap from "@astrojs/sitemap"; +import { SITE } from "./src/config"; + +// https://astro.build/config +export default defineConfig({ + site: SITE.website, + integrations: [ + tailwind({ + applyBaseStyles: false, + }), + react(), + sitemap(), + ], + markdown: { + remarkPlugins: [ + remarkToc, + [ + remarkCollapse, + { + test: "Table of contents", + }, + ], + ], + shikiConfig: { + theme: "one-dark-pro", + wrap: true, + }, + }, + vite: { + optimizeDeps: { + exclude: ["@resvg/resvg-js"], + }, + }, + scopedStyleStrategy: "where", +}); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..58355f7 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3' + +services: + app: + image: node:18 + ports: + - 4321:4321 + working_dir: /app + command: npm run dev -- --host 0.0.0.0 + volumes: + - ./:/app diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..01afed0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13598 @@ +{ + "name": "astro-paper", + "version": "4.2.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "astro-paper", + "version": "4.2.0", + "dependencies": { + "@astrojs/check": "^0.4.1", + "@astrojs/rss": "^4.0.2", + "@resvg/resvg-js": "^2.6.0", + "astro": "^4.2.1", + "fuse.js": "^7.0.0", + "github-slugger": "^2.0.0", + "remark-collapse": "^0.1.2", + "remark-toc": "^9.0.0", + "satori": "^0.10.11", + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3" + }, + "devDependencies": { + "@astrojs/react": "^3.0.9", + "@astrojs/sitemap": "^3.0.5", + "@astrojs/tailwind": "^5.1.0", + "@divriots/jampack": "^0.23.2", + "@tailwindcss/typography": "^0.5.10", + "@types/github-slugger": "^1.3.0", + "@types/react": "^18.2.48", + "@typescript-eslint/parser": "^6.19.0", + "astro-eslint-parser": "^0.16.2", + "commitizen": "^4.3.0", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^8.56.0", + "eslint-plugin-astro": "^0.31.3", + "husky": "^8.0.3", + "lint-staged": "^15.2.0", + "prettier": "^3.2.4", + "prettier-plugin-astro": "^0.13.0", + "prettier-plugin-tailwindcss": "^0.5.11", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.4.1.tgz", + "integrity": "sha512-XEsuU4TlWkgcsvdeessq5mXLXV1fejtxIioCPv/FfhTzb1bDYe2BtLiSBK+rFTyD9Hl686YOas9AGNMJcpoRsw==", + "dependencies": { + "@astrojs/language-server": "^2.6.2", + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1", + "kleur": "^4.1.5", + "yargs": "^17.7.2" + }, + "bin": { + "astro-check": "dist/bin.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.5.7.tgz", + "integrity": "sha512-dFU7GAMbpTUGPkRoCoMQrGFlTe3qIiQMSOxIXp/nB1Do4My9uogjEmBHdR5Cwr4i6rc5/1R3Od9v8kU/pkHXGQ==", + "devOptional": true + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.2.1.tgz", + "integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==" + }, + "node_modules/@astrojs/language-server": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.6.2.tgz", + "integrity": "sha512-RYzPRhS/WBXK5JtfR+0+nGj+N3VbJd5jU/uSNUev9baUx/RLmUwDk1f6Oy8QDEfDDLAr76Ig8YeDD/nxPdBSLw==", + "dependencies": { + "@astrojs/compiler": "^2.4.0", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@volar/kit": "~1.11.1", + "@volar/language-core": "~1.11.1", + "@volar/language-server": "~1.11.1", + "@volar/language-service": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@volar/typescript": "~1.11.1", + "fast-glob": "^3.2.12", + "muggle-string": "^0.3.1", + "volar-service-css": "0.0.17", + "volar-service-emmet": "0.0.17", + "volar-service-html": "0.0.17", + "volar-service-prettier": "0.0.17", + "volar-service-typescript": "0.0.17", + "volar-service-typescript-twoslash-queries": "0.0.17", + "vscode-html-languageservice": "^5.1.0", + "vscode-uri": "^3.0.8" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/language-server/node_modules/@astrojs/compiler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.4.1.tgz", + "integrity": "sha512-4M6G6UBI84gPYzyN6jSG3c+jeZ3dBVOnGPzp47SS5ayc2tsWhbXZ4nnNWGJU+ESiQ6ScjywJnpddxTO2w41Qeg==" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.1.0.tgz", + "integrity": "sha512-JnIy6zk+6f/SgSVMZecZFxQt0faT1uBckwYCuBxKH1hYYJsal8OOe+tx6JxfnyaV+xViyjUvQ28mmn+p/F5LkQ==", + "dependencies": { + "@astrojs/prism": "^3.0.0", + "github-slugger": "^2.0.0", + "import-meta-resolve": "^4.0.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.0", + "remark-gfm": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "remark-smartypants": "^2.0.0", + "shikiji": "^0.9.18", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.0.0.tgz", + "integrity": "sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==", + "dependencies": { + "prismjs": "^1.29.0" + }, + "engines": { + "node": ">=18.14.1" + } + }, + "node_modules/@astrojs/react": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-3.0.9.tgz", + "integrity": "sha512-31J5yF5p9yBFV1axBooLA9PB4B2+MYm7swWhtlezSsJiUNXRFo5Is9qI3teJ7cKgmaCv+ZA593Smskko0NGaDQ==", + "dev": true, + "dependencies": { + "@vitejs/plugin-react": "^4.2.0", + "ultrahtml": "^1.3.0" + }, + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21", + "@types/react-dom": "^17.0.17 || ^18.0.6", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + } + }, + "node_modules/@astrojs/rss": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.2.tgz", + "integrity": "sha512-Hb9GKAyvsn5EUjZtB6SniesBScMQe7SQinEHLY5EFa74QEvgcWaXTmA0Mb0P3vqDSN3d/NTYbGivprrSAawfnA==", + "dependencies": { + "fast-xml-parser": "^4.2.7", + "kleur": "^4.1.5" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.0.5.tgz", + "integrity": "sha512-60eLzNjMza3ABypiQPUC6ElOSZNZeY5CwSwgJ03hfeonl+Db9x12CCzBFdTw7A5Mq+O54xEZVUrR0tB+yWgX8w==", + "dev": true, + "dependencies": { + "sitemap": "^7.1.1", + "zod": "^3.22.4" + } + }, + "node_modules/@astrojs/tailwind": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-5.1.0.tgz", + "integrity": "sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==", + "dev": true, + "dependencies": { + "autoprefixer": "^10.4.15", + "postcss": "^8.4.28", + "postcss-load-config": "^4.0.2" + }, + "peerDependencies": { + "astro": "^3.0.0 || ^4.0.0", + "tailwindcss": "^3.0.24" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.0.4.tgz", + "integrity": "sha512-A+0c7k/Xy293xx6odsYZuXiaHO0PL+bnDoXOc47sGDF5ffIKdKQGRPFl2NMlCF4L0NqN4Ynbgnaip+pPF0s7pQ==", + "dependencies": { + "ci-info": "^3.8.0", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.2", + "is-docker": "^3.0.0", + "is-wsl": "^3.0.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": ">=18.14.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "17.6.7", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.6.7.tgz", + "integrity": "sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/types": "^17.4.4", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", + "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.7.1.tgz", + "integrity": "sha512-S/QSOjE1ztdogYj61p6n3UbkUvweR17FQ0zDbNtoTLc+Hz7vvfS7ehoTMQ27hPSjVBpp7SzEcOQu081RLjKHJQ==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.6.7", + "@commitlint/execute-rule": "^17.4.0", + "@commitlint/resolve-extends": "^17.6.7", + "@commitlint/types": "^17.4.4", + "@types/node": "20.4.7", + "chalk": "^4.1.0", + "cosmiconfig": "^8.0.0", + "cosmiconfig-typescript-loader": "^4.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0", + "ts-node": "^10.8.1", + "typescript": "^4.6.4 || ^5.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/load/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/load/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@commitlint/load/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "node_modules/@commitlint/load/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/load/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "17.6.7", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz", + "integrity": "sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==", + "dev": true, + "optional": true, + "dependencies": { + "@commitlint/config-validator": "^17.6.7", + "@commitlint/types": "^17.4.4", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/types": { + "version": "17.4.4", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz", + "integrity": "sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ==", + "dev": true, + "optional": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v14" + } + }, + "node_modules/@commitlint/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@commitlint/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "node_modules/@commitlint/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "optional": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "optional": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@divriots/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/@divriots/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-kQUVEgMDj0yE7LOdrDhKOC8JkfUzUKsUqp8m9WQDiSxim8Bnga+80opjXaCtHLhO3/W3DIZMow8QXtXUqNS+zA==", + "dev": true, + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "encoding-sniffer": "^0.0.2", + "htmlparser2": "^9.0.0", + "parse5": "^7.1.2", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^5.22.1", + "whatwg-mimetype": "^3.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/@divriots/jampack": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@divriots/jampack/-/jampack-0.23.2.tgz", + "integrity": "sha512-8mTmLwZ0DNVXkEHa1EH+8FUnCWihAabTFFsmtR+/OetVPS3nGPEUxygS8Grp6UZU7Ml0XdAlc0PO80vLym6OqA==", + "dev": true, + "dependencies": { + "@divriots/cheerio": "1.0.0-rc.12", + "@proload/core": "^0.3.3", + "@swc/core": "^1.3.100", + "add": "^2.0.6", + "browserslist": "^4.22.2", + "commander": "^10.0.1", + "critters": "^0.0.20", + "deepmerge": "^4.3.1", + "esbuild": "^0.19.9", + "file-type": "^18.7.0", + "globby": "^13.2.2", + "hasha": "^5.2.2", + "html-minifier-terser": "^7.2.0", + "kleur": "^4.1.5", + "lightningcss": "^1.22.1", + "mini-svg-data-uri": "^1.4.4", + "ora": "^7.0.1", + "quicklink": "^2.3.0", + "sharp": "^0.33.0", + "svgo": "^3.1.0", + "table": "^6.8.1", + "undici": "^5.24.0", + "unpic": "^3.16.0" + }, + "bin": { + "jampack": "dist/index.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@divriots/jampack/node_modules/quicklink": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz", + "integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==", + "dev": true, + "dependencies": { + "route-manifest": "^1.0.0", + "throttles": "^1.0.0" + }, + "peerDependencies": { + "react": "^16.8.0", + "react-dom": "^16.8.0" + } + }, + "node_modules/@divriots/jampack/node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@divriots/jampack/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/@divriots/jampack/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" + }, + "node_modules/@emnapi/runtime": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.44.0.tgz", + "integrity": "sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==", + "dev": true, + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz", + "integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz", + "integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz", + "integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz", + "integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz", + "integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz", + "integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz", + "integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz", + "integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz", + "integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz", + "integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz", + "integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz", + "integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz", + "integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz", + "integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz", + "integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz", + "integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz", + "integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz", + "integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz", + "integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz", + "integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz", + "integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz", + "integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz", + "integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", + "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.1.tgz", + "integrity": "sha512-esr2BZ1x0bo+wl7Gx2hjssYhjrhUsD88VQulI0FrG8/otRQUOxLWHMBd1Y1qo2Gfg2KUvXNpT0ASnV9BzJCexw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.1.tgz", + "integrity": "sha512-YrnuB3bXuWdG+hJlXtq7C73lF8ampkhU3tMxg5Hh+E7ikxbUVOU9nlNtVTloDXz6pRHt2y2oKJq7DY/yt+UXYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.0.tgz", + "integrity": "sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=11", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.0.tgz", + "integrity": "sha512-dD9OznTlHD6aovRswaPNEy8dKtSAmNo4++tO7uuR4o5VxbVAOoEQ1uSmN4iFAdQneTHws1lkTZeiXPrcCkh6IA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=10.13", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.0.tgz", + "integrity": "sha512-VwgD2eEikDJUk09Mn9Dzi1OW2OJFRQK+XlBTkUNmAWPrtj8Ly0yq05DFgu1VCMx2/DqCGQVi5A1dM9hTmxf3uw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.0.tgz", + "integrity": "sha512-xTYThiqEZEZc0PRU90yVtM3KE7lw1bKdnDQ9kCTHWbqWyHOe4NpPOtMGy27YnN51q0J5dqRrvicfPbALIOeAZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.0.tgz", + "integrity": "sha512-o9E46WWBC6JsBlwU4QyU9578G77HBDT1NInd+aERfxeOPbk0qBZHgoDsQmA2v9TbqJRWzoBPx1aLOhprBMgPjw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.0.tgz", + "integrity": "sha512-naldaJy4hSVhWBgEjfdBY85CAa4UO+W1nx6a1sWStHZ7EUfNiuBTTN2KUYT5dH1+p/xij1t2QSXfCiFJoC5S/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.0.tgz", + "integrity": "sha512-OdorplCyvmSAPsoJLldtLh3nLxRrkAAAOHsGWGDYfN0kh730gifK+UZb3dWORRa6EusNqCTjfXV4GxvgJ/nPDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.0.tgz", + "integrity": "sha512-FW8iK6rJrg+X2jKD0Ajhjv6y74lToIBEvkZhl42nZt563FfxkCYacrXZtd+q/sRQDypQLzY5WdLkVTbJoPyqNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.1.tgz", + "integrity": "sha512-Ii4X1vnzzI4j0+cucsrYA5ctrzU9ciXERfJR633S2r39CiD8npqH2GMj63uFZRCFt3E687IenAdbwIpQOJ5BNA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.1.tgz", + "integrity": "sha512-59B5GRO2d5N3tIfeGHAbJps7cLpuWEQv/8ySd9109ohQ3kzyCACENkFVAnGPX00HwPTQcaBNF7HQYEfZyZUFfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.1.tgz", + "integrity": "sha512-tRGrb2pHnFUXpOAj84orYNxHADBDIr0J7rrjwQrTNMQMWA4zy3StKmMvwsI7u3dEZcgwuMMooIIGWEWOjnmG8A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.0" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.1.tgz", + "integrity": "sha512-4y8osC0cAc1TRpy02yn5omBeloZZwS62fPZ0WUAYQiLhSFSpWJfY/gMrzKzLcHB9ulUV6ExFiu2elMaixKDbeg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.1.tgz", + "integrity": "sha512-D3lV6clkqIKUizNS8K6pkuCKNGmWoKlBGh5p0sLO2jQERzbakhu4bVX1Gz+RS4vTZBprKlWaf+/Rdp3ni2jLfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.0" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.1.tgz", + "integrity": "sha512-LOGKNu5w8uu1evVqUAUKTix2sQu1XDRIYbsi5Q0c/SrXhvJ4QyOx+GaajxmOg5PZSsSnCYPSmhjHHsRBx06/wQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.0" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.1.tgz", + "integrity": "sha512-vWI/sA+0p+92DLkpAMb5T6I8dg4z2vzCUnp8yvxHlwBpzN8CIcO3xlSXrLltSvK6iMsVMNswAv+ub77rsf25lA==", + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/runtime": "^0.44.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.1.tgz", + "integrity": "sha512-/xhYkylsKL05R+NXGJc9xr2Tuw6WIVl2lubFJaFYfW4/MQ4J+dgjIo/T4qjNRizrqs/szF/lC9a5+updmY9jaQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.1.tgz", + "integrity": "sha512-XaM69X0n6kTEsp9tVYYLhXdg7Qj32vYJlAKRutxUsm1UlgQNx6BOhHwZPwukCGXBU2+tH87ip2eV1I/E8MQnZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "devOptional": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@proload/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@proload/core/-/core-0.3.3.tgz", + "integrity": "sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==", + "dev": true, + "dependencies": { + "deepmerge": "^4.2.2", + "escalade": "^3.1.1" + } + }, + "node_modules/@resvg/resvg-js": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.6.0.tgz", + "integrity": "sha512-Tf3YpbBKcQn991KKcw/vg7vZf98v01seSv6CVxZBbRkL/xyjnoYB6KgrFL6zskT1A4dWC/vg77KyNOW+ePaNlA==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@resvg/resvg-js-android-arm-eabi": "2.6.0", + "@resvg/resvg-js-android-arm64": "2.6.0", + "@resvg/resvg-js-darwin-arm64": "2.6.0", + "@resvg/resvg-js-darwin-x64": "2.6.0", + "@resvg/resvg-js-linux-arm-gnueabihf": "2.6.0", + "@resvg/resvg-js-linux-arm64-gnu": "2.6.0", + "@resvg/resvg-js-linux-arm64-musl": "2.6.0", + "@resvg/resvg-js-linux-x64-gnu": "2.6.0", + "@resvg/resvg-js-linux-x64-musl": "2.6.0", + "@resvg/resvg-js-win32-arm64-msvc": "2.6.0", + "@resvg/resvg-js-win32-ia32-msvc": "2.6.0", + "@resvg/resvg-js-win32-x64-msvc": "2.6.0" + } + }, + "node_modules/@resvg/resvg-js-android-arm-eabi": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.6.0.tgz", + "integrity": "sha512-lJnZ/2P5aMocrFMW7HWhVne5gH82I8xH6zsfH75MYr4+/JOaVcGCTEQ06XFohGMdYRP3v05SSPLPvTM/RHjxfA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-android-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.6.0.tgz", + "integrity": "sha512-N527f529bjMwYWShZYfBD60dXA4Fux+D695QsHQ93BDYZSHUoOh1CUGUyICevnTxs7VgEl98XpArmUWBZQVMfQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.6.0.tgz", + "integrity": "sha512-MabUKLVayEwlPo0mIqAmMt+qESN8LltCvv5+GLgVga1avpUrkxj/fkU1TKm8kQegutUjbP/B0QuMuUr0uhF8ew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-darwin-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.6.0.tgz", + "integrity": "sha512-zrFetdnSw/suXjmyxSjfDV7i61hahv6DDG6kM7BYN2yJ3Es5+BZtqYZTcIWogPJedYKmzN1YTMWGd/3f0ubFiA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm-gnueabihf": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.6.0.tgz", + "integrity": "sha512-sH4gxXt7v7dGwjGyzLwn7SFGvwZG6DQqLaZ11MmzbCwd9Zosy1TnmrMJfn6TJ7RHezmQMgBPi18bl55FZ1AT4A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-gnu": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.6.0.tgz", + "integrity": "sha512-fCyMncqCJtrlANADIduYF4IfnWQ295UKib7DAxFXQhBsM9PLDTpizr0qemZcCNadcwSVHnAIzL4tliZhCM8P6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-arm64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.6.0.tgz", + "integrity": "sha512-ouLjTgBQHQyxLht4FdMPTvuY8xzJigM9EM2Tlu0llWkN1mKyTQrvYWi6TA6XnKdzDJHy7ZLpWpjZi7F5+Pg+Vg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-gnu": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.6.0.tgz", + "integrity": "sha512-n3zC8DWsvxC1AwxpKFclIPapDFibs5XdIRoV/mcIlxlh0vseW1F49b97F33BtJQRmlntsqqN6GMMqx8byB7B+Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-linux-x64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.6.0.tgz", + "integrity": "sha512-n4tasK1HOlAxdTEROgYA1aCfsEKk0UOFDNd/AQTTZlTmCbHKXPq+O8npaaKlwXquxlVK8vrkcWbksbiGqbCAcw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-arm64-msvc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.6.0.tgz", + "integrity": "sha512-X2+EoBJFwDI5LDVb51Sk7ldnVLitMGr9WwU/i21i3fAeAXZb3hM16k67DeTy16OYkT2dk/RfU1tP1wG+rWbz2Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-ia32-msvc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.6.0.tgz", + "integrity": "sha512-L7oevWjQoUgK5W1fCKn0euSVemhDXVhrjtwqpc7MwBKKimYeiOshO1Li1pa8bBt5PESahenhWgdB6lav9O0fEg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@resvg/resvg-js-win32-x64-msvc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.6.0.tgz", + "integrity": "sha512-8lJlghb+Unki5AyKgsnFbRJwkEj9r1NpwyuBG8yEJiG1W9eEGl03R3I7bsVa3haof/3J1NlWf0rzSa1G++A2iw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", + "integrity": "sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz", + "integrity": "sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz", + "integrity": "sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz", + "integrity": "sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz", + "integrity": "sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz", + "integrity": "sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz", + "integrity": "sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz", + "integrity": "sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz", + "integrity": "sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz", + "integrity": "sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz", + "integrity": "sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", + "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", + "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shuding/opentype.js": { + "version": "1.4.0-beta.0", + "resolved": "https://registry.npmjs.org/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz", + "integrity": "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==", + "dependencies": { + "fflate": "^0.7.3", + "string.prototype.codepointat": "^0.2.1" + }, + "bin": { + "ot": "bin/ot" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@swc/core": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.101.tgz", + "integrity": "sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.1", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.101", + "@swc/core-darwin-x64": "1.3.101", + "@swc/core-linux-arm-gnueabihf": "1.3.101", + "@swc/core-linux-arm64-gnu": "1.3.101", + "@swc/core-linux-arm64-musl": "1.3.101", + "@swc/core-linux-x64-gnu": "1.3.101", + "@swc/core-linux-x64-musl": "1.3.101", + "@swc/core-win32-arm64-msvc": "1.3.101", + "@swc/core-win32-ia32-msvc": "1.3.101", + "@swc/core-win32-x64-msvc": "1.3.101" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz", + "integrity": "sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz", + "integrity": "sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz", + "integrity": "sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz", + "integrity": "sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz", + "integrity": "sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz", + "integrity": "sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz", + "integrity": "sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz", + "integrity": "sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz", + "integrity": "sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.101", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz", + "integrity": "sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz", + "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==", + "dev": true + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", + "dev": true + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.10.tgz", + "integrity": "sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "optional": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "optional": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "optional": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "optional": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", + "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "node_modules/@types/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/nlcst": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.4.tgz", + "integrity": "sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/nlcst/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/@types/node": { + "version": "20.4.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.7.tgz", + "integrity": "sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==", + "devOptional": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "node_modules/@types/ungap__structured-clone": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@types/ungap__structured-clone/-/ungap__structured-clone-0.3.0.tgz", + "integrity": "sha512-eBWREUhVUGPze+bUW22AgUr05k8u+vETzuYdLYSvWqGTUe0KOf+zVnOB1qER5wMcw8V6D9Ar4DfJmVvD1yu0kQ==" + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", + "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", + "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", + "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", + "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", + "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@volar/kit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-1.11.1.tgz", + "integrity": "sha512-nqO+Hl9f1ygOK/3M7Hpnw0lhKvuMFhh823nilStpkTmm5WfrUnE+4WaQkb3dC6LM3TZq74j2m88yxRC+Z3sZZw==", + "dependencies": { + "@volar/language-service": "1.11.1", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/language-server": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-1.11.1.tgz", + "integrity": "sha512-XYG4HcML2qimQV9UouQ7c1GuuqQw1NXoNDxAOAcfyYlz43P+HgzGQx4QEou+QMGHJeYIN86foDvkTN3fcopw9A==", + "dependencies": { + "@volar/language-core": "1.11.1", + "@volar/language-service": "1.11.1", + "@volar/typescript": "1.11.1", + "@vscode/l10n": "^0.0.16", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-1.11.1.tgz", + "integrity": "sha512-dKo8z1UzQRPHnlXxwfONGrasS1wEWXMoLQiohZ8KgWqZALbekZCwdGImLZD4DeFGNjk3HTTdfeCzo3KjwohjEQ==", + "dependencies": { + "@volar/language-core": "1.11.1", + "@volar/source-map": "1.11.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.2.tgz", + "integrity": "sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz", + "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==" + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/add/-/add-2.0.6.tgz", + "integrity": "sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q==", + "dev": true + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "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==", + "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==", + "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==" + }, + "node_modules/ansi-align/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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "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==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "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==" + }, + "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==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astro": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.2.1.tgz", + "integrity": "sha512-TcrveW2/lohmljrbTUgcDxajEdF1yK+zBvb7SXroloGix/d4jkegO6GANFgvyy0zprMyajW7qgJEFyhWUX86Vw==", + "dependencies": { + "@astrojs/compiler": "^2.3.4", + "@astrojs/internal-helpers": "0.2.1", + "@astrojs/markdown-remark": "4.1.0", + "@astrojs/telemetry": "3.0.4", + "@babel/core": "^7.23.3", + "@babel/generator": "^7.23.3", + "@babel/parser": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.5", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "@types/babel__core": "^7.20.4", + "acorn": "^8.11.2", + "aria-query": "^5.3.0", + "axobject-query": "^4.0.0", + "boxen": "^7.1.1", + "chokidar": "^3.5.3", + "ci-info": "^4.0.0", + "clsx": "^2.0.0", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.6.0", + "debug": "^4.3.4", + "deterministic-object-hash": "^2.0.1", + "devalue": "^4.3.2", + "diff": "^5.1.0", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "es-module-lexer": "^1.4.1", + "esbuild": "^0.19.6", + "estree-walker": "^3.0.3", + "execa": "^8.0.1", + "fast-glob": "^3.3.2", + "flattie": "^1.1.0", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "http-cache-semantics": "^4.1.1", + "js-yaml": "^4.1.0", + "kleur": "^4.1.4", + "magic-string": "^0.30.3", + "mdast-util-to-hast": "13.0.2", + "mime": "^3.0.0", + "ora": "^7.0.1", + "p-limit": "^5.0.0", + "p-queue": "^8.0.1", + "path-to-regexp": "^6.2.1", + "preferred-pm": "^3.1.2", + "probe-image-size": "^7.2.3", + "prompts": "^2.4.2", + "rehype": "^13.0.1", + "resolve": "^1.22.4", + "semver": "^7.5.4", + "server-destroy": "^1.0.1", + "shikiji": "^0.9.18", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0", + "tsconfck": "^3.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.1", + "vite": "^5.0.10", + "vitefu": "^0.2.5", + "which-pm": "^2.1.1", + "yargs-parser": "^21.1.1", + "zod": "^3.22.4" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": ">=18.14.1", + "npm": ">=6.14.0" + }, + "optionalDependencies": { + "sharp": "^0.32.6" + } + }, + "node_modules/astro-eslint-parser": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/astro-eslint-parser/-/astro-eslint-parser-0.16.2.tgz", + "integrity": "sha512-JJ/AlnPEiFgu5Tuuj9AxkSjiyobg2x7hjiXpglZtyzN2Bkj7GSXVppDQL6oavwtk0kHOAAkvyuJJ+8cC5c1NqQ==", + "dev": true, + "dependencies": { + "@astrojs/compiler": "^2.0.0", + "@typescript-eslint/scope-manager": "^5.0.0", + "@typescript-eslint/types": "^5.0.0", + "astrojs-compiler-sync": "^0.3.0", + "debug": "^4.3.4", + "entities": "^4.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.8" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/astro-eslint-parser/node_modules/@astrojs/compiler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.1.0.tgz", + "integrity": "sha512-Mp+qrNhly+27bL/Zq8lGeUY+YrdoU0eDfIlAeGIPrzt0PnI/jGpvPUdCaugv4zbCrDkOUScFfcbeEiYumrdJnw==", + "dev": true + }, + "node_modules/astro-eslint-parser/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/astro-eslint-parser/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/astro-eslint-parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/astro/node_modules/@astrojs/compiler": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.3.4.tgz", + "integrity": "sha512-33/YtWoBCE0cBUNy1kh78FCDXBoBANX87ShgATlAHECYbG2+buNTAgq4Xgz4t5NgnEHPN21GIBC2Mvvwisoutw==" + }, + "node_modules/astro/node_modules/ci-info": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/astro/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astro/node_modules/rollup": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", + "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.1", + "@rollup/rollup-android-arm64": "4.9.1", + "@rollup/rollup-darwin-arm64": "4.9.1", + "@rollup/rollup-darwin-x64": "4.9.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.1", + "@rollup/rollup-linux-arm64-gnu": "4.9.1", + "@rollup/rollup-linux-arm64-musl": "4.9.1", + "@rollup/rollup-linux-riscv64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-musl": "4.9.1", + "@rollup/rollup-win32-arm64-msvc": "4.9.1", + "@rollup/rollup-win32-ia32-msvc": "4.9.1", + "@rollup/rollup-win32-x64-msvc": "4.9.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "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/astro/node_modules/vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.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", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/astrojs-compiler-sync": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/astrojs-compiler-sync/-/astrojs-compiler-sync-0.3.3.tgz", + "integrity": "sha512-LbhchWgsvjvRBb5n5ez8/Q/f9ZKViuox27VxMDOdTUm8MRv9U7phzOiLue5KluqTmC0z1LId4gY2SekvoDrkuw==", + "dev": true, + "dependencies": { + "synckit": "^0.8.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "@astrojs/compiler": ">=0.27.0" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "optional": true + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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==" + }, + "node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "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==", + "dev": true + }, + "node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "devOptional": true + }, + "node_modules/buffer/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001572", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz", + "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "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==", + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "dev": true, + "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/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/cliui/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==" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "devOptional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "devOptional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "devOptional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "devOptional": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/commitizen": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.3.0.tgz", + "integrity": "sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==", + "dev": true, + "dependencies": { + "cachedir": "2.3.0", + "cz-conventional-changelog": "3.3.0", + "dedent": "0.7.0", + "detect-indent": "6.1.0", + "find-node-modules": "^2.1.2", + "find-root": "1.1.0", + "fs-extra": "9.1.0", + "glob": "7.2.3", + "inquirer": "8.2.5", + "is-utf8": "^0.2.1", + "lodash": "4.17.21", + "minimist": "1.2.7", + "strip-bom": "4.0.0", + "strip-json-comments": "3.1.1" + }, + "bin": { + "commitizen": "bin/commitizen", + "cz": "bin/git-cz", + "git-cz": "bin/git-cz" + }, + "engines": { + "node": ">= 12" + } + }, + "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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/conventional-commit-types": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz", + "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "optional": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz", + "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=4" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "optional": true + }, + "node_modules/critters": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", + "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-background-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/css-background-parser/-/css-background-parser-0.1.0.tgz", + "integrity": "sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==" + }, + "node_modules/css-box-shadow": { + "version": "1.0.0-3", + "resolved": "https://registry.npmjs.org/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz", + "integrity": "sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==" + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "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-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "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==", + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/cz-conventional-changelog": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.3.0.tgz", + "integrity": "sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "commitizen": "^4.0.3", + "conventional-commit-types": "^3.0.0", + "lodash.map": "^4.5.1", + "longest": "^2.0.1", + "word-wrap": "^1.0.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@commitlint/load": ">6.1.1" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-browser/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/default-browser/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "devOptional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "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==", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==" + }, + "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==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "dev": true, + "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/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "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/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dset": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.616", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", + "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==" + }, + "node_modules/emmet": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.6.tgz", + "integrity": "sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==", + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" + }, + "node_modules/encoding-sniffer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.0.2.tgz", + "integrity": "sha512-c0VAA4I8IhhcXLe1W6wkAVvzImTFjWY1gns0FfNXkr8wCrU4x1RD2Y81PJgBmTJWGimtM8tJAV0poDNbSxL4vQ==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^2.0.0" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "optional": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/esbuild": { + "version": "0.19.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", + "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.10", + "@esbuild/android-arm": "0.19.10", + "@esbuild/android-arm64": "0.19.10", + "@esbuild/android-x64": "0.19.10", + "@esbuild/darwin-arm64": "0.19.10", + "@esbuild/darwin-x64": "0.19.10", + "@esbuild/freebsd-arm64": "0.19.10", + "@esbuild/freebsd-x64": "0.19.10", + "@esbuild/linux-arm": "0.19.10", + "@esbuild/linux-arm64": "0.19.10", + "@esbuild/linux-ia32": "0.19.10", + "@esbuild/linux-loong64": "0.19.10", + "@esbuild/linux-mips64el": "0.19.10", + "@esbuild/linux-ppc64": "0.19.10", + "@esbuild/linux-riscv64": "0.19.10", + "@esbuild/linux-s390x": "0.19.10", + "@esbuild/linux-x64": "0.19.10", + "@esbuild/netbsd-x64": "0.19.10", + "@esbuild/openbsd-x64": "0.19.10", + "@esbuild/sunos-x64": "0.19.10", + "@esbuild/win32-arm64": "0.19.10", + "@esbuild/win32-ia32": "0.19.10", + "@esbuild/win32-x64": "0.19.10" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.4.1.tgz", + "integrity": "sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==", + "dev": true, + "dependencies": { + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-astro": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-astro/-/eslint-plugin-astro-0.31.3.tgz", + "integrity": "sha512-dxNT4cusvLiWFT0ebTd7HP9GixZbua7QYARD1ilqhJEANCSJA7RIas57vnD1PHNDCdYyTit7JU4NDPLWkcG2HA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "@typescript-eslint/types": "^5.25.0", + "astro-eslint-parser": "^0.16.0", + "eslint-compat-utils": "^0.4.0", + "postcss": "^8.4.14", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-astro/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "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==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "optional": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", + "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-type": { + "version": "18.7.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.7.0.tgz", + "integrity": "sha512-ihHtXRzXEziMrQ56VSgU7wkxh55iNchFkosu7Y9/S+tXHdKyrGjVK0ujbqNnsxzea+78MaLhN6PGmfYSAv1ACw==", + "dev": true, + "dependencies": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-node-modules": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz", + "integrity": "sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==", + "dev": true, + "dependencies": { + "findup-sync": "^4.0.0", + "merge": "^2.1.1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/flattie": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.0.tgz", + "integrity": "sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "optional": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "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, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/fuse.js": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", + "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "optional": true + }, + "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==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "optional": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "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==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz", + "integrity": "sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==", + "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.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.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-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==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "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.0", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", + "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.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.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.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-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==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hex-rgb": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", + "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/htmlparser2": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz", + "integrity": "sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "devOptional": true + }, + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inquirer/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/inquirer/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "optional": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "optional": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.22.1.tgz", + "integrity": "sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==", + "devOptional": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.22.1", + "lightningcss-darwin-x64": "1.22.1", + "lightningcss-freebsd-x64": "1.22.1", + "lightningcss-linux-arm-gnueabihf": "1.22.1", + "lightningcss-linux-arm64-gnu": "1.22.1", + "lightningcss-linux-arm64-musl": "1.22.1", + "lightningcss-linux-x64-gnu": "1.22.1", + "lightningcss-linux-x64-musl": "1.22.1", + "lightningcss-win32-x64-msvc": "1.22.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.1.tgz", + "integrity": "sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.1.tgz", + "integrity": "sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.1.tgz", + "integrity": "sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.1.tgz", + "integrity": "sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.1.tgz", + "integrity": "sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.1.tgz", + "integrity": "sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.1.tgz", + "integrity": "sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.1.tgz", + "integrity": "sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.1.tgz", + "integrity": "sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lint-staged": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", + "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "dev": true, + "dependencies": { + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.0", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/lint-staged/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/listr2": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", + "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.3.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "dev": true, + "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/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "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/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/load-yaml-file/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/load-yaml-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "optional": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "optional": true + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-update": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "dev": true, + "dependencies": { + "type-fest": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", + "dev": true, + "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/log-update/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "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/longest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz", + "integrity": "sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", + "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "optional": true + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "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.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "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-find-and-replace/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "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-from-markdown/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "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.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "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.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "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==", + "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==", + "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==", + "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-heading-range": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/mdast-util-heading-range/-/mdast-util-heading-range-2.1.5.tgz", + "integrity": "sha512-jXbFD0C+MfRkwsaze+btzG9CmVrxnc5kpcJLtx3SvSlPWnNdGMlDRHKDB9/TIPEq9nRHnkixppT8yvaUJ5agJg==", + "dependencies": { + "mdast-util-to-string": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "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.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "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" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "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-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-markdown/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-toc": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-7.0.0.tgz", + "integrity": "sha512-C28UcSqjmnWuvgT8d97qpaItHKvySqVPAECUzqQ51xuMyNFFJwcFoKW77KoMjtXrclTidLQFDzLUmTmrshRweA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/ungap__structured-clone": "^0.3.0", + "@ungap/structured-clone": "^1.0.0", + "github-slugger": "^2.0.0", + "mdast-util-to-string": "^4.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-toc/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==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/merge": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/merge/-/merge-2.1.1.tgz", + "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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==", + "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.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "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.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "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.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "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.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "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==", + "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.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "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.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "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.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "devOptional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "optional": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "optional": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/needle": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", + "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nlcst-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", + "integrity": "sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==", + "dependencies": { + "@types/nlcst": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abi": { + "version": "3.54.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.54.0.tgz", + "integrity": "sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", + "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "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.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.2.tgz", + "integrity": "sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-css-color": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/parse-css-color/-/parse-css-color-0.2.1.tgz", + "integrity": "sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==", + "dependencies": { + "color-name": "^1.1.4", + "hex-rgb": "^4.1.0" + } + }, + "node_modules/parse-css-color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "optional": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-latin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz", + "integrity": "sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==", + "dependencies": { + "nlcst-to-string": "^3.0.0", + "unist-util-modify-children": "^3.0.0", + "unist-util-visit-children": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/prebuild-install/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/prebuild-install/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/prebuild-install/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/preferred-pm": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", + "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/preferred-pm/node_modules/which-pm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "devOptional": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-astro": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.13.0.tgz", + "integrity": "sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g==", + "devOptional": true, + "dependencies": { + "@astrojs/compiler": "^1.5.5", + "prettier": "^3.0.0", + "sass-formatter": "^0.7.6" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.11.tgz", + "integrity": "sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==", + "dev": true, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + }, + "prettier-plugin-twig-melody": { + "optional": true + } + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/probe-image-size": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", + "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "dependencies": { + "lodash.merge": "^4.6.2", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, + "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==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "optional": true + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "peer": true + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regexparam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz", + "integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/rehype": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", + "integrity": "sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==", + "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.0", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.0.tgz", + "integrity": "sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==", + "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==", + "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.0", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.0.tgz", + "integrity": "sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==", + "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/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-collapse": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/remark-collapse/-/remark-collapse-0.1.2.tgz", + "integrity": "sha512-x2lhtaT4nR1Tkp/hftoeiMHbdAntxu5Q9D6lymwMqUtoF2pg3bqNaa8NO/8yyOVhddYk0d0dkhGc+avGUf0lZA==", + "dependencies": { + "mdast-util-heading-range": "^2.0.1", + "mdast-util-to-string": "^1.0.2" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "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==", + "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.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "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": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-2.1.0.tgz", + "integrity": "sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==", + "dependencies": { + "retext": "^8.1.0", + "retext-smartypants": "^5.2.0", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=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==", + "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/remark-toc": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-9.0.0.tgz", + "integrity": "sha512-KJ9txbo33GjDAV1baHFze7ij4G8c7SGYoY8Kzsm2gzFpbhL/bSoVpMMzGa3vrNDSWASNd/3ppAqL7cP2zD6JIA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-toc": "^7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "optional": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/retext": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz", + "integrity": "sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "retext-latin": "^3.0.0", + "retext-stringify": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-3.1.0.tgz", + "integrity": "sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "parse-latin": "^5.0.0", + "unherit": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/retext-latin/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz", + "integrity": "sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "nlcst-to-string": "^3.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/retext-smartypants/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz", + "integrity": "sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "nlcst-to-string": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/retext-stringify/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/retext/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.1.tgz", + "integrity": "sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==", + "devOptional": true, + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/route-manifest": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/route-manifest/-/route-manifest-1.0.0.tgz", + "integrity": "sha512-qn0xJr4nnF4caj0erOLLAHYiNyzqhzpUbgDQcEHrmBoG4sWCDLnIXLH7VccNSxe9cWgbP2Kw/OjME+eH3CeRSA==", + "dev": true, + "dependencies": { + "regexparam": "^1.3.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/run-applescript/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/s.color": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", + "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", + "devOptional": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass-formatter": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.8.tgz", + "integrity": "sha512-7fI2a8THglflhhYis7k06eUf92VQuJoXzEs2KRP0r1bluFxKFvLx0Ns7c478oYGM0fPfrr846ZRWVi2MAgHt9Q==", + "devOptional": true, + "dependencies": { + "suf-log": "^2.5.3" + } + }, + "node_modules/satori": { + "version": "0.10.11", + "resolved": "https://registry.npmjs.org/satori/-/satori-0.10.11.tgz", + "integrity": "sha512-yLm1xPRPZUaKcBZJ6nmezoJjHB4MqV8x7Mu0PyZUJodRWRDD27UbeMwzuY9LEGG57WYLO4CQsGPlbHWV1Ex9TQ==", + "dependencies": { + "@shuding/opentype.js": "1.4.0-beta.0", + "css-background-parser": "^0.1.0", + "css-box-shadow": "1.0.0-3", + "css-to-react-native": "^3.0.0", + "emoji-regex": "^10.2.1", + "escape-html": "^1.0.3", + "linebreak": "^1.1.0", + "parse-css-color": "^0.2.1", + "postcss-value-parser": "^4.2.0", + "yoga-wasm-web": "^0.3.3" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" + }, + "node_modules/sharp": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.1.tgz", + "integrity": "sha512-iAYUnOdTqqZDb3QjMneBKINTllCJDZ3em6WaWy7NPECM4aHncvqHRm0v0bN9nqJxMiwamv5KIdauJ6lUzKDpTQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "semver": "^7.5.4" + }, + "engines": { + "libvips": ">=8.15.0", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.1", + "@img/sharp-darwin-x64": "0.33.1", + "@img/sharp-libvips-darwin-arm64": "1.0.0", + "@img/sharp-libvips-darwin-x64": "1.0.0", + "@img/sharp-libvips-linux-arm": "1.0.0", + "@img/sharp-libvips-linux-arm64": "1.0.0", + "@img/sharp-libvips-linux-s390x": "1.0.0", + "@img/sharp-libvips-linux-x64": "1.0.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.0", + "@img/sharp-libvips-linuxmusl-x64": "1.0.0", + "@img/sharp-linux-arm": "0.33.1", + "@img/sharp-linux-arm64": "0.33.1", + "@img/sharp-linux-s390x": "0.33.1", + "@img/sharp-linux-x64": "0.33.1", + "@img/sharp-linuxmusl-arm64": "0.33.1", + "@img/sharp-linuxmusl-x64": "0.33.1", + "@img/sharp-wasm32": "0.33.1", + "@img/sharp-win32-ia32": "0.33.1", + "@img/sharp-win32-x64": "0.33.1" + } + }, + "node_modules/sharp/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shikiji": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz", + "integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==", + "dependencies": { + "shikiji-core": "0.9.19" + } + }, + "node_modules/shikiji-core": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", + "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "devOptional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "devOptional": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dev": true, + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "devOptional": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "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==" + }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", + "dependencies": { + "debug": "2" + } + }, + "node_modules/stream-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stream-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", + "optional": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "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.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "dev": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/suf-log": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", + "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", + "devOptional": true, + "dependencies": { + "s.color": "0.0.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.1.0.tgz", + "integrity": "sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "css-what": "^6.1.0", + "csso": "5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/table/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/table/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "optional": true, + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "optional": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/terser": { + "version": "5.19.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", + "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "devOptional": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "devOptional": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throttles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttles/-/throttles-1.0.1.tgz", + "integrity": "sha512-fab7Xg+zELr9KOv4fkaBoe/b3L0GMGLd0IBSCn16GoE/Qx6/OfCr1eGNyEcDU2pUA79qQfZ8kPQWlRuok4YwTw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "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==" + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "dev": true, + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "optional": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "optional": true + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "optional": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfck": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.0.tgz", + "integrity": "sha512-w3wnsIrJNi7avf4Zb0VjOoodoO0woEqGgZGQm+LHH9przdUI+XDKsWAXwxHA1DaRTjeuZNcregSzr7RaA8zG9A==", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==" + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.2.tgz", + "integrity": "sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/ultrahtml": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.2.tgz", + "integrity": "sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==", + "dev": true + }, + "node_modules/undici": { + "version": "5.26.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.3.tgz", + "integrity": "sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw==", + "dev": true, + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/unherit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.1.tgz", + "integrity": "sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "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/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.1.tgz", + "integrity": "sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==", + "dependencies": { + "@types/unist": "^2.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "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==", + "dependencies": { + "@types/unist": "^3.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==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "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": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.2.tgz", + "integrity": "sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpic": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/unpic/-/unpic-3.16.0.tgz", + "integrity": "sha512-XXvQGL+fvzwEX3aPXggTCrzySFPqvpC8r1LKy5ft9573AoX8CrszmA0uOzi6xgylCvvqFg46IDOudJKzM2lQ5A==", + "dev": true + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "optional": true + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "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.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "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": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "devOptional": true, + "peer": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "devOptional": true, + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.17.tgz", + "integrity": "sha512-bEDJykygMzn2+a9ud6KwZZLli9eqarxApAXZuf2CqJJh6Trw1elmbBCo9SlPfqMrIhpFnwV0Sa+Xoc9x5WPeGw==", + "dependencies": { + "vscode-css-languageservice": "^6.2.10", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~1.11.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.17.tgz", + "integrity": "sha512-C6hVnuQL52MqaydkrblYUbzIo5ZmIGo1hR8wmpcCjs5uNcjqn8aPqZRfznhLiUSaPHpFC+zQxJwFcZI9/u2iKQ==", + "dependencies": { + "@vscode/emmet-helper": "^2.9.2", + "volar-service-html": "0.0.17" + }, + "peerDependencies": { + "@volar/language-service": "~1.11.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.17.tgz", + "integrity": "sha512-OGkP+ZTo13j/+enafGe+esXvda/W4eU78YNLbbHxtV3rnX4odVrewenLJmXiECg6wdQz/PG8rLijZqQnDUYkfw==", + "dependencies": { + "vscode-html-languageservice": "^5.1.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~1.11.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.17.tgz", + "integrity": "sha512-YYnzZ+OT0M3Bx+xKuoAfs/uVuxk7ofz4dkZDQqjwa9iC63Ay4YGqONtmHd+xsO3lufkEBXlAQCbofDeZbSz3YQ==", + "peerDependencies": { + "@volar/language-service": "~1.11.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.17.tgz", + "integrity": "sha512-Krs8pOIo2yoBVoJ91hKT1czhWt9ek7EbuK3MxxgvDYdd4HYHOtHi1eOlb7bFnZMNgFcwsL48yQI9vbPm160s9A==", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.5.4", + "typescript-auto-import-cache": "^0.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~1.11.0", + "@volar/typescript": "~1.11.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.17.tgz", + "integrity": "sha512-6FHXK5AWeFzCL6uGmEcbkZmQsaQ0m9IjbeLdgOIQ4KGvauqT2aA1BhdfDJu6vRAFIfXe7xjEJ85keIlHl72tSA==", + "peerDependencies": { + "@volar/language-service": "~1.11.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.2.11", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.11.tgz", + "integrity": "sha512-qn49Wa6K94LnizpVxmlYrcPf1Cb36gq1nNueW0COhi4shylXBzET5wuDbH8ZWQlJD0HM5Mmnn7WE9vQVVs+ULA==", + "dependencies": { + "@vscode/l10n": "^0.0.16", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.1.1.tgz", + "integrity": "sha512-JenrspIIG/Q+93R6G3L6HdK96itSisMynE0glURqHpQbL3dKAKzdm8L40lAHNkwJeBg+BBPpAshZKv/38onrTQ==", + "dependencies": { + "@vscode/l10n": "^0.0.16", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.1.1.tgz", + "integrity": "sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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==" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoga-wasm-web": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz", + "integrity": "sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==" + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "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==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b17eb61 --- /dev/null +++ b/package.json @@ -0,0 +1,63 @@ +{ + "name": "astro-paper", + "version": "4.2.0", + "private": false, + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build && jampack ./dist", + "preview": "astro preview", + "sync": "astro sync", + "astro": "astro", + "format:check": "prettier --check . --plugin=prettier-plugin-astro", + "format": "prettier --write . --plugin=prettier-plugin-astro", + "cz": "cz", + "prepare": "husky install", + "lint": "eslint ." + }, + "dependencies": { + "@astrojs/check": "^0.4.1", + "@astrojs/rss": "^4.0.2", + "@resvg/resvg-js": "^2.6.0", + "astro": "^4.2.1", + "fuse.js": "^7.0.0", + "github-slugger": "^2.0.0", + "remark-collapse": "^0.1.2", + "remark-toc": "^9.0.0", + "satori": "^0.10.11", + "tailwindcss": "^3.4.1", + "typescript": "^5.3.3" + }, + "devDependencies": { + "@astrojs/react": "^3.0.9", + "@astrojs/sitemap": "^3.0.5", + "@astrojs/tailwind": "^5.1.0", + "@divriots/jampack": "^0.23.2", + "@tailwindcss/typography": "^0.5.10", + "@types/github-slugger": "^1.3.0", + "@types/react": "^18.2.48", + "@typescript-eslint/parser": "^6.19.0", + "astro-eslint-parser": "^0.16.2", + "commitizen": "^4.3.0", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^8.56.0", + "eslint-plugin-astro": "^0.31.3", + "husky": "^8.0.3", + "lint-staged": "^15.2.0", + "prettier": "^3.2.4", + "prettier-plugin-astro": "^0.13.0", + "prettier-plugin-tailwindcss": "^0.5.11", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,md,mdx,json,astro}": [ + "prettier --write --plugin=prettier-plugin-astro" + ] + } +} diff --git a/public/assets/dev.svg b/public/assets/dev.svg new file mode 100644 index 0000000..60e4f51 --- /dev/null +++ b/public/assets/dev.svg @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/forrest-gump-quote.webp b/public/assets/forrest-gump-quote.webp new file mode 100644 index 0000000000000000000000000000000000000000..7223f43be80141d87ec9a2fe8a5ad652a08f2395 GIT binary patch literal 27316 zcmZ6SQBPbEPWoA{%y@4GV88 z^Rear=J;pSFZ?Ux>*SeYs6$=4a+heMkRP|H8xXb>{Zx+OOzI{cU7>X2Q?) ztNn-Iq384G`6sm}Dd+pM?+4>S;!}Q9|A=75Z@|y)tKs|Zqhx|J^LfWT8)41+0X9JjbHqa{B_3<$NS9W zOpt)$&)yHiE#K$ON9pIzT~9JTrdU|!M~aybEMG?;-6Vi_XLmB;FLp&^?osR}`9(}g zk5ko5eprhuK2lGcn)&R&Ml11VFUZtaO2+x*Yuj%=)#Od@Rp(Q~t4$<31EAyYBh6e9 z1iRfRX8;1n3-#>#f_|HtC%fG_q(AS@W+lt1;q?VoUGD#^Gv4ap9~3Q!uQmFwZ5)1c z{>Sp;Lx7j}$#+aIcTnwgfX6?3JJYaSNclr#HNU}E>iPX=EToC%;?92m5u$@wn?FS6 zmvT6P7N*y4u95<)jQ`qZ4RRIW(L&g5F8av$d}2?XYJkwDrrGN5m%VSnrpdnrxYe^Y6eX->n(i)Xc^V3ucAd89vlGg$*T!HtJ(TGmb3}A6M)0^d5Ymsc6Ju zd%8;5DDuS)E#?mIlkXC`v+egxK~~nJ?TIm0&-8dkXDfSgQaJeGD!#YF*WWKwMT@#i z#h>w|vPeol_is(>N<(QVl|Rf#qTAYfb|{=RNUdTeETOBF9)UueV>`I4*guAS(CuLV z{&O_D;d7*n&)1MGjDR1#-6$t3dH=UyBI5GN`JU4$=jEfqI?s6o&N>1hJKD4F_b0@l z!GeYj3@O1emiM~a2in>Z_23oacZ6)e&u6-vZwCXq*-hNeC&G>xoa{q#P8C}Ts# z(I2r2BfJ|S(LVS_Yt{{x1vk-vZ;vbsvw($c?1s|i;FHnjbH4_KRe~rDDB0-gT%CB3_zM-ZrZpC zzyJ{^jp6I&4vLEc&cC^13}|s{92u~r{ba7xBHcSDW6KD>KNuO>28&Cm+#`@STl!Qh3fF}sGc0L6ir*C@*T>+m7$I?hPK zX`$ptU6t?qFCn0e{38N}dW2id`?-Yr(JptV?b>8)gH>ghy{m8nwVXi%1E8a-=yx{N z0DM#Jpym^Yf!}T`-J3Y|BEVEn@1{O_JTU(f(mUdVpQBDYE7*@Fi0_`5A`YDU-h^Kz z(`Q?8`?*R6pDQjm`?@Q$4ID3kzN)$I{lk0d8MFDbNNan7q9PPbq)sh&MT8n;WaNE-DN@(6Pch+K?x zQg-1qsTF$wumAmWjCe<@1x#ug*jZiA4un^_PuT<>ph&-KW7leuWTP})FfI&frM_M?wR ziWEX*tk`5GqHL@>Eg-k&JR&!MIi~Rw-IjvYKy*I*PP}eeby^Z>Zneg|Z)4 z>03;#%BA#&P6o8}oc9g4_#fGCfu16g`eZG2}DKhPAmK9{uTmP#- z<&<1QR#Uf81Kg+s2g^troo>ZTfdWZ?VTo)of-QY-^`XxzlAF4MnA&8;z{b|g?BIi) zUHFoz#JlWOP4-hRvD^Eb&w}-#AA=e-@Q1i(Ln%G~5Ea+D;uj}AnD&c!(-!tW*?bxz zM^YtGHP)}cUF8XOzRhsy55BvJfXi--K#lx@etrYLgHoc}>)u7#1& zQkD=BDm>yAagpUBCze>?=pJ5;{WY=fbx|2oXv<9s!DA{B#J_;P=t_9$0?q-1PW6D; zgOecg5WDf+yJx^)kFk|caDm(y zM(>@OBH5igHow&_4t|lYz|`>KRv|aA;~iFRu#Ku#427*q)lrW4gmhUdhQWW`U%=gkHM&OjuiP~_i7}1?PDB_YnxF)wWUMx$J6PD)GAa0iR7lvNoByws z%Plcf#RNRw#$8k!o%HdLvF1S@wz|POu~imR+bdZLzrobt+DmtW}45tmC@6(n)W@N*1SA2FDMB;}d; zgoW#y1EpenLku$({kNU|HyTWQ`CZM7fk<`nCR#XF5*C#`tnlYjOZfX+mga#aT>g2q zUwwrfGnHHrpdL!E+B{IzmdYk<<;=@D_tzpF#rx4YD}x5!fmwlHf|bR+xV_%oNZy3p zkOigyuDlZ0jQdm$?}Ih#A(}`TEd4LX{}*kv2bSvIS0{Om|L#H(t(??S>|iVDRES=# zJ~5J$9fL0%ra5(a@OiGcjF#$4y~t+}o$N5#L>Sh&shnaLzD3W(1N=%Bhx^F=BPr%U zehEMx1)5?CQ5)7u(y^X#(=&X6L2iPO4X%e;*z>>3VMO9^$7s^7OM~LLs;O)4g~R1x z2~w#>1O8|{xUgv7{V%HdFD{YtaWai`jBmjhSr;JRDRTeQE>2@dLbVxeVyC{x8_F?U zZnrj(@PU7HE!TE?@(~HIX2paH&#G~+u1`-=O^qrXrx`*EG7$VtZ9^$5*~GAFsatbb zy`PWNHGbs6K+K!H3#5f}99vEXx*4Uai)*HiDX7~RWya4|wRYBw>8W@=t2oV+^n}{D zJC>PdW+(haU=mM_Q!Hv4JY`C7mH0nQ_b>3W4DDQOVnyPro>dM}Q5&A+ywJ)$Dhrj) z8crh0bITc9k6$C+>NX~YUM2!XJ91dRsEoilHv3_vQ~D0CNlj?I?_}20HOV$YuqI&_ zG(Z`>eR(d(T!mxnFhPgdXMR$x^laf@Vs#Fi(Pw;&&bCjClp1C>O4oEPmYQZoM}7d7+{e==NqGRi=~H20xMe}{d||;DUC%M;6~i314HVLFy*UUG;Mx>$DYy<}r{PI-fK#>`{dL^rYI81=Hr-FaDiUzX#KE~G9pRPcK5=sOp}?d&2}1ko^6a5c!8;-S4Z+63Hkx{1vs*sBhU(Sgh4 zc~a%xKURJT^);j{cVJ#3Bdb~%J36`T?lHPOvE73e+Y5UBU$^_;)NMXAY5DgM-#t|& zh*1J;;T_d)AqY#Jfd&<*cnyE|+Y>M~86vkn%@64n{Wa0)J#CYTBp??Yn%_w}YN6Zh znL4e%RlX39r_zxD4oo1MBloEV_bKcB=c|UB$m5{NdO8^W4epgP*b_KOQ!{Xp@rRQDR7C zO*Rsf`I+&LxQXe-eVv04_z5a>Y9Sow!8*>AaGc@fb1IcRs6Hx#{c4~n;N?zy?iC~5U{JVdRps$X9`p10X^$`CNh1phv#|Is z@A5zO{U34w;M-rT{`sdPxki8>$ZGS>0s{Jt$+WOp8KwkjHy^s-Ty@t_RuLI5ZvfHH zgM;XPJ%M+G($*%z8OIvi238PM3UjS8C-XUK$7IXKUT^#GFWdM(%R-Tc#L;yU&-Z;Z zb3eSgF!gnqcz=Psjvj}ksu)h8^DfWKSu8~;*!=WQf0MQQr7PSYK*~=w+ zdFZK%*)cFu8Daip(?7 zTGCpOm+cXapM>4-f?wgGVVk9-*H>fxQ6N#d|J4NRJsJZQXX=G&&eTs*RRx!G$P3wzf$rps1{y_5XL2@S@moHr?+OqH0Z{!gX|ZGyxw;2asC=Qc79?(&DLU zD<5YJ`mC!5Ba^J^z92c6uD!)7P1B#B$nd{&>~E4lbII|PiV(Tu&mVKHb2b-B9^T6B zYVSdlTR5GTRlu*~(_2dOL_U{Jzw(}%Y-sa^rd4r>ul6T}8|i-zeXrF)L~vSpasO{n zRvtvl+PF@mmVi9|Dupe+yn?jDY_vDgWxEZWWTEw~T8|Mw7opd`8SL&*3kI5l3c$p7nk?wRYLwsQrk4R znyaO(N#`T2myP43^D>4~-pJmUC8eUZNd2dM|DW2O3&uGM7G24e3QR0loKUcRsdMaO zXs0EFe^G;PLT^|ej{gVMn}8rl$?4Rp^5M%6!NPO7=}TX?^x>*%Nj{j!i#E-IO}~>y zzP1+JelDn+qhG@q{>EmQ_s*F=?!PAp|0vLp#s1?Tntq-O7hN1Ac0N3EK%cN9lRE@1 zOW*5Qiwg6^RH}~p9ACQ&2wBv8Wa6G^_}{4ZPto7*g5~Sn-0CB(K-{{30@V9V(9XLs zZR*(wG5x#9{r@i}T9eSfGZ30Uy$lEI?(IV<@$HZ2?0%+g%k+PS8 zL7v#N%npO+?r9$(juhi~DkFFl;fk*GEm@O)g|MxK?UoGK(!A;Ib0JZv8u}P zVE}+fZ*4smH2^#oi5(xdhZ@c05M=*J19r-*7l2bofvPhHed`?tswY!-@tNf6lm zzH7-5#k8!@a$va^bZ-}coa4F(s;#!N3;@_nqxBQ`XLxLe-M3_QR;Fvvtw!KMyKbFY zi(Y~A$iQf}D1O~&i4M&&lojmn9vlf{zPZojM%-ERXBS$Q>i5r`x(0^eM?2ik$=oWb zgW_S%*)E6&08(HTN6H|OH5arij|E=q_3I_@DVqoiB_mL!_dU8u8cnZ_bVYS>^b@pj zdm+%)wTlP{ZjqGTJuv}b*Yz=?_ZyBl7xE==$G7|t0ah@HQbKD3XF29_C(D8wbK1O4J6V=(IMM2U)JH-j{6;*X;oJcB*Ll;4PmKM=PAm zk;GJTWWp6Zu2YLxpi9K-P`53CLY-{YNvo><@c0lAqXajox=4Xzsc@F7O&gPrPo&UL z!r;;~rIc*Kh`!wf )R0DSatHtxK!pG}6nTCzc!>IFx`Te~Ztn{af6siYXI$n5Sv zq`DAF1H2x{gEis5v4G=x3qJ|)L;%6>JDfhTMl+mM2cdNn9Nh|in9WX?ky!Q8)3>tf z7%4Yle_vMkmEqX8gH&iEo=k~x8JLAyW}er19VnH?80xQ(wjgd)k&|&mZ1Pg|59mUa zSxiy;|Gvi6ITb7fDF{6?HZgfnFNcNvR{6AJnk+rbJ+BJ}!{^yOtv(fKy8#Za1*SbF zK++!$P(jaD*E2i$Mf)d5rR6W-;Nre>9@RqL(rW+eTQ)wa ze>X%wT2bYFN>jcH3D_XQa_QAtthQkKfqply@Y>ZRj6X+qUm1g5NoVX7mTWyC&$-h! z`+b~qP6@U!X;LI_|3G;a!uydgLSoC>2TX7;b>3Zs7Kv)$$?ub;E&&L=FVc=Ms}n@< z<|?Lfn85gQ;BKQCo<19?^~|!ySlCEbO!__jGd=jS{(3l)2w!XJj$xG`x5?C~^0k-z#4-tmLEs@SJ-xA_P>q?=#c%w@QunNw8~l<(0vJ*E=Y<{TOV%_;}ZH_ zi?GswJ>82*zG!rl`+lW`cdE4A-m3AkTh0(^bu51ruo&^ppr~=XeY%xLJbEMI| znjtli1@5a6b8oRVk?AM#0e;<%u#*~pO7+3CK)IuQb%o{{D4$&c;;1lI^8j=2g9TKA z9;JZuj1@^db^MK)6gpyzpz>!a_P$(R>eQA5IW(%iE1Q)X8zH|x7WCZ@7mejITHNVK z{86>5RP+-$y>)OB&KeAr2577L2mG)xL0Dk9A<>__sK?S7Cy1PE;l;~EZ-$`-Vs;gOF9~=0Dv58t!JeBX;a#Cb>rx0))pIqH`=3JuztIJ zf3@FqA06cVM~Kq|)r6H;rkI0anT>js4a;;!dG?_ppONpL$Xhz<|B(S=*!5Ucg2E zjWj<3!Sm6Gg%IFd6nK^+>&_ zXXv}1_@Kusmanwb6yR!pw)?yjfY(M{$ud=O>npmiOt$2A3JH5~$p}C2fCq!@3w*a+ zyMhEj5dDctY|-#B2SS{YQ9d^;9e!``*EBt1g749tLAgD|G9gR-{TNw<$Y9qL5b3Aw zeRdACf8VUuFyS+w7VHA#@2hbKb1iCnz&T|e0_m_&R^Td7HGJ?;G6Gepc-E%1Tys{-L%PZBYa__LOW%S=9-@@M~cI|l7Y&ty1x5w!kByf>stZ~dcwT0*$~ z*Dr=N@wp?R{9`{NHPQbjoh< z=y@~@^43D_*?o8n_eWa1RoZbLZAC3I8P)G2k9lNj4CkD2`WuX}*VKa>yNJ7B>z(gH zB^Pc=-dS2z0NmD|$7X(ez)nS_^7!#ev%+Je+>*T5y@W*mj0(E}+Ju3#A~_5$DV=B+ znV)r!KF0hA+p(G5jx1uln6kw$m=d8N36?aI?f7+V^HOUJbV`_a4d_lz_&lL<0%cgx zU`U}&M{EGV=l<3kkxFu6ZVZMy@qUJ9D7fqtGp6)s-}n*va1`gG2f1T5)UKS_0gV(K z7hJh2U0q=%<_VkI-Ul?5*KI0z6_}Yp(}yxnPNp~?SZjxZgC(A5FY~}lFtrqxJ&9PLOn-QRe--2tSiK1 z{SpZYXa|nJbTmaAxcH+TZ-#DLp0H#~OWeyzM`iPi#pqgcnmCG4D~E+2;ze}z_WS`Q zdn|Yh5mh(i-WDOf2Ps6BS>!L4adKv@xt4=9np^f?qE*|Xd@)^0%z%0~!}bb8$^uWp zf~(-768unF`HW!kTShhw{~T)YD^53D30U$^JB|tU{{3+b{`y6U8)F-0ytee{r>+yF z%!@=^$Do8KCOsUxBiT=!#VEb7L^SPpp;Ar7vBrncnNP~CSp);O>2ebtVAO>F^pWLb!QM&td)yr}zw9uHkg)UZQ&Ci>dqGYY-kyqhdS_1}2@U zAVjZGffF?UFC4E+2*Y7N-ch@&oCWJja6OT_`O#M=A9psF%ONWg(&FskCin@MbmS*1 zm5h8K{Le&Ob!HOQAZR*?;!BJwPFTVvxNdae4Zl7JabSr%a1ArI16<1-8S^92^4Wf}f$!?>+K%yHaP=B>jvd+2~ zfut=WBVt@bA1LZp0+QXK(s6M&gu8To*=q<435@xNJd7!MUg$| z9-N|Ci^M<*uo`LlDOLKz;0w%8xEHIMYc`d&EM)fla0CDF8!;=B-?7I1Ja3FmNO$Tx zo@T*}#vY8Xnoa?5+}0NsA09U>LP+IqW?6*QOJ3c{UvjU=wj9IgfZv+4!E@1(cu)qqCOmFnzU}7RUXErWpO>Z&nLjT@zz)_y&UIU{VB8_!Ofx?EeqH^V(BmK(qG_&gh zeeKNVDcqVilOYU`U_vXQqV~uH(zJOV4>orEFwR6pvCthxDnIrd-{f4KT+UxM@A!um z-SiH`DFtgnzC|41_{e0`+{p6gm8o~p1B;$iGf`r!!U|SP<-1KNXx4}n0_<%I7p=Ee zh}M_bdU4WDu20Wl2v-kYN5>#7H1qXeHcpy>&7?gC8nMk>aKmnb29FW+_;v^>({!}z z4L>ReI(mB$8Sc#;`68b{T@$ig)ym+}I~!K1`u)<&+~Z2O$me;6s?V20yH@!5PY7NK-C9sekxu zK#ZiNm>8xuWGo?SM@S9joE`G|#r$L}%tgIIQ;_8YLspcLZHRoal>GSlZ%+0cDd3GP zy{3D2;y%H6@7KAm!T(}*80*MUZy;}%kIjWagGqgs_?U~FDx7XS_F?*AJ!nWU?p2@v z4ayc{EuAPGit@|Pw*ac5h*qrF-MVb1L2#L1aQh-$vN%-77uWw?G<1NwXc&<2AmsD- z&{mThTb;o6ary7AXH*OsU4&NE+;?M?cyfpA}xPZ|U| z1f%0qv0tsr^yTMkgXj{)6Q~~a)Ui_0_*w3}U#eZdPDA2w8q9i-b9v9GVmOJse{%Cq z;C_reR&^#^!s8ZoYVTLW5IZ245R_ihTK#U?Z@9;r<}ZEiYssuhHdZdxpRZ|FB`QqY|KAOi~bGAazD_AvJ$Fs(SSkog}f6>=LW*u z`c+Egdw*qwaK2Bi0(PN}k9RAo(j#!rM^LRg^stZ2uS4RyA%JngL)I(*x>O9Yt;WN3 zq2CqfIY=k8Dg^YY6X)N^&r6yflnaB`?ZN<01Yq4`#UBI$bsj7;(Ukdg<$On*AKS7N zQ;owIepW2>Yz_4nr?agW^l&+!>dhFzVCtnYJurCz8Ce$(a9rCO3^{cq9>;SyfQHU6 zaXDT`hF`FsmKqtHkMg`6Jz91h>DITN;2^4)HO>GABYVETK)PII6>_jci3@DZT>CCW=tSqwC5j%w^>fb(yTIB3Z&YQ zrT1fi|Mcg(alP?+XKOe_VZITZxq~G<_EfwP0g1|j;2xgsd`*Xtu|dp~D$n9e>E3`J z$T#|K-(P(;26EA(zx#~~RhMMRp4`aSI{k|R75w`R-*kU= z7yWcf>w>{1a-LVo0oV_a5Z*k(f2XnLksw}{Mdop3rS=^V0_8F*#DbbqBMUW3?4yVN z2Oo4s9$7p(xQ!YzuBo%@Gm?l`$Xe7*JN_?_pTSMPyhu>9NF{O>gOGSHq3$ECJewt2x``TA)ao(f7d{f#6m7NT;SkGn>vscv14|Rskui>l zGY4&W>c2^zDxhc?>h_lbhTJYT=(yvQbq1e$MIaM`&-)4tCEayN24m_cj0Zm^bx&Rh8Q%88SPJ9-hb&iiUUK4t@OhcTjoiyFi8IIW+$7g%HTJZb@EqhfWn! z-m(m)AzHI)Rqbu&F|za1xD;E3=djHTP3q$rT{lP*6VYMz0>@mL^t^9KG49~Ay@+=plxtC-_#Kpx&tH9 zT+j`s4Y@r=gU`XhK$z^(VNRGEdB|TYoozSM${!a z`sYr-KOZMt@%mcj_QLdhmg%z`F~g)Vpv(z2-WPQxt&}BgEnJE@3Td-;Q&`tH#xPDu z;bC4qv+gX0sZJesW?A`luPdKYQ*Hi+cF}XxtwL;^CCm+J_8Kic|Ju3T#;tT}yo*i< zTjrmH_)QB`+u5wHF;w8GQN8B=Zf2!_N%3GGY&p+D`=U)du02?aJ2(4QfO0Q*UfyI$ zwQr9&qVjw$5JB@N@ijtFItN&g=;cb|E=g&J{4sW;#M2*fIG?>qxEwg_rF_vQ0(a|V z@UT=dY)oe7t5onMxk;3Gnk!p6wg6;3NS%%l$^{h~ka6}V1prokuLY>3|F8{uO5ERQ z9&7cJd4bgE5q-a(c?{jC6Vgqiw{>`ggQmnDbfl!aBX|&VJ_-TMVZe^ws5@zV(w4vM zptsguPtr@@|F-31b{xCD)awiOJmGks{Q;J9vN8z~2t!O8Qf;yFyZ?Psu8w&J+5irI za+I|_1U8mO9rrlk!rp@~jVFms17i_a)s<;nA_xx1hUXDCwUbx78}5UQG`>8+1V^?F z_u049sVs5D0`sa6t;=er%$iY-)BYx%dJ6ewpt-cm#`Zk6&B_KQKHb!(az*j!+EZ(d zr9lgNaRU!N1-3=`SXy3gbX+me6*!q6m`~4_Mp|zUbHyw1u=sq1$1SDhy?wy=P0H}4 z-*vGQZkA5-UFtY6re0ugE7o#ZS}*jMTt_Wk{N4DG*+=ox8yin zQABM$lWFmh_fEe2Eje=ii;T5CM-8?a!c8QD|jV&^h|fP7;H?h3mZLaL^_1fb8XfWOErFEKKzMzR#p6L#;{0 zN^y~Gw|oc`zRfO%Ss291IM+PLSuliLDfG>LQ~$)5gB3IvXbinDhB(aL{cZMYRI&J1 z|2&Y=!?`93GjiF0SNTf?y<5|1>^5)8(mk(rzoaHpI6o6*#+g0LV<~s*a+ir{s3{h4 zEW%Icn4O1~>#vwGq1^UHt*nOinciL_vqt7Ar%C(pyfsP(xkIibl2y}b=3QFVgy@B# zg4?6&zO+nFj^5VgGkOKL4yA6^fFh6dVLo-v8LkzWLwwtT_f}2UGooUl5Fay}2fZCysGKz2R$0qDTr6;Qpm^0e9>8{+p|!FWn$i4dDUCnuLp2{DshnzV)~%z8P1P!f_s&p zJZQ0NUlAzXh^|fA>^y7#N4yNY?<@pd^0rm-+8YVsS=4*jbC4>*RxuZh@H`soD9uAn z7+aJEEPB&R_d#!wtxVil_$Ry)YB0wLPy$XRZ#{9kH*MK@qk#vXxYe8H+sElp;Cqtz z7wf^kBLvhC94mE~AQb8Wfx@Xts(7r{;>UGIJvnL-a0Jufgn^%pO_g!SKl(SQZ;tv;rmuLQHx zAur(jcwYI%zAPQfXP$g#t!k&iXlZnXoKl4W^FRLnH0Fus6$bvMl%}*EC+l{DkQfwBf z#l5ic0;c5$u#qk|O@VRh5BV7wLDnSlzMWDLb>h+I@57Q{g6D5WK>tb?aCJ2olO6a` z@*m~h(2wM_`x9g3km&+(OKR5J);~+z}lnvY2dVvi}4TO$+2uw9~-OWA2h^*EI9Klp;A-7au`?v3V z`y>uaT|&J$N7Hwe-E%4DVeA>MF;8D7Dy$7i1~f`aGth9Au~WSBf_oSz%?5b61a#HHn~SMjSL1g$svbBV*@0wV-aOB< zP#=yUm{swmJlGZXgMe7pxv?@l9;&gk^&RhtL0MxnYrjn#6~ie;@Dc)fdehDnsn=L9}GZ>AW8or?MCVdZzB16XKO!KVD zPWwC)CrRJBfN7h8;;r+w&jm9u5E8$?eoZG1?3q!nC_gt8OoPqPX))pxJpN3IATOOK zPeFLduVo;C%f_d1wUzQP2w0o^9pf8pg89jhM$Yb;M8Yc=EY!)}K(ii_g+oi{AgAM1 z3NU9WXfB((ZTS2;lLflWl#u`{x;4&ZjuT1G+td(8bUfh5~#VAw$kKsT!V$^BX$e-C&dV<)%`=t6a*1$TOKMYxz(IQe>Y(pAvPZ$ZJN2aLtBt;D_nk@ z&EO=9(OAxOQsq`J?wdVwFh;a6q3LE!#dWRH;pk}#Y4Ts(uB}`!`M9SMusOyIp@V%| zIx>@oxi^!0Jd@}o(Fk=G5#5;e8Vre@xoZa%+!e#zMxUMh7_KS8-?cxM<+T|Rmw*1e z0M?F6<`={S=QD6_c8vwkqdmad8oY2&BQ!UyoZmy3?x3+>eVQtpAocJLH(%4p>O*?^;OYxZ#`Qt}O zBsBG^ItY7Oe{9y)9)_y!5c&9P7iA^r`xoi;`*Y1IQ0v;ZsE5zy6+3lo3fp)@5e&8O zomy1qPwlp4OhbdlA@`_&Pi)`8q8_)DIG-H`YflKhA(i zALaC2<%}Q{-}2CiuxO_Zy4cCmUhQvDhFLgl`uup`rps9s|Uu`(#rNk>yu z`0*b4qPff{{55$)PtHqRWkhCJ%3vgp@Pdcxjb?+E-=3a}d6AUyPRA#}@#&#yvHcGB zHs?Qv^5=mo!{QcI(*n@_?x*4vf|O+h?C>Zh74sF=B`~Cn0d}%T#Z*>q9Xm*vosTKDIVzdlg5PLj| z3QxtU?kTslT=$DTlXTP^m&+jMJ0jVh_@omjHYi!nluNcI%^B>1P~wpG>U)}ekk^N~ z``EXJdx%kEs)y$ym|DHBBSc`R-Xr%$c3bjp{nyc;zxBa@LCVm}w& zqBt2>L|FhtPGmB>dNN}BGsOOzAD9_LJo7}#n;?{32RKIcRC`Z52zy_YV1(98|NeE( ztl~AD=|VL=3+pGgt_FhbQ}VJB!!nj!3)e`x4v#R%OWJT&aMlo;!sXHKF$;QnJ9T|P zl)$g{Fy9SqFKe>&^5C9-ewzVi&%;7D%Gzs<(a(^Jr_=5!_*RJ_degxuTC`A}#bBf9 zKaD8~3Rr36s&`8b7~f)LyWLkSc?%>KB3lbMT?GsJfmw~|&cqG7idPNqC*seU!6X|- z<`)}0@sl=aI?Fg?4uHutEbV3Lja~NI24}#G3-k;0K`x$jducPr_)Cm|aaIo8D_2O- zJcemU^2|Zj0atg{h5ZxiYogAM#Tciw+T##>t+UDP?tMG^oRg+D3fNa#u#yP1h=Fr4 zk>myb4LWo>36j6r7*RomcW+I{G6E6a7Vx<;OMZBr|e~9tODpFxKvJDw+!qkw8hS(HnyqYY^I11SYA(kl5V|^5R*n#XBy2L*Xw^gF% zgsTrv*83i?A(VwAFDZ_0L+^q^r=*Cp2&UN|T!smB=t0LkCw`@pfzd1F1o`5Mg>$L- zjSRd-J2Xp2+a8X{xg%hut!0n%(@}bq_f5@MlwtyaOPh0IzAJKOh%)0U& zgpPHi`8pl^I+AlhkFtw9b+R)YY_m`LlfXX~t9pWwMSiL{b5N4~wRzV@y~m99Mi`+6 zUI2{&boy>9Ui~8(9|qP#H?5POlD2&oYY9`9YG082;f_quq-$_Yl#v(%G6UMUWx-(VeXlrlfPxvwCe#=po0jq2kROb&`oNR$vefnU~_5o?B zW!Bl&pBOQ`@~?-+)>e!t7NdcCula+D(RTU+e2`Ut1q^Q|)Li~pme}+ceGGnL z&t)(pOlSc>1$plve=}|l6xy`4cuRlFp`w-m3112ve92wJX0jDWd))BJv86t})(7D( zDO0@B+(S`))e_)ypDN{b-s4xS35^eAT0+_Q348DUbv)vWR>KWEA^l#)kSVi8Z^|b2 z=3UFqzV0HFH_#&9x!nGRTnM-1oi9ZJU<|x7j%V7<-EF5i-5p-ih==fU)El$xT6Tj7 zsA=V(m(0!Pq=FhQVb|5iooWvT>)w!iAm2fO}+Y!*4okxASK zUxOce=rtuumrfntP_h3^*5k?qgpFF5&Ez1ElvEMr1JJxk`?;JytMax$Cg zVi=OF)gJxtjncjEu2g;JC_m+_I(9F#tAVF|MX;8BPmp|E7m^Be6T#4Ol+ zOi7vuiIPB+bIVqPWyNW`|qTzPn(VM1^a7>XX;%y3@!S4hI@alaD= zY-qGnDWB@*DjP=;AX_V0h=iwK!{yyjLO6)S^rkz1h&)C`Xj8iirBj}YHh7QK{YKcW z7=2s~8?RsUQ=f53*O@++E~qDzss3m%@<39DpJ$+TF~yH$4uly5%k75(U8~$s=euer zd=}bh#C%jV3M_=*QNo)8CUlcjH=fFM2?X9?88q|U%U|EmW;?CPim5l0m4R!RHN|e= zqifwG3#acM>##Z7#A1J)L>d`cQge|?D5qVz(=wn2JxTJ(%e|KkMZQB%{g7!c`Vgu< zTQ-Ox)(adX`Uqeu0j4%u5Of zd*@T9J$_(PS4EyoYMbjl-%-e1y*Kcn(Wg1zNjJoZJ%8-BJL z&sMW-`OTY*7HENS`5ZdlU5ox}#w{;MGCEO%emf?nVyno^G=O5;0lKeI`EW0o#{5Gs zQc2W0Ew<`92Y3Cnw1Yd zO6#0ZWURl$OECRNi#w*$eJMXOrG(|c3t!If3u8F%)_j*yOFU&P64aDu54#L$bgLK8 zICSsfhW7m~qSMSd#etii_Q$6R1W1;&3u4$e=f=@K_N+M1dg&LD{9CgzsL;Ig+!De4 z#HAbu4*PG@xgIz&Bqo9xwn%2jcnZZ!bz#|ekJ8faQPghvq27*i7h zmw~N1bIL1J_~a>R5gF_AEvdk2#QZE>hptYVy{JJwYQZ?2ifkQEQg`m->ystRMiVor zl@o2XzRf$jzZ%3ufk_A2uP^V*EyUAP*K0#^%FP)4b(ZtP{x1l3^&*cPM}Q^`&C6?d z=ISS)B65WzT(fOi`Mln$Z59jrR>c%cFQ=xbo`lBeZUGHQc#da`b=>73$o)BKw9>M9 zdbH^#htUQaQm~Rk+|C?J5=~ynX~|dEDmZt338dAM-9PJ#EvKDs=_Td2(f9E6f0Wb2qPmn-;8`;+)c zu**}$8AICTSzaJss&pvnua+`?ZyD-(L3dfLdq0zKlwO@d;Ie7VL5uh)WIJS ze*iafssc=gIZnkFaHik;C(M`zJbihh?$vg3o``#Kb%w-DrinHQ?cC6tFD9>OKo*Zz zI>u=6u|u+13-!jna5GkR_Oi>ysM?X=r&{*pOkP=~#2}`umSZ&lc;fZ%Dj0G5n)0fc z8opF}DiAH2gxZL4)hFcTCXTgn{UUe3?712ECBpmM0Q1g=EU3 zm9LP0vg-;8ogWs}E23ZPWFhL#z(xs)d85?oHp&16E;OvImr~Hs6CdITF>eN-`jyE3 z&w>l13pmEHRFx&2@a-(pUod{@gnge?kn z;PI)^_?R~Z^E3;E@}uVaxI+P@8HaXpyqm^e7*%sYZp1rvV7yFlZ+PB=vpzhwSC%N~ z2L6nuSjoo-N*i`ay74C^=Eek6;&F$FZFNM0%nd1#zXI42nUJvoPB+aY={-5aR>To_ ztgzN|+?HhZ3T_Y5EQ7zyV&`bvmITd?3Y&$?9gRPI0+vHz>ihD*#u}O)gWyiIARnuD zNwu+4gv~Dx@ReRnh*!wj-;Apq-x%+<{6oiStk%uf&R0!Q_Cz1XDco<{D75M2O{Hf2 zgtVGAZcMRoKpR4Zy9kH4;-N(8nuaE9c%O(@8(KGFgTU$wHXut)d&TL}U-Xq6in0`r z4;-<-9yF>V6W7}5=WQ@kDJbgxaiq?Rn`1JeSL^861kO$Rs43LxuXwjq;0c2Excwqt z6F0CdgMve4p()WqNR6vu;~`ppA}LqhK5!zeD4Wt+3*5Obhf5W#v8+P=4i)frXh8Go zM}uC@)FY3eA;dB40U=v4>rT`=95C5J-%O9tA5Ga<2vFT(VZgO3WmiM2NQH4^SHzJV znVV%%`t?2828D9Muw@O49^eUDlqj0XU0%OJ6>YkDMq}0lrd3Ez1MaKN|AZcU4ffrZ zuGjxjws;3hyCU74$kI|{+3p?Gdxeq;M(;3^-t>av07>rmm$42v!^5S5GJ4OqFML|q z3~eoYRdFnnM6;<*~lA!{>HZS45Z)ho6Bi4u5|-fEsh(SbXBIY^we5hLUs_a1Xo7J)#>5fcX5T$t)7(he!fgS_gz?**349KWtdUg1{ z%dfZ(7O=j@r&}t+bEU!=)=ulRoV9FJ>sLju2P#8K>F>mSMv?L0>&e;p{w?T=T-ZG0 z0|;BIuoQa-V%ig1ol;?TxLg*tjB)bb4;bN*WlyVN)Y*%E@ zw_$aetttW|rIO~;N1+Ug9Mv$%Y1GvBjdr6? z998C%XBm+?p3OPU5KySdl~l;-HN-r*=(v?m9N}0R$w+HG1J>gbHZgqz{lXyn#jx?b z**g37Vu9MTrXI(Lnk~IWR|B0azP`CPTH^O>f{1!^SOR$p9fgc zJ-?YXAIeo`675l+!aX2}h(gYV4oDF1h{JJHa*x5iuEi}JEz>&cy>20DQP)y?Ekdms z_u@G0Tv+@lyj9TxHDZOMwd7(J1r@i7v9P@$N=y+2u9^V$6trfTF0DiX(})Lv009B3 zgQ)3p`o03?OUR+c%UA}O5#cuXI zjcBVv+UPiW{}0W4>6nZa*>jE{4cswl<;8kuk6-0>9M%8-N5$seU?5@^t>NDqxz%al zjPH*wGp6R%?W;8wg`_>25fSVug)J(e-Ib2>(8qN7#O6xs&d4W`&;7D)Z!$7N#rwxj zl%(&i!u@)i50peUjlk>&3?bKTn8C(bEx1q1L^JH1HG)mc3un<-Z@9 zle`|V9`Hq#8lY+Dllu0g43paSn9IEby7t5H#Iq_1X89B-=d3j%N`>@@RiYo_+0%Fp zYogYI+NnV8HE|NJhH?b~3DL(^O4|!4Y_yEMZU)QMY>Xx>`84$*Kp#%zo*=iDn{SiE zlVw^DSvRt?wfMX)!D+#O^2N2p{51ZH8z`xuEw;kQb!4<$;BerR7N(=E=vT?OX zJ-PwL5+4rV?6^O?lB5yo;2qw`DF>B~)2GB(leAyc5i^n5UjsfYI!j&*a*p6I&bkSv z9gJc$388rKF77S7$3x{vRGftL6st+!M^kC+pIsM5!$9k4-O;cM4so`vwUjECV7aI2 zPS<+ZJ%_PPH|>ps8ywLZUrsDBxd@{$E$uIA1AYE+sK5af00xRW+>9ew9gbvSC{qpG zQ!%ry&@Z4T*c(EWG=4h1H~}!WJzv@oAtfK`Gvc5?8iw!+6G<`IL1YxG*aFsOQMy`GeP!PmD0QvGOe5Y?@R{Z5xx)1-3K@eE^ z9fsNUo}USytUy;8t8O|%DZIy~K#?rDu!tV* z@^zq;vv=uyS&!jdEso8eRE76C$*1Pq$_|B$O$3v@?H2_dFxH{qz#|VeXlKBoZE5oW zVs^xByB5+J@@FwOw%E`W6Xi+hA0~#dCaq>0lV;UVAEkW(^Qw$aJf0?gU;~U2*$tFl zKgY0{d$x%`e-}1_r(ijNw{mOUd9UHTpnuvS+XUbL_p=9eO^Qebl3w;;lGKiB`!})2 zrW!RaMc=L0(CUZiRd(5g_recDaQz;O!fI5o_vSRGN7F*Xnr`4$S=GY|jBWbvVT4b3 zKXmwS*&^0O)Ol5shy#BdJ^8{5e=2; zn>vpSLfd=#WXqLlkl0QDYZ7PcNbk#p!B7~#nCjvz*h%Oik6A<6Bma9GPUCrTK(CgUa zM`6W70P`m+!cos90kZGw;KmV9`|EOdRcFTTtt=WG{pKO7kZnRr#Y9L0vkXF1jIz)x zdQ%^;UW!z#hHVI5`J9gGOkE%N)RzQ*x@3&ogNScD?_BlJDHJI9aF*Q$4*RXOsSnGnUs)ADaX}L?OS3m zxOO4vO&m>|zDJ}VD>G8cHbyOE6EybmiBS@Q)e^#rO8oH2wCUysiu8tNlFvNTrLgV; zz(maIr4h>p7F_0ycAaC(|1jdS90BL?XmsZpVb@f0 zkG~|9E@x-cH9c0Ny7IE$eBe=EqXP3W2D-Qq@*h?_-*z4%f=czJN9gigOV)E^!X(ZZ-Dm9>7gb!tJOa5Sz>}wt0{5P)lVtAUNeCe?K4SXyjB~x@A zqj8VUKIWefUv8IY#_&^GJx_M%RUO6>_WMBWo8`~9b1Dm3tIg{ddTm6oKgisx8LAj{ z1tm33SM0uIxF?6mmdpW3LidYJ6QX99iP+#W2YiZ&m$CdKdYm^kLQ6M9exWlijYn`N zHl*8BLMIErla@R7C)(-!F3&f_9#@0xJ+hINPRhR_Nb>Kf(Usl(J|ouNm1_fd1MfHr zxX;_AB2r)lph23EUv#bD1``>0HMTji>BO2f)WGGb?-9?@?kcPZ&V61iF7!U-$aJJB zlP0!UJ9(fKXdcEOlA=T&*X}czdSe|}$AyT<{~F}(z>f#RvLBy>LUg{9)UnGk>xxCC z&C@M3?|a&DE9(8V`Ggp>B%}ZV84`wPjs$;HQN9jt**NsMO6%dv@S$jqoNqGI<<)i? z{DXh_j@d>!hfx}C7~DVM=KXc-PPZMX6z8g(Et;fIHvtAQh$#J_=9jQf2gbNZ3Hp}= z0MtB3j6+3+)bT5+b!nkq#^EfNI@Jo@*AJ47Z6n#xzJx+!a&NSeCmV9`$%d6#YLB{% zifL%Ea#4y-c_9X>k>hLh6df+fp=WHmRa{m*HEM}vt9{8mKk*{>-pzLlU3lUg4WUny z+`ctZb;Ay98l@|f^kD9}n>|~=GEjEn?uAes=#1_-QdlcNFies|$!u^bX4tVH zkyT(@OBn&;l>3e8!Ef?6st!1WN{$}wsl350*}fpN3qGcod4JFE;9|2Hr1g@4=D9Gy z@mh8kjRMqAbfcQotyv*==ymi!2*@YV61z!c%bftrrL>b`gbrqw07*c_sj7w zf01#osf7aJrSJRz08Z_$dwpS>bVP%YGnGXS^S!Re`GY5X<7Mq>b&8aEW$0TLd6+WK!%#>_r zY^U-hT2Iuu`^!_)m%*HZDz*uq=<$IzP6&UlNV>OXbtIKxf?hwN*o=Hi;O0g)J1_72 zjE-P$yantF>d;K{Gm^Xf52m6|tpsszsDwu7ip0j$1UaZ4XhQgXwZWm2)v&36b8C#M z=cIRLq~b!b-z+KxQd#0%M}IMorL&>J$hYCDMz#>|k6BUKO-e)px&0(~qB7i8vDg-7 z`ucTU7oJ(dBM=KD$xDs%QxI=|bNs~bm=7n$Mi8|&pz$D(a45lmq`PzNt%O&37I|pI z7MnjC8CrWXiVAE;hu)OU0kL^wNn0~R5EIGpW;1pyUVzJ?wHRe-*_lD@@)Pb^>v}a4 zjimmHaj#U=%;S>XVT%YTf&@srFn%rp34wEo753dQo7v9WdInvr(vwmToN0yR8)Bx# zadwtmF$)A4mo{oXcp<9rMU*rg3`}yK_pWU*xcTn|EOweg$N47vzYZ-$B%Se-!)T)S zE<3f)-2iRdeNCx{r_XrcO7uGxGt9d#>*2;jvHup>;O!uciCb9p|3b4*b%T}?mM693 zx$q+&u*QXNQ1p}2aqlZ4M!lO_ri@t+hCWYa&ODjp_+6hr&4*JX=0*`W@&|!=%4aGA z4-Sw30h#EckX;p(&q_o0t?~t*Tqh^i&Ia{XQBqM^FrbSRU*e33m25mGnrzucx(tde z-0;g;@*V2`aHXLv>tM#wYnS584^+dP?v14$cocq{*wS}5E&&$r@3YnNK_@^YaWND~ zf#@w}g@H+JOJR;<6JhR97Byx=z!Rz{Tb;y;a==To98g@W55VWx{kr!z!%4--D%tHI zLO#;oI9o64W6T+5a0ckD>ohaPD`ik)xcOtt%G809KO@RDv?{e6i4rVrol>#eL#TTX zjupK45hQC&4wrbrQ(jB>Jg~qaHiS;gbt(`qzMZwdP9M~h+P{HhRmnuE^!A=Dy{n8B zUS9IvH^x}!(?mwubhY7UsA9P&sgA^{fkmQu6*ZeTpnqqaY=puHZtNPjCYpNU=W?bB zN}KoY^@6L8&RM4RahX%`H`vjw`~Em3bF`U4b5#TDs7KzgOEZ$l$oY$t;(Hyh+LM(!s|Y#Dz^!_n?h!=Q%LF|?Z537f_BQd^a2tnBWB)L% z)HGWgqJG)s-X1I!0rh7H-%*+^%1v^;##rLmR>x-X$&}|}P54WZFOPQ&*5HFb*4TYj zZtJh6;ImkOo+9AsEZbm6M||7ridq<%p6o-r8E)hME&sw#lCNUIap5uGxaypSm!Pf( zK%xf^1%bWEUDDY1&U=w-zDh4z*;ui)nxDmO%JxPhrLT;1phVjZ_%r5Ts^pAs>xHP) zQ&*NWv!KpWAS$&(+VGUCp1dvvfLLs&>O8q1skj;}8BatFwQw$-45912c|b@TwkVX0 z+_%KhF(|Ck`(Sy ze?eLAO|zc)IM>7`#HeQ3j)r7W#G_Ol6Kx)1efjrwUPu|9OSHKj!^qK?p<(Fa-U( z9K!iOGO;oit^1)p0xpl`E!WrH`WC_MbLfqL7;NH2;Pr@XH+}oEd?i)1LC^tKqw*l| zWtJ*7050YgK^uCK4fu-$mW9;oPJF!f&K(qh3m1i8y@W-+^``=ub?{dmebq2|lqaI` z4G(cr5u+$lJ-q)q?cGtOQ8)la9(Scuze#ThKKlTryE5tr$$Thc3QAS3&6zNbjHvsI zr_(2mR*Qj8Wz3r6+FaBS=W#<2H!L?>+(eq#mRUXq^Fk(g_rml`l>V6;Nz!!R0bl^} z&*dlmSTse0unTRZkT|gKbmLH^U~c~Y<^Bzuz4`lrMDmJCulp_Zd^-4ObW8oe0_I;< zq@xQO_~Eq8Ha65u5J*Sk5?}Lu^3XvY`f#zqzE}c|nP$YgLQ( z9&OP1sdV>a#7r6lxn?lQrSoKqCtiU$tFD1M$SJ@8Fn*E>VdM)S#&BTnr|+F_X4_b% zSH@qI_bvl9F0&x3*!K{K2enc7(1BKk+ZunxAF{@^UX&BuBK3LJiFWwKNDt^!b5u_s z`w~-Dk|lCwfkTQv0P@s&FWy*+=HHXqaxUeGB8IqXjm4`m?|$EAx`YOK75dbsio@2q zNVePxDz)yE;~}Bo<+`hGt-TnY%p+3Wlj)6tRf=rk5PRtA2T_CUjz#WF7?V@mxuXH% zN%~#dKMWtYAR|MVfFJq})M|F0zch3RyCWB4tSr zI9>sG165M2M5CqyK5ATFg!uSl+~cdPN7Eoa4kwkH?x%;PT$fz^8_f*$I{!OsoJ6C6G1W{c#JM)tYT7xcWY zqR`;!qv>c#ZDtiSO8Fp6N%0}1WexgPoguFrhLJLe5xrLHnhfJU$rd*4LZ7o_zj2|O zzE=lUtDq}#{(RN7bg0yl z(14f`(z~1`L!at^#H*HBKCtzwA4wNG*<0=X9SStlijb~gP!hXA=B0MEBnoZg9?E2sT;&?^D@G0C(ZFXy7&TxOl$aYd4`;((sc9y z>6i2v-yimobJ5WGYgC6vg;E5`RlX$D$ldHD|;q)3_oRh|{*q zoWFsmHJt+QT#(Q5Xny|4|7{o0vk*I8U;q|Dr3ld{4Yx`njlvsAIPZYAQW49LoQ;F! z|9_Eh)X7o3SIxztMFU$a(fw!MG_?KgU%nT(5{vCwwf#v&oD6J7+M|B>DTZC>18}rI zaeYFrB^d#TKjmS8mblMTD38PItPqW|8j=Ysgz9XH!;{wo^)j0?ylu~G8QdvIj@9OF|nx`!Z1Ztap(mJ9ze%;k-2zM1p2Va@YZahK2K3h~fW2`Xjxy0y197Crq6Ol+X_ ze>%%0Zw3RXa=TSBTZwJ;4yzQT@E3%=VA;0nVU(d>@gHLrec!> ze2D@lK+G+s(=IAi14J`@Iw5%5EXi33kh?p+kCDBU+2bftsC{a4m-Cf3KEH_kyo=?t zICROvlHb&-2rPCv51~VpK>#=l$LfeEwq_%NO5t?zR{yytWLwY9g3(K^Wx2uzwd`>oUE-Y(X)_gGOTmsEXU zZ)=+8bUzTp{OD7)Tua~*jxUQalMmm$CkdmEoM#vw#+ExsDlVCC1*eKUGfUb~5T@-) z+TGKvjq4*-E(KML=5Qa8B!Lrhy;@-iAGpCzj$x}0Gyh`T|-LX zSe|kb1%k2Zw)KCuA96Y};QhMaCCp$l`q#in>}yi*z2Z3j0~Oj?cuhmxfU8C8?VU#J z4sUP|LOirS$9pdQ>o?vHCS78f0fo6%Daf~6c;f$Nsy_r zy03MmR|0K&w!LW;H{8bP4EXcB56Er){&e9|FlpIuCIvQHWNMKhU$?kEpGqv$hGP2i zn;kQqdK-q-%2528$!2eSecWLj#_@~M7}BcPL6W9@S45iIM~xL7I1g}LXu!9Sq5LBG z4=?U)slaIlQ$Uh;oB=fWpTlK=dEC<0u3pS3 z+)^Te)8;>V9Wao6CuQg$P%@0WBY04h=x8O>e%s&IjdGHxUpO%Y_NS#*KmrSkHB-iK zG~1XOc<597?#VzyJX1*0Oa>Ba5UE%do@2vt?1*HMIE_epohgNh6i@Ro!% zvl?iag{5MP?Ky^VB_|U|S6z^v(deG$Y<*wCs9Kb`HMz)X-V#Lc@;FRZS9R3FIOd)s z-#2E5MeCW1DaJ!4{Q`R7noIrsGU5cy>=YLJiZ0w z4)TE>uA>`XKEPzsn*Khy(0xicE4DgJZee*Pv5L zZ=wA+5y_cVAs^t|w#(o#bmMlDQ4%p1{M`_x2$i{vMI7lRC_Zk$Tm!C7ucj z@fc*mi-JW?fPZy12wne+#dNNUdTw7n6GegAy^*_72Gm3KEbvJy>pe}QzyM$6Nz3?Yhiw<->j`Wu{<1xH0Di46ygE zvJY_!^oO(;En)7>c2Ygw>lcQpvDzNX%c^`&OsvT|Iy ze$BrXYkR0ct>_>>Uq1PHeU?muw~6kb8NBE9 zE&_SyvnGhnHg1ej>0*2)ga$+N4lF7zH!gNf_=%>Xn2)FfC$bcTBTbP;RlYjQ@{-ye zg%OXd^B_Jepo8R5a|B8kL5@ps;u=VVSoPcOB(gLjCRbhhvm6I;KZB4+|zlo)PLYE!Z!LYjxtk2GIze6Ipr9$yV7lq3!$0 zf1gC~&!0ZfEI&7qhwaArl|?|G%NB#peXz@1inNw3B?9%H1}6iRPbP%K^C@>zpzz8Ya3uY=ANiGS^H9w~&iCgh#M&hoMcpce9a@ zoA!|YO1Nj1M2dX4SYSi9+Hl0Zvs~;X>$`l?vxeiDP8_RyxS>pvy+$GV?5Gjc-XLUT zd2{oe=*kplj8>x=l?MN!2Q+(6 zv*}l+uGD=7=X0$$gJz)3NNH&r<8FRZ4@=Mw(i^+OiC$cQ6)X_JUP6agw;2QpC`Pt% z)SgG!UR7lX4zitvmeV2GXmiPHC>hdgN48j4f++-iTMZB8|Ew(En}}N?4$Kf%!H_e~ zu6NS!s7TrVAYY11&T;#TosWn~`1k#`z>c>MYeRtHfY&f5JpE3Q-hAB`>C@ zB;Nuu=K8f4<4HSjX_?>3NJB*R=*XQ)@Jv9&(mN|$9xPn1xLpH_!F!^aLG+Yml z|C)fiDm6x>5T*y0TJG0~romoN7bC2jL(7i}O*(|%O}(Kl$J(nHZz42JotFi2a`+wc zEC8;&3tafM+e+ilK!U*50kiZ~U!P_;? zrq8D8tN`+8O0GgfJVo$+>7%xyE9Gh2SBUziDfp+F>@Mx~&W=-|PR%CU|3vyQO5J#m zqTMgN&zd~R0f*yu7|o*-Xx(oX-V<~Ww2W!3FK%~D!;YzT?vd3cBdR*3ih*^ z#RLCy4!geBGaw2eF(oRBC`ag)%djpRPJ8aLOaGcGsx|y`uqW>-RCzp|XjXk^a~qHF7O+C95^!mJ z8+2CgGB1jfsl*hQ+fCy8#ZPUZ@hcj8HzTE0_g&uGlQ!Js)f7B$#6kW9kz7swH^tA1 z#yFzyZULfXe_21!Q8?u)(pD6of;Ewp-~a$`0?66vZewu}7k+eO;}TMH(smj{CS|4m z9)Vzc$|;vrSyzPtIYb1+^e02brs(twS3j*jR}9tcQ^8Ry~Vj9M?m+ulNJ2 zMceXxB_5>XuslEc?|ykGXwIhnzsUIY-lWc)W4tWt>rtwh1WF3{P;oq%RWU-C)x_OX ze#!DG{|E08iiHW|yC#tGp4 z)iS*=^L(g9q$OswinbVq-ZG&nuvaF-)la>XK-n=d5EyYux@+NFY87Rxj#))U*ir@z zWDGA~CU;03X_uz}dJvse4a&Ln-{*StkGF=}H}tmJX$HOn^TpYUVj1{`L+2MdPu_-@ zatqvDV>SG0J{NqdF2$B{Ed!KF&By-QLCYbf%|l=eDeR12)zy$ZeAe&lyDA@GP$pgI z!p?-tfx%8A*4prT!p9w(O~ULbed~FkuxlgK0001)Cw_4e0oVpR$Rs!tzb*;nR;j5e zF1WFQ4Jo9dPL_=omsvp=sN>hWDZK^WKn^Bt9>_HsGvTv*$Y4}!L-}FNi>Vg7Yw!Bc zFtaEnMwIAMVE6mt3Cz4!fJJ`_pI{En)8n^xPvc*(MVt?@9H*{2^33IFvEt?HMTEP zp!+28oN1~E2I-Q>2!0aO2{u`22VlgLdLDH3IS_yVHc#|&WQ>r2 z^~D9Y*P>2VLH9vtlqD+V+&#@r>muGuM!bbLb-k}+83)b%PY}^SWQ?S z+k|q;Jj%B-<{wjC+laT{?k9a7&vKZ=($&CsMCDw@9T)&mj^qu=D@mMQw>055{*xIC z0{vPqfWueB72Qq3`6Bsyi33Fh2e+woGWj_VsF;K;4P-*<_de&NC(xtGX{8^=Q!F3= z00I6R3E*Ma00bxc9(pA|ee_{*5B=*$uw47QpOK%!`&$r{LIK7H?!~4Wmx744j14{d z0VcZq3}F#0iAGVt0Nyx$eTgqDNZ#;|WW5Zpv>OHLr)c^Ytelj@=6FjWSV`gF&p~h# zWLN+IEvxB#3U|x2ZiI{Er1mF`GP5?eZ({_Y`c^No?iwoH86Ht4C zWgm7HN4QIqDXD)-KUHd=n}*RBfla7X`blM`@~;4hh=_=Yh=_=Yh=_=Yh=_=Yh=_=Y zh=_O~u)2q7?m{gtrddyw{iOBpY} zc;AGz9RJyXB?05?6aJT&&G2Ngx`li0h4o#7_5NwW806(p96V*kvuxo0N8dB3N2auB z#3Ml>1ni(tUcLHo_7)-*0D4fC`HIkntAZM29=Wnc9;>XBb8n1B`SP80qRGljQC(PVjx!sjNVdLJ(HpSMN`~ zQ8rgJ4aeTWv0p<2KL2aGTiH`X%GTl}V%ZowxmvcSOj#?YiP|m@w z850!oeCOkXhV^b%c?*cI26cQj8Kc+ct+hjF!1Ve@bK`s|p6ko$=PQmyCiI`tTnxJZ z9HhNdJS5nyK4KXJ2pBCuhm|Rsr7fuCfQC)^p!2Z!c-7SIb(_V$OWW9g`3VV;U0kJ`rOrS-jH~6_1sE;T?=2Z1Qg?j z2FD0!ioXn{30etneTv4fxaE2W9=;->yfa@_;yM7?Ae(wJ1xMiC72*$I}f=$ni6yADI2BXt@ZV<2#~hTus;n0ze8z zxC049gYL*DkQ$Z4zS?^QS^DAQ*5KEPy+13ow$99U;W#r<@-7M)F<+wlyaVZHZ5NaA zPVsgHOTp+Mm^G#gTI=IkiUSJF;CY|`4O2ZvV)SkUUnLsuLv>#}c3o?b=-Y1keNtw})xL5)6~4hUNx(c4 zF4vPtB~_Le&@ykzmgEcL2BY$*s?|90zs4=Ncxz*_Y%0_t$B0f^7v9JAeOPWJc#!KM zkv=CAcod9$rqUsq(Hu-)jO^{AkWJ48o*+;Gp4*1jhV!l0&qw|^H})3hU+NWIxW-p= zpS*M24iy@>gK_K{h5y(!A1P)EoI&*#%kGe7!hi|}OFH$uS`jd3d6Youtl(xq#iKS> zX|uWGLE&g4Q{alsO&ym13M+UMd|#2#N?3A`5X^8WwpJhev@ZDQE6dVuZ6;bvQ08gj zd)_R}>~7J`Qq;UpR)MQdTYf#D-=kn$wU2;CYoY+#w9f$QTnYbJO~OSmZZMgL0JAN9 ze^S*OCxYeGJhF?SajRj06%G{1zz>4$!FZ#Py2I?09`NNr?nCe&2Fjm0yS7blzum7> zC5|U61)30Ehfbfx_KX-*{h;0_H4_LWZw%hB1nAY3FO~4UTHX zkZBSW%1wOlN1u;?{pLkePRVbMSp&OUo9ge(rOz@<Lg2J-CcCLV6zTZJtk4*Z zT?(;>JVh1$;1jZt=r2ZB+wOkVKQN?kFgr_*2i;Tyn1eI?F2?z=N#W>N%Z&10xtPv= z4@FyR^~^EPIW*#bg{{q`z+U;@plStM)2$v&YfqPO)s2f|zA%MMCpdF3_C`gl*uH}^ z$ULJ^8a;Ca7YgLAg=kxye{w2=@;kdwbY4x>=SHHVKU=BL9QPz?BbtLPg`&aP9*px> z4AV9q^H~T-G@1ND-Z5`6s;tL#5N}e-r_i4T(b$t-R7BiAE6gahz7V{8GkzZv`tBkE zS!Ol1;<)!?#Zojd_KmZUGVE`8&}R<(kO|h4Kgul3>~7+#T`OjTGzJRnJ6KZGd{s=P zHoNo#9v@hh{wykr`t8_tro@c&7seQ0`;W9n@D`9o+ND{9Adx^oq*$mjt$g(93%Ewm6bY!$k9NQtNE34ph)`Wr=6-ZjYxApX(3LsI#I&w_CclA7ir^Lz zFm-@8S@;__5jJ2ZI>=(@AI-YDc|s|wklPZ4P$`XLxC4~pX{-n-(877+ zdq{PWVQV($M#VLc;Ee%}Hmv1;$;eSa-J4s3iMB4Ak|5^7(CG^zrUs_NdA12K|x>e-g{kSE)mE!R$V9g7S zc|FRrV!s!%__|hLk+ygnijuD*ZI569V6b3}N^qcMm=Qxtq<+h15vs=w6^{R&pdUIh zi-xViGSyv&EnL7N{(1-zu%`+R z5fKq{Llm%xh&dt(SVY7e5d|zFVvdLc77;N=tUyG>oPl{KOcW2zDvbgnA|fIpA|fIp jA|fIpA|fIp9tZver!xJz;Q{sq00000NkvXXu0mjfnsAoF literal 0 HcmV?d00001 diff --git a/public/assets/logo.svg b/public/assets/logo.svg new file mode 100644 index 0000000..6999eab --- /dev/null +++ b/public/assets/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/astropaper-og.jpg b/public/astropaper-og.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b351f931a150496c7454e8c3f1deced1fe9d6a0 GIT binary patch literal 148774 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

l-!fH`U7r;E^%YZa?MZFa!1%m%F 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 + + + + + + + + + + diff --git a/public/toggle-theme.js b/public/toggle-theme.js new file mode 100644 index 0000000..146af33 --- /dev/null +++ b/public/toggle-theme.js @@ -0,0 +1,76 @@ +const primaryColorScheme = ""; // "light" | "dark" + +// Get theme data from local storage +const currentTheme = localStorage.getItem("theme"); + +function getPreferTheme() { + // return theme value in local storage if it is set + if (currentTheme) return currentTheme; + + // return primary color scheme if it is set + if (primaryColorScheme) return primaryColorScheme; + + // return user device's prefer color scheme + return window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light"; +} + +let themeValue = getPreferTheme(); + +function setPreference() { + localStorage.setItem("theme", themeValue); + reflectPreference(); +} + +function reflectPreference() { + document.firstElementChild.setAttribute("data-theme", themeValue); + + document.querySelector("#theme-btn")?.setAttribute("aria-label", themeValue); + + // Get a reference to the body element + const body = document.body; + + // Check if the body element exists before using getComputedStyle + if (body) { + // Get the computed styles for the body element + const computedStyles = window.getComputedStyle(body); + + // Get the background color property + const bgColor = computedStyles.backgroundColor; + + // Set the background color in + document + .querySelector("meta[name='theme-color']") + ?.setAttribute("content", bgColor); + } +} + +// set early so no page flashes / CSS is made aware +reflectPreference(); + +window.onload = () => { + function setThemeFeature() { + // set on load so screen readers can get the latest value on the button + reflectPreference(); + + // now this script can find and listen for clicks on the control + document.querySelector("#theme-btn")?.addEventListener("click", () => { + themeValue = themeValue === "light" ? "dark" : "light"; + setPreference(); + }); + } + + setThemeFeature(); + + // Runs on view transitions navigation + document.addEventListener("astro:after-swap", setThemeFeature); +}; + +// sync with system changes +window + .matchMedia("(prefers-color-scheme: dark)") + .addEventListener("change", ({ matches: isDark }) => { + themeValue = isDark ? "dark" : "light"; + setPreference(); + }); diff --git a/remark-collapse.d.ts b/remark-collapse.d.ts new file mode 100644 index 0000000..2e0f26c --- /dev/null +++ b/remark-collapse.d.ts @@ -0,0 +1 @@ +declare module 'remark-collapse'; \ No newline at end of file diff --git a/src/assets/images/AstroPaper-v3.png b/src/assets/images/AstroPaper-v3.png new file mode 100644 index 0000000000000000000000000000000000000000..7b9674130beccf063b59e22ce2d1e7d419ae04f3 GIT binary patch literal 173038 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

!R}YzKfJedF!9J14M%+>H2@fZ%EXyF0)9`ncY? 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

0+m`6?&>p(bf-WY6Xk5UEHKUM5p-}95%1u1n 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 + + + `, + Facebook: ` + + + `, + Instagram: ` + + + + + `, + LinkedIn: ` + + + + + + + `, + Mail: ` + + + + `, + Twitter: ` + + + `, + Twitch: ` + + `, + YouTube: ` + + + `, + WhatsApp: ` + + + + `, + Snapchat: ` + + + `, + Pinterest: ` + + + + + `, + TikTok: ` + + + `, + CodePen: ` + + + + + + + + `, + Discord: ` + + + + + + + + `, + GitLab: ` + + + `, + Reddit: ` + + + + + + + + `, + Skype: ` + + + + `, + Steam: ` + + + + `, + Telegram: ` + + + `, + Mastodon: ` + + `, +}; + +export default socialIcons; diff --git a/src/components/Breadcrumbs.astro b/src/components/Breadcrumbs.astro new file mode 100644 index 0000000..70d5b55 --- /dev/null +++ b/src/components/Breadcrumbs.astro @@ -0,0 +1,72 @@ +--- +// Remove current url path and remove trailing slash if exists +const currentUrlPath = Astro.url.pathname.replace(/\/+$/, ""); + +// Get url array from path +// eg: /tags/tailwindcss => ['tags', 'tailwindcss'] +const breadcrumbList = currentUrlPath.split("/").slice(1); + +// if breadcrumb is Home > Posts > 1 +// replace Posts with Posts (page number) +breadcrumbList[0] === "posts" && + breadcrumbList.splice(0, 2, `Posts (page ${breadcrumbList[1] || 1})`); + +// if breadcrumb is Home > Tags > [tag] > [page] +// replace [tag] > [page] with [tag] (page number) +breadcrumbList[0] === "tags" && + !isNaN(Number(breadcrumbList[2])) && + breadcrumbList.splice( + 1, + 3, + `${breadcrumbList[1]} ${ + Number(breadcrumbList[2]) === 1 ? "" : "(page " + breadcrumbList[2] + ")" + }` + ); +--- + +

+ + diff --git a/src/components/Card.tsx b/src/components/Card.tsx new file mode 100644 index 0000000..711a252 --- /dev/null +++ b/src/components/Card.tsx @@ -0,0 +1,35 @@ +import { slugifyStr } from "@utils/slugify"; +import Datetime from "./Datetime"; +import type { CollectionEntry } from "astro:content"; + +export interface Props { + href?: string; + frontmatter: CollectionEntry<"blog">["data"]; + secHeading?: boolean; +} + +export default function Card({ href, frontmatter, secHeading = true }: Props) { + const { title, pubDatetime, modDatetime, description } = frontmatter; + + const headerProps = { + style: { viewTransitionName: slugifyStr(title) }, + className: "text-lg font-medium decoration-dashed hover:underline", + }; + + return ( +
  • + + {secHeading ? ( +

    {title}

    + ) : ( +

    {title}

    + )} +
    + +

    {description}

    +
  • + ); +} diff --git a/src/components/Datetime.tsx b/src/components/Datetime.tsx new file mode 100644 index 0000000..4e28419 --- /dev/null +++ b/src/components/Datetime.tsx @@ -0,0 +1,72 @@ +import { LOCALE } from "@config"; + +interface DatetimesProps { + pubDatetime: string | Date; + modDatetime: string | Date | undefined | null; +} + +interface Props extends DatetimesProps { + size?: "sm" | "lg"; + className?: string; +} + +export default function Datetime({ + pubDatetime, + modDatetime, + size = "sm", + className, +}: Props) { + return ( +
    + + {modDatetime && modDatetime > pubDatetime ? ( + + Updated: + + ) : ( + Published: + )} + + + +
    + ); +} + +const FormattedDatetime = ({ pubDatetime, modDatetime }: DatetimesProps) => { + const myDatetime = new Date( + modDatetime && modDatetime > pubDatetime ? modDatetime : pubDatetime + ); + + const date = myDatetime.toLocaleDateString(LOCALE.langTag, { + year: "numeric", + month: "short", + day: "numeric", + }); + + const time = myDatetime.toLocaleTimeString(LOCALE.langTag, { + hour: "2-digit", + minute: "2-digit", + }); + + return ( + <> + + +  at  + {time} + + ); +}; diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..887d810 --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,45 @@ +--- +import Hr from "./Hr.astro"; +import Socials from "./Socials.astro"; + +const currentYear = new Date().getFullYear(); + +export interface Props { + noMarginTop?: boolean; +} + +const { noMarginTop = false } = Astro.props; +--- + +
    +
    + +
    + + diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..43a4a71 --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,215 @@ +--- +import { LOGO_IMAGE, SITE } from "@config"; +import Hr from "./Hr.astro"; +import LinkButton from "./LinkButton.astro"; + +export interface Props { + activeNav?: "posts" | "tags" | "about" | "search"; +} + +const { activeNav } = Astro.props; +--- + +
    + Skip to content + +
    +
    + + + + diff --git a/src/components/Hr.astro b/src/components/Hr.astro new file mode 100644 index 0000000..d7e835b --- /dev/null +++ b/src/components/Hr.astro @@ -0,0 +1,12 @@ +--- +export interface Props { + noPadding?: boolean; + ariaHidden?: boolean; +} + +const { noPadding = false, ariaHidden = true } = Astro.props; +--- + +
    +
    +
    diff --git a/src/components/LinkButton.astro b/src/components/LinkButton.astro new file mode 100644 index 0000000..4f38fd5 --- /dev/null +++ b/src/components/LinkButton.astro @@ -0,0 +1,33 @@ +--- +export interface Props { + href: string; + className?: string; + ariaLabel?: string; + title?: string; + disabled?: boolean; +} + +const { href, className, ariaLabel, title, disabled = false } = Astro.props; +--- + +{ + disabled ? ( + + + + ) : ( + + + + ) +} diff --git a/src/components/Pagination.astro b/src/components/Pagination.astro new file mode 100644 index 0000000..fb64089 --- /dev/null +++ b/src/components/Pagination.astro @@ -0,0 +1,57 @@ +--- +import LinkButton from "./LinkButton.astro"; + +export interface Props { + currentPage: number; + totalPages: number; + prevUrl: string; + nextUrl: string; +} + +const { currentPage, totalPages, prevUrl, nextUrl } = Astro.props; + +const prev = currentPage > 1 ? "" : "disabled"; +const next = currentPage < totalPages ? "" : "disabled"; +--- + +{ + totalPages > 1 && ( + + ) +} + + diff --git a/src/components/Search.tsx b/src/components/Search.tsx new file mode 100644 index 0000000..e6f39ff --- /dev/null +++ b/src/components/Search.tsx @@ -0,0 +1,123 @@ +import Fuse from "fuse.js"; +import { useEffect, useRef, useState, useMemo } from "react"; +import Card from "@components/Card"; +import type { CollectionEntry } from "astro:content"; + +export type SearchItem = { + title: string; + description: string; + data: CollectionEntry<"blog">["data"]; + slug: string; +}; + +interface Props { + searchList: SearchItem[]; +} + +interface SearchResult { + item: SearchItem; + refIndex: number; +} + +export default function SearchBar({ searchList }: Props) { + const inputRef = useRef(null); + const [inputVal, setInputVal] = useState(""); + const [searchResults, setSearchResults] = useState( + null + ); + + const handleChange = (e: React.FormEvent) => { + setInputVal(e.currentTarget.value); + }; + + const fuse = useMemo( + () => + new Fuse(searchList, { + keys: ["title", "description"], + includeMatches: true, + minMatchCharLength: 2, + threshold: 0.5, + }), + [searchList] + ); + + useEffect(() => { + // if URL has search query, + // insert that search query in input field + const searchUrl = new URLSearchParams(window.location.search); + const searchStr = searchUrl.get("q"); + if (searchStr) setInputVal(searchStr); + + // put focus cursor at the end of the string + setTimeout(function () { + inputRef.current!.selectionStart = inputRef.current!.selectionEnd = + searchStr?.length || 0; + }, 50); + }, []); + + useEffect(() => { + // Add search result only if + // input value is more than one character + let inputResult = inputVal.length > 1 ? fuse.search(inputVal) : []; + setSearchResults(inputResult); + + // Update search string in URL + if (inputVal.length > 0) { + const searchParams = new URLSearchParams(window.location.search); + searchParams.set("q", inputVal); + const newRelativePathQuery = + window.location.pathname + "?" + searchParams.toString(); + history.replaceState(history.state, "", newRelativePathQuery); + } else { + history.replaceState(history.state, "", window.location.pathname); + } + }, [inputVal]); + + return ( + <> + + + {inputVal.length > 1 && ( +
    + Found {searchResults?.length} + {searchResults?.length && searchResults?.length === 1 + ? " result" + : " results"}{" "} + for '{inputVal}' +
    + )} + +
      + {searchResults && + searchResults.map(({ item, refIndex }) => ( + + ))} +
    + + ); +} diff --git a/src/components/ShareLinks.astro b/src/components/ShareLinks.astro new file mode 100644 index 0000000..78d20a0 --- /dev/null +++ b/src/components/ShareLinks.astro @@ -0,0 +1,66 @@ +--- +import LinkButton from "./LinkButton.astro"; +import socialIcons from "@assets/socialIcons"; + +const URL = Astro.url; + +const shareLinks = [ + { + name: "WhatsApp", + href: "https://wa.me/?text=", + linkTitle: `Share this post via WhatsApp`, + }, + { + name: "Facebook", + href: "https://www.facebook.com/sharer.php?u=", + linkTitle: `Share this post on Facebook`, + }, + { + name: "Twitter", + href: "https://twitter.com/intent/tweet?url=", + linkTitle: `Tweet this post`, + }, + { + name: "Telegram", + href: "https://t.me/share/url?url=", + linkTitle: `Share this post via Telegram`, + }, + { + name: "Pinterest", + href: "https://pinterest.com/pin/create/button/?url=", + linkTitle: `Share this post on Pinterest`, + }, + { + name: "Mail", + href: "mailto:?subject=See%20this%20post&body=", + linkTitle: `Share this post via email`, + }, +] as const; +--- + +
    + Share this post on: +
    + { + shareLinks.map(social => ( + + + {social.linkTitle} + + )) + } +
    +
    + + diff --git a/src/components/Socials.astro b/src/components/Socials.astro new file mode 100755 index 0000000..54832f9 --- /dev/null +++ b/src/components/Socials.astro @@ -0,0 +1,35 @@ +--- +import { SOCIALS } from "@config"; +import LinkButton from "./LinkButton.astro"; +import socialIcons from "@assets/socialIcons"; + +export interface Props { + centered?: boolean; +} + +const { centered = false } = Astro.props; +--- + +
    + { + SOCIALS.filter(social => social.active).map(social => ( + + + {social.linkTitle} + + )) + } +
    + + diff --git a/src/components/Tag.astro b/src/components/Tag.astro new file mode 100644 index 0000000..5a4a376 --- /dev/null +++ b/src/components/Tag.astro @@ -0,0 +1,38 @@ +--- +export interface Props { + tag: string; + size?: "sm" | "lg"; +} + +const { tag, size = "sm" } = Astro.props; +--- + +
  • + + + +  {tag} + +
  • + + diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000..be055eb --- /dev/null +++ b/src/config.ts @@ -0,0 +1,147 @@ +import type { Site, SocialObjects } from "./types"; + +export const SITE: Site = { + website: "https://astro-paper.pages.dev/", // replace this with your deployed domain + author: "Sat Naing", + desc: "A minimal, responsive and SEO-friendly Astro blog theme.", + title: "AstroPaper", + ogImage: "astropaper-og.jpg", + lightAndDarkMode: true, + postPerPage: 3, + scheduledPostMargin: 15 * 60 * 1000, // 15 minutes +}; + +export const LOCALE = { + lang: "en", // html lang code. Set this empty and default will be "en" + langTag: ["en-EN"], // BCP 47 Language Tags. Set this empty [] to use the environment default +} as const; + +export const LOGO_IMAGE = { + enable: false, + svg: true, + width: 216, + height: 46, +}; + +export const SOCIALS: SocialObjects = [ + { + name: "Github", + href: "https://github.com/satnaing/astro-paper", + linkTitle: ` ${SITE.title} on Github`, + active: true, + }, + { + name: "Facebook", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Facebook`, + active: true, + }, + { + name: "Instagram", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Instagram`, + active: true, + }, + { + name: "LinkedIn", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on LinkedIn`, + active: true, + }, + { + name: "Mail", + href: "mailto:yourmail@gmail.com", + linkTitle: `Send an email to ${SITE.title}`, + active: false, + }, + { + name: "Twitter", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Twitter`, + active: false, + }, + { + name: "Twitch", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Twitch`, + active: false, + }, + { + name: "YouTube", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on YouTube`, + active: false, + }, + { + name: "WhatsApp", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on WhatsApp`, + active: false, + }, + { + name: "Snapchat", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Snapchat`, + active: false, + }, + { + name: "Pinterest", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Pinterest`, + active: false, + }, + { + name: "TikTok", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on TikTok`, + active: false, + }, + { + name: "CodePen", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on CodePen`, + active: false, + }, + { + name: "Discord", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Discord`, + active: false, + }, + { + name: "GitLab", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on GitLab`, + active: false, + }, + { + name: "Reddit", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Reddit`, + active: false, + }, + { + name: "Skype", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Skype`, + active: false, + }, + { + name: "Steam", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Steam`, + active: false, + }, + { + name: "Telegram", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Telegram`, + active: false, + }, + { + name: "Mastodon", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Mastodon`, + active: false, + }, +]; diff --git a/src/content/blog/adding-new-post.md b/src/content/blog/adding-new-post.md new file mode 100644 index 0000000..449896d --- /dev/null +++ b/src/content/blog/adding-new-post.md @@ -0,0 +1,170 @@ +--- +author: Sat Naing +pubDatetime: 2022-09-23T15:22:00Z +modDatetime: 2023-12-21T09:12:47.400Z +title: Adding new posts in AstroPaper theme +slug: adding-new-posts-in-astropaper-theme +featured: true +draft: false +tags: + - docs +description: + Some rules & recommendations for creating or adding new posts using AstroPaper + theme. +--- + +Here are some rules/recommendations, tips & ticks for creating new posts in AstroPaper blog theme. + +## Table of contents + +## Frontmatter + +Frontmatter is the main place to store some important information about the blog post (article). Frontmatter lies at the top of the article and is written in YAML format. Read more about frontmatter and its usage in [astro documentation](https://docs.astro.build/en/guides/markdown-content/). + +Here is the list of frontmatter property for each post. + +| Property | Description | Remark | +| ------------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------- | +| **_title_** | Title of the post. (h1) | required\* | +| **_description_** | Description of the post. Used in post excerpt and site description of the post. | required\* | +| **_pubDatetime_** | Published datetime in ISO 8601 format. | required\* | +| **_modDatetime_** | Modified datetime in ISO 8601 format. (only add this property when a blog post is modified) | optional | +| **_author_** | Author of the post. | default = SITE.author | +| **_slug_** | Slug for the post. This field is optional but cannot be an empty string. (slug: ""❌) | default = slugified file name | +| **_featured_** | Whether or not display this post in featured section of home page | default = false | +| **_draft_** | Mark this post 'unpublished'. | default = false | +| **_tags_** | Related keywords for this post. Written in array yaml format. | default = others | +| **_ogImage_** | OG image of the post. Useful for social media sharing and SEO. | default = SITE.ogImage or generated OG image | +| **_canonicalURL_** | Canonical URL (absolute), in case the article already exists on other source. | default = `Astro.site` + `Astro.url.pathname` | + +> Tip! You can get ISO 8601 datetime by running `new Date().toISOString()` in the console. Make sure you remove quotes though. + +Only `title`, `description` and `pubDatetime` fields in frontmatter must be specified. + +Title and description (excerpt) are important for search engine optimization (SEO) and thus AstroPaper encourages to include these in blog posts. + +`slug` is the unique identifier of the url. Thus, `slug` must be unique and different from other posts. The whitespace of `slug` should to be separated with `-` or `_` but `-` is recommended. Slug is automatically generated using the blog post file name. However, you can define your `slug` as a frontmatter in your blog post. + +For example, if the blog file name is `adding-new-post.md` and you don't specify the slug in your frontmatter, Astro will automatically create a slug for the blog post using the file name. Thus, the slug will be `adding-new-post`. But if you specify the `slug` in the frontmatter, this will override the default slug. You can read more about this in [Astro Docs](https://docs.astro.build/en/guides/content-collections/#defining-custom-slugs). + +If you omit `tags` in a blog post (in other words, if no tag is specified), the default tag `others` will be used as a tag for that post. You can set the default tag in the `/src/content/config.ts` file. + +```ts +// src/content/config.ts +export const blogSchema = z.object({ + // --- + draft: z.boolean().optional(), + tags: z.array(z.string()).default(["others"]), // replace "others" with whatever you want + // --- +}); +``` + +### Sample Frontmatter + +Here is the sample frontmatter for a post. + +```yaml +# src/content/blog/sample-post.md +--- +title: The title of the post +author: your name +pubDatetime: 2022-09-21T05:17:19Z +slug: the-title-of-the-post +featured: true +draft: false +tags: + - some + - example + - tags +ogImage: "" +description: This is the example description of the example post. +canonicalURL: https://example.org/my-article-was-already-posted-here +--- +``` + +## Adding table of contents + +By default, a post (article) does not include any table of contents (toc). To include toc, you have to specify it in a specific way. + +Write `Table of contents` in h2 format (## in markdown) and place it where you want it to be appeared on the post. + +For instance, if you want to place your table of contents just under the intro paragraph (like I usually do), you can do that in the following way. + +```md +--- +# some frontmatter +--- + +Here are some recommendations, tips & ticks for creating new posts in AstroPaper blog theme. + +## Table of contents + + +``` + +## Headings + +There's one thing to note about headings. The AstroPaper blog posts use title (title in the frontmatter) as the main heading of the post. Therefore, the rest of the heading in the post should be using h2 \~ h6. + +This rule is not mandatory, but highly recommended for visual, accessibility and SEO purposes. + +## Storing Images for Blog Content + +Here are two methods for storing images and displaying them inside a markdown file. + +> Note! If it's a requirement to style optimized images in markdown you should [use MDX](https://docs.astro.build/en/guides/images/#images-in-mdx-files). + +### Inside `src/assets/` directory (recommended) + +You can store images inside `src/assets/` directory. These images will be automatically optimized by Astro through [Image Service API](https://docs.astro.build/en/reference/image-service-reference/). + +You can use relative path or alias path (`@assets/`) to serve these images. + +Example: Suppose you want to display `example.jpg` whose path is `/src/assets/images/example.jpg`. + +```md +![something](@assets/images/example.jpg) + + + +![something](../../assets/images/example.jpg) + + +something + +``` + +> Technically, you can store images inside any directory under `src`. In here, `src/assets` is just a recommendation. + +### Inside `public` directory + +You can store images inside the `public` directory. Keep in mind that images stored in the `public` directory remain untouched by Astro, meaning they will be unoptimized and you need to handle image optimization by yourself. + +For these images, you should use an absolute path; and these images can be displayed using [markdown annotation](https://www.markdownguide.org/basic-syntax/#images-1) or [HTML img tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img). + +Example: Assume `example.jpg` is located at `/public/assets/images/example.jpg`. + +```md +![something](/assets/images/example.jpg) + + + +something +``` + +## Bonus + +### Image compression + +When you put images in the blog post (especially for images under `public` directory), it is recommended that the image is compressed. This will affect the overall performance of the website. + +My recommendation for image compression sites. + +- [TinyPng](https://tinypng.com/) +- [TinyJPG](https://tinyjpg.com/) + +### OG Image + +The default OG image will be placed if a post does not specify the OG image. Though not required, OG image related to the post should be specify in the frontmatter. The recommended size for OG image is **_1200 X 640_** px. + +> Since AstroPaper v1.4.0, OG images will be generated automatically if not specified. Check out [the announcement](https://astro-paper.pages.dev/posts/dynamic-og-image-generation-in-astropaper-blog-posts/). diff --git a/src/content/blog/astro-paper-2.md b/src/content/blog/astro-paper-2.md new file mode 100644 index 0000000..092606b --- /dev/null +++ b/src/content/blog/astro-paper-2.md @@ -0,0 +1,91 @@ +--- +author: Sat Naing +pubDatetime: 2023-01-30T15:57:52.737Z +title: AstroPaper 2.0 +slug: astro-paper-2 +featured: false +ogImage: https://user-images.githubusercontent.com/53733092/215771435-25408246-2309-4f8b-a781-1f3d93bdf0ec.png +tags: + - release +description: AstroPaper with the enhancements of Astro v2. Type-safe markdown contents, bug fixes and better dev experience etc. +--- + +Astro 2.0 has been released with some cool features, breaking changes, DX improvements, better error overlay and so on. AstroPaper takes advantage of those cool features, especially Content Collections API. + + + +![Introducing AstroPaper 2.0](https://user-images.githubusercontent.com/53733092/215771435-25408246-2309-4f8b-a781-1f3d93bdf0ec.png) + +## Table of contents + +## Features & Changes + +### Type-safe Frontmatters and Redefined Blog Schema + +Frontmatter of AstroPaper 2.0 markdown contents are now type-safe thanks to Astro’s Content Collections. Blog schema is defined inside the `src/content/_schemas.ts` file. + +### New Home for Blog contents + +All the blog posts were moved from `src/contents` to `src/content/blog` directory. + +### New Fetch API + +Contents are now fetched with `getCollection` function. No relative path to the content needs to be specified anymore. + +```ts +// old content fetching method +- const postImportResult = import.meta.glob>( + "../contents/**/**/*.md",); + +// new content fetching method ++ const postImportResult = await getCollection("blog"); +``` + +### Modified Search Logic for better Search Result + +In the older version of AstroPaper, when someone search some article, the search criteria keys that will be searched are `title`, `description` and `headings` (heading means all the headings h1 ~ h6 of the blog post). In AstroPaper v2, only `title` and `description` will be searched as the user types. + +### Renamed Frontmatter Properties + +The following frontmatter properties are renamed. + +| Old Names | New Names | +| --------- | ----------- | +| datetime | pubDatetime | +| slug | postSlug | + +### Default Tag for blog post + +If a blog post doesn't have any tag (in other words, frontmatter property `tags` is not specified), the default tag `others` will be used for that blog post. But you can set the default tag in the `/src/content/_schemas.ts` file. + +```ts +// src/contents/_schemas.ts +export const blogSchema = z.object({ + // --- + // replace "others" with whatever you want + tags: z.array(z.string()).default(["others"]), + ogImage: z.string().optional(), + description: z.string(), +}); +``` + +### New Predefined Dark Color Scheme + +AstroPaper v2 has a new dark color scheme (high contrast & low contrast) which is based on Astro's dark logo. Check out [this link](https://astro-paper.pages.dev/posts/predefined-color-schemes#astro-dark) for more info. + +![New Predefined Dark Color Scheme](https://user-images.githubusercontent.com/53733092/215680520-59427bb0-f4cb-48c0-bccc-f182a428d72d.svg) + +### Automatic Class Sorting + +AstroPaper 2.0 includes automatic class sorting with [TailwindCSS Prettier plugin](https://tailwindcss.com/blog/automatic-class-sorting-with-prettier) + +### Updated Docs & README + +All the [#docs](https://astro-paper.pages.dev/tags/docs/) blog posts and [README](https://github.com/satnaing/astro-paper#readme) are updated for this AstroPaper v2. + +## Bug Fixes + +- fix broken tags in the Blog Post page +- in a tag page, the last part of the breadcrumb is now updated to lower-case for consistency +- exclude draft posts in a tag page +- fix 'onChange value not updating issue' after a page reload diff --git a/src/content/blog/astro-paper-3.md b/src/content/blog/astro-paper-3.md new file mode 100644 index 0000000..b5ea073 --- /dev/null +++ b/src/content/blog/astro-paper-3.md @@ -0,0 +1,173 @@ +--- +author: Sat Naing +pubDatetime: 2023-09-25T10:25:54.547Z +title: AstroPaper 3.0 +slug: astro-paper-v3 +featured: false +ogImage: https://github.com/satnaing/astro-paper/assets/53733092/1ef0cf03-8137-4d67-ac81-84a032119e3a +tags: + - release +description: "AstroPaper Version 3: Elevating Your Web Experience with Astro v3 and Seamless View Transitions" +--- + +We're excited to announce the release of AstroPaper v3, packed with new features, enhancements, and bug fixes to elevate your web development experience. Let's dive into the highlights of this release: + +![AstroPaper v3](@assets/images/AstroPaper-v3.png) + +## Table of contents + +## Features & Changes + +### Astro v3 Integration + + + +AstroPaper now fully supports [Astro v3](https://astro.build/blog/astro-3/), offering improved performance and rendering speed. + +Besides, we've added support for Astro's [ViewTransitions API](https://docs.astro.build/en/guides/view-transitions/), allowing you to create captivating and dynamic transitions between views. + +In the "Recent Section", only non-featured posts will be displayed to avoid duplications and better support for ViewTransitions API. + +### Update OG Image Generation Logic + +![Example OG Image](https://user-images.githubusercontent.com/40914272/269252964-a0dc6735-80f7-41ed-8e74-4d4d70f96891.png) + +We've updated the logic for automatic OG image generation, making it even more reliable and efficient. Besides, it now supports special characters in post titles, ensuring accurate, flexible and eye-catching social media previews. + +`SITE.ogImage` is now optional. If it is not specified, AstroPaper will automatically generate an OG image using `SITE.title`, `SITE.desc` and `SITE.website` + +### Theme meta tag + +The theme-color meta tag has been added to dynamically adapt to theme switches, ensuring a seamless user experience. + +> Notice the difference at the top + +**_AstroPaper v2 theme switch_** + + + +**_AstroPaper v3 theme switch_** + + + +## Other Changes + +### Astro Prettier Plugin + +Astro Prettier Plugin is installed out-of-the-box in order to keep the project tidy and organized. + +### Minor Style Changes + +The single-line code block wrapping issue has been solved, making your code snippets look pristine. + +Update nav style CSS to allow adding more nav links to the navigation. + +## Upgrade to AstroPaper v3 + +> This section is only for those who want to upgrade AstroPaper v3 from the older versions. + +This section will help you migrate from AstroPaper v2 to AstroPaper v3. + +Before reading the rest of the section, you might also want to check [this article](https://astro-paper.pages.dev/posts/how-to-update-dependencies/) for upgrading dependencies and AstroPaper. + +## Option 1: Fresh Restart (recommended) + +In this release, a lot of changes have been made\_ replacing old Astro APIs with newer APIs, bug fixes, new features etc. Thus, if you are someone who didn't make customization very much, you should follow this approach. + +**_Step 1: Keep all your updated files_** + +It's important to keep all the files which have been already updated. These files include + +- `/src/config.ts` (didn't touch in v3) +- `/src/styles/base.css` (minor changes in v3; mentioned below) +- `/src/assets/` (didn't touch in v3) +- `/public/assets/` (didn't touch in v3) +- `/content/blog/` (it's your blog content directory πŸ€·πŸ»β€β™‚οΈ) +- Any other customizations you've made. + +```css +/* file: /src/styles/base.css */ +@layer base { + /* Other Codes */ + ::-webkit-scrollbar-thumb:hover { + @apply bg-skin-card-muted; + } + + /* Old code + code { + white-space: pre; + overflow: scroll; + } + */ + + /* New code */ + code, + blockquote { + word-wrap: break-word; + } + pre > code { + white-space: pre; + } +} + +@layer components { + /* other codes */ +} +``` + +**_Step 1: Replace everything else with AstroPaper v3_** + +In this step, replace everything\_ except above files/directories (plus your customized files/directories)\_ with AstroPaper v3. + +**_Step 3: Schema Updates_** + +Keep in mind that `/src/content/_schemas.ts` has been replaced with `/src/content/config.ts`. + +Besides, there is no longer `BlogFrontmatter` type exported from `/src/content/config.ts`. + +Therefore, all the `BlogFrontmatter` type inside files need to be updated with `CollectionEntry<"blog">["data"]`. + +For example: `src/components/Card.tsx` + +```ts +// AstroPaper v2 +import type { BlogFrontmatter } from "@content/_schemas"; + +export interface Props { + href?: string; + frontmatter: BlogFrontmatter; + secHeading?: boolean; +} +``` + +```ts +// AstroPaper v3 +import type { CollectionEntry } from "astro:content"; + +export interface Props { + href?: string; + frontmatter: CollectionEntry<"blog">["data"]; + secHeading?: boolean; +} +``` + +## Option 2: Upgrade using Git + +This approach is not recommended for most users. You should do the "Option 1" if you can. Only do this if you know how to resolve merge conflicts and you know what you're doing. + +Actually, I've already written a blog post for this case and you can check out [here](https://astro-paper.pages.dev/posts/how-to-update-dependencies/#updating-astropaper-using-git). + +## Outro + +Ready to explore the exciting new features and improvements in AstroPaper v3? Start [using AstroPaper](https://github.com/satnaing/astro-paper) now. + +For other bug fixes and integration updates, check out the [release notes](https://github.com/satnaing/astro-paper/releases/tag/v3.0.0) to learn more. + +If you encounter any bugs or face difficulties during the upgrade process, please feel free to open an issue or start a discussion on [GitHub](https://github.com/satnaing/astro-paper). diff --git a/src/content/blog/astro-paper-4.md b/src/content/blog/astro-paper-4.md new file mode 100644 index 0000000..a3ebd76 --- /dev/null +++ b/src/content/blog/astro-paper-4.md @@ -0,0 +1,124 @@ +--- +author: Sat Naing +pubDatetime: 2024-01-04T09:30:41.816Z +title: AstroPaper 4.0 +slug: "astro-paper-v4" +featured: true +ogImage: ../../assets/images/AstroPaper-v4.png +tags: + - release +description: "AstroPaper v4: ensuring a smoother and more feature-rich blogging experience." +--- + +Hello everyone! Wishing you a happy New Year πŸŽ‰ and all the best for 2024! We're excited to announce the release of AstroPaper v4, a significant update that introduces a range of new features, improvements, and bug fixes to elevate your blogging experience. A big thank you to all the contributors for their valuable input and efforts in making version 4 possible! + +![AstroPaper v4](@assets/images/AstroPaper-v4.png) + +## Table of contents + +## Major Changes + +### Upgrade to Astro v4 [#202](https://github.com/satnaing/astro-paper/pull/202) + +AstroPaper now leverages the power and capabilities of Astro v4. However, it’s a subtle upgrade and won’t break most Astro users. + +![Astro v4](https://astro.build/_astro/header-astro-4.GLp8HjfV.webp) + +### Replace `postSlug` with Astro Content `slug` [#197](https://github.com/satnaing/astro-paper/pull/197) + +The `postSlug` in the blog content schema is no longer available in AstroPaper v4. Initially Astro doesn't have a `slug` mechanism and thus we have to figure it out on our own. Since Astro v3, it supports content collection and slug features. Now, we believe it's time to adopt Astro's out-of-the-box `slug` feature. + +**_file: src/content/blog/astro-paper-4.md_** + +```bash +--- +author: Sat Naing +pubDatetime: 2024-01-01T04:35:33.428Z +title: AstroPaper 4.0 +slug: "astro-paper-v4" # if slug is not specified, it will be 'astro-paper-4' (file name). +# slug: "" ❌ cannot be an empty string +--- +``` + +The behavior of the `slug` is slightly different now. In the previous versions of AstroPaper, if the `postSlug` is not specified in a blog post (markdown file), the title of that blog post would be slugified and used as the `slug`. However, in AstroPaper v4, if the `slug` field is not specified, the markdown file name will be used as the `slug`. One thing to keep in mind is that the `slug` field can be omitted, but it cannot be an empty string (slug: "" ❌). + +If you're upgrading AstroPaper from v3 to v4, make sure to replace `postSlug` in your `src/content/blog/*.md` files with `slug`. + +## New Features + +### Add code-snippets for content creation [#206](https://github.com/satnaing/astro-paper/pull/206) + +AstroPaper now includes VSCode snippets for new blog posts, eliminating the need for manual copy/pasting of the frontmatter and content structure (table of contents, heading, excerpt, etc.). + +Read more about VSCode Snippets [here](https://code.visualstudio.com/docs/editor/userdefinedsnippets#:~:text=In%20Visual%20Studio%20Code%2C%20snippets,Snippet%20in%20the%20Command%20Palette). + + + +### Add Modified Datetime in Blog Posts [#195](https://github.com/satnaing/astro-paper/pull/195) + +Keep readers informed about the latest updates by displaying the modified datetime in blog posts. This not only instills user trust in the freshness of the articles but also contributes to improved SEO for the blog. + +![Last Modified Date feature in AstroPaper](https://github.com/satnaing/astro-paper/assets/53733092/cc89585e-148e-444d-9da1-0d496e867175) + +You can add a `modDatetime` to your blog post if you've made modifications. Now, the sorting behavior of the posts is slightly different. All posts are sorted by both `pubDatetime` and `modDatetime`. If a post has both a `pubDatetime` and `modDatetime`, its sorting position will be determined by the `modDatetime`. If not, only `pubDatetime` will be considered to determine the post's sorting order. + +### Implement Back-to-Top Button [#188](https://github.com/satnaing/astro-paper/pull/188) + +Enhance user navigation on your blog detail post with the newly implemented back-to-top button. + +![Back to top button in AstroPaper](https://github.com/satnaing/astro-paper/assets/53733092/79854957-7877-4f19-936e-ad994b772074) + +### Add Pagination in Tag Posts [#201](https://github.com/satnaing/astro-paper/pull/201) + +Improve content organization and navigation with the addition of pagination in tag posts, making it easier for users to explore related content. This ensures that if a tag has many posts, readers won't be overwhelmed by all the tag-related posts. + + + +### Dynamically Generate robots.txt [#130](https://github.com/satnaing/astro-paper/pull/130) + +AstroPaper v4 now dynamically generates the robots.txt file, giving you more control over search engine indexing and web crawling. Besides, sitemap URL will also be added inside `robot.txt` file. + +### Add Docker-Compose File [#174](https://github.com/satnaing/astro-paper/pull/174) + +Managing your AstroPaper environment is now easier than ever with the addition of a Docker-Compose file, simplifying deployment and configuration. + +## Refactoring & Bug Fixes + +### Replace Slugified Title with Unslugified Tag Name [#198](https://github.com/satnaing/astro-paper/pull/198) + +To improve clarity, user experience and SEO, titles (`Tag: some-tag`) in tag page are no longer slugified (`Tag: Some Tag`). + +![Unslugified Tag Names](https://github.com/satnaing/astro-paper/assets/53733092/2fe90d6e-ec52-467b-9c44-95009b3ae0b7) + +### Implement 100svh for Min-Height ([79d569d](https://github.com/satnaing/astro-paper/commit/79d569d053036f2113519f41b0d257523d035b76)) + +We've updated the min-height on the body to use 100svh, offering a better UX for mobile users. + +### Update Site URL as Single Source of Truth [#143](https://github.com/satnaing/astro-paper/pull/143) + +The site URL is now a single source of truth, streamlining configuration and avoiding inconsistencies. Read more at this [PR](https://github.com/satnaing/astro-paper/pull/143) and its related issue(s). + +### Solve Invisible Text Code Block Issue in Light Mode [#163](https://github.com/satnaing/astro-paper/pull/163) + +We've fixed the invisible text code block issue in light mode. + +### Decode Unicode Tag Characters in Breadcrumb [#175](https://github.com/satnaing/astro-paper/pull/175) + +The last part of Tag in the breadcrumb is now decoded, making non-English Unicode characters display better. + +### Update LOCALE Config to Cover Overall Locales ([cd02b04](https://github.com/satnaing/astro-paper/commit/cd02b047d2b5e3b4a2940c0ff30568cdebcec0b8)) + +The LOCALE configuration has been updated to cover a broader range of locales, catering to a more diverse audience. + +## Outtro + +We believe these updates will significantly elevate your AstroPaper experience. Thank you to everyone who contributed, solved issues, and gave stars to AstroPaper. We look forward to seeing the amazing content you create with AstroPaper v4! + +Happy Blogging! + +[Sat Naing](https://satnaing.dev)
    +Creator of AstroPaper diff --git a/src/content/blog/customizing-astropaper-theme-color-schemes.md b/src/content/blog/customizing-astropaper-theme-color-schemes.md new file mode 100644 index 0000000..eb99c98 --- /dev/null +++ b/src/content/blog/customizing-astropaper-theme-color-schemes.md @@ -0,0 +1,132 @@ +--- +author: Sat Naing +pubDatetime: 2022-09-25T15:20:35Z +title: Customizing AstroPaper theme color schemes +featured: false +draft: false +tags: + - color-schemes + - docs +description: + How you can enable/disable light & dark mode; and customize color schemes + of AstroPaper theme. +--- + +This post will explain how you can enable/disable light & dark mode for the website. Moreover, you'll learn how you can customize color schemes of the entire website. + +## Table of contents + +## Enable/disable light & dark mode + +AstroPaper theme will include light and dark mode by default. In other words, there will be two color schemes\_ one for light mode and another for dark mode. This default behavior can be disabled in SITE configuration object of the `src/config.ts` file. + +```js +// file: src/config.ts +export const SITE = { + website: "https://astro-paper.pages.dev/", + author: "Sat Naing", + desc: "A minimal, responsive and SEO-friendly Astro blog theme.", + title: "AstroPaper", + ogImage: "astropaper-og.jpg", + lightAndDarkMode: true, // true by default + postPerPage: 3, +}; +``` + +To disable `light & dark mode` set `SITE.lightAndDarkMode` to `false`. + +## Choose primary color scheme + +By default, if we disable `SITE.lightAndDarkMode`, we will only get system's prefers-color-scheme. + +Thus, to choose primary color scheme instead of prefers-color-scheme, we have to set color scheme in the primaryColorScheme variable inside `public/toggle-theme.js`. + +```js +/* file: public/toggle-theme.js */ +const primaryColorScheme = ""; // "light" | "dark" + +// Get theme data from local storage +const currentTheme = localStorage.getItem("theme"); + +// other codes etc... +``` + +The **primaryColorScheme** variable can hold two values\_ `"light"`, `"dark"`. You can leave the empty string (default) if you don't want to specify the primary color scheme. + +- `""` - system's prefers-color-scheme. (default) +- `"light"` - use light mode as primary color scheme. +- `"dark"` - use dark mode as primary color scheme. + +
    Why 'primaryColorScheme' is not inside config.ts? + +> To avoid color flickering on page reload, we have to place the toggle-switch JavaScript codes as early as possible when the page loads. It solves the problem of flickering, but as a trade-off, we cannot use ESM imports anymore. + +[Click here](https://docs.astro.build/en/reference/directives-reference/#isinline) to know more about Astro's `is:inline` script. + +
    + +## Customize color schemes + +Both light & dark color schemes of AstroPaper theme can be customized. You can do this in `src/styles/base.css` file. + +```css +/* file: src/styles/base.css */ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root, + html[data-theme="light"] { + --color-fill: 251, 254, 251; + --color-text-base: 40, 39, 40; + --color-accent: 0, 108, 172; + --color-card: 230, 230, 230; + --color-card-muted: 205, 205, 205; + --color-border: 236, 233, 233; + } + html[data-theme="dark"] { + --color-fill: 47, 55, 65; + --color-text-base: 230, 230, 230; + --color-accent: 26, 217, 217; + --color-card: 63, 75, 90; + --color-card-muted: 89, 107, 129; + --color-border: 59, 70, 85; + } + /* other styles */ +} +``` + +In AstroPaper theme, `:root` and `html[data-theme="light"]` selectors are used as the light color scheme and `html[data-theme="dark"]` is used the dark color scheme. If you want to customize your custom color scheme, you have to specify your light color scheme inside `:root`,`html[data-theme="light"]` and dark color scheme inside `html[data-theme="dark"]`. + +Colors are declared in CSS custom property (CSS Variable) notation. Color property values are written in rgb values. (Note: instead of `rgb(40, 39, 40)`, only specify `40, 39, 40`) + +Here is the detail explanation of color properties. + +| Color Property | Definition & Usage | +| -------------------- | ---------------------------------------------------------- | +| `--color-fill` | Primary color of the website. Usually the main background. | +| `--color-text-base` | Secondary color of the website. Usually the text color. | +| `--color-accent` | Accent color of the website. Link color, hover color etc. | +| `--color-card` | Card, scrollbar and code background color (like `this`). | +| `--color-card-muted` | Card and scrollbar background color for hover state etc. | +| `--color-border` | Border color. Especially used in horizontal row (hr) | + +Here is an example of changing the light color scheme. + +```css +@layer base { + /* lobster color scheme */ + :root, + html[data-theme="light"] { + --color-fill: 246, 238, 225; + --color-text-base: 1, 44, 86; + --color-accent: 225, 74, 57; + --color-card: 220, 152, 145; + --color-card-muted: 233, 119, 106; + --color-border: 220, 152, 145; + } +} +``` + +> Check out some [predefined color schemes](https://astro-paper.pages.dev/posts/predefined-color-schemes/) AstroPaper has already crafted for you. diff --git a/src/content/blog/dynamic-og-images.md b/src/content/blog/dynamic-og-images.md new file mode 100644 index 0000000..8a60bb9 --- /dev/null +++ b/src/content/blog/dynamic-og-images.md @@ -0,0 +1,50 @@ +--- +author: Sat Naing +pubDatetime: 2022-12-28T04:59:04.866Z +title: Dynamic OG image generation in AstroPaper blog posts +slug: dynamic-og-image-generation-in-astropaper-blog-posts +featured: false +draft: false +tags: + - docs + - release +description: New feature in AstroPaper v1.4.0, introducing dynamic OG image generation for blog posts. +--- + +New feature in AstroPaper v1.4.0, introducing dynamic OG image generation for blog posts. + +## Table of contents + +## Intro + +OG images (aka Social Images) play an important role in social media engagements. In case you don't know what OG image means, it is an image displayed whenever we share our website URL on social media such as Facebook, Discord etc. + +> The Social Image used for Twitter is technically not called OG image. However, in this post, I'll be using the term OG image for all types of Social Images. + +## Default/Static OG image (the old way) + +AstroPaper already provided a way to add an OG image to a blog post. The author can specify the OG image in the frontmatter `ogImage`. Even when the author doesn't define the OG image in the frontmatter, the default OG image will be used as a fallback (in this case `public/astropaper-og.jpg`). But the problem is that the default OG image is static, which means every blog post that does not include an OG image in the frontmatter will always use the same default OG image despite each post title/content being different from others. + +## Dynamic OG Image + +Generating a dynamic OG image for each post allows the author to avoid specifying an OG image for every single blog post. Besides, this will prevent the fallback OG image from being identical to all blog posts. + +In AstroPaper v1.4.0, Vercel's [Satori](https://github.com/vercel/satori) package is used for dynamic OG image generation. + +Dynamic OG images will be generated at build time for blog posts that + +- don't include OG image in the frontmatter +- are not marked as draft. + +## Anatomy of AstroPaper dynamic OG image + +Dynamic OG image of AstroPaper includes _the blog post title_, _author name_ and _site title_. Author name and site title will be retrieved via `SITE.author` and `SITE.title` of **"src/config.ts"** file. The title is generated from the blog post frontmatter `title`. +![Example Dynamic OG Image link](https://user-images.githubusercontent.com/53733092/209704501-e9c2236a-3f4d-4c67-bab3-025aebd63382.png) + +## Limitations + +At the time of writing this, [Satori](https://github.com/vercel/satori) is fairly new and has not reached major release yet. So, there are still some limitations to this dynamic OG image feature. + +- If you have Blog posts with non-English titles, you have to set `embedFonts` option to `false` (file: `src/utils/generateOgImage.tsx`). Even after this, the OG image might not be displayed very well. +- Besides, RTL languages are not supported yet. +- [Using emoji](https://github.com/vercel/satori#emojis) in the title might be a little bit tricky. diff --git a/src/content/blog/example-draft-post.md b/src/content/blog/example-draft-post.md new file mode 100644 index 0000000..625a2bc --- /dev/null +++ b/src/content/blog/example-draft-post.md @@ -0,0 +1,21 @@ +--- +title: Example Draft Post +author: Sat Naing +pubDatetime: 2022-06-06T04:06:31Z +slug: example-draft-post +featured: false +draft: true +tags: + - TypeScript + - Astro +description: + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel + fringilla est +--- + +Users cannot see this post because it is in draft. + +## Motivation + +rec 1 diff --git a/src/content/blog/how-to-add-a-new-social-icon.md b/src/content/blog/how-to-add-a-new-social-icon.md new file mode 100644 index 0000000..b1d25a8 --- /dev/null +++ b/src/content/blog/how-to-add-a-new-social-icon.md @@ -0,0 +1,125 @@ +--- +author: Simon Smale +pubDatetime: 2024-01-08T18:16:00.000Z +modDatetime: +title: How to add a new Social Icon to AstroPaper +featured: false +draft: false +tags: + - FAQ +description: How to add a new social icon to AstroPaper +--- + +Hot new platform? Niche corner of the internet? Or one specific to your area? This post will guide you through how to add a new social icon to the theme. + +## Table of contents + +## Merging back to the theme + +The maintainer of the theme [Sat Naing](https://github.com/satnaing) has said that he intends to only + +> keep the project supporting only a specific set of popular social icons. + +So there is a chance that your icon will not be in the repo, but fear not, it is very easy to add your own! + +## Getting things to match + +The icon set used by the theme come from [Tabler](https://tabler.io/icons) and there are a quite a few brands on there. + +## Adding your icon, by example + +For this guide we are going to use the StackOverflow icon as our example. + +### Find the icon + +> In this case, we are going to use the `StackOverflow` as an example. + +Searching on Tabler for 'StackOverflow' we get a single icon , we are going to need the svg code, so save it for later. + +```html + + + + + + + + +``` + +### Clean up + +We need to do some tidy up on what the theme provides us. + +1. remove all classes other than `icon-tabler` +2. remove width & height +3. remove the viewBox +4. remove the stroke-width +5. remove the stroke +6. remove the fill + +This should leave you with the following + +```html + + + + + + + + +``` + +Now we can add the clean svg code to the `src/assets/socialIcons.ts` file in `SocialIcons`. + +```typescript +const socialIcons = { + /* others */ + StackOverflow: ` + + + + + + + `, +}; +``` + +Finally we can configure it for our blog in `src/config.ts` under `SOCIALS`. Setting `active: true` to add it to the site. + +```typescript +export const SOCIALS: SocialObjects = [ + /* others */ + { + name: "StackOverflow", + href: "https://stackoverflow.com/search?q=astropaper", + linkTitle: `See what questions there are about ${SITE.title} on StackOverflow`, + active: true, + }, +]; +``` + +> Ensure that `href` and `linkTitle` are updated for the corresponding link and label. + +Full code for the above steps can be found in [this pull request](https://github.com/satnaing/astro-paper/pull/216/files) diff --git a/src/content/blog/how-to-add-an-estimated-reading-time.md b/src/content/blog/how-to-add-an-estimated-reading-time.md new file mode 100644 index 0000000..489840f --- /dev/null +++ b/src/content/blog/how-to-add-an-estimated-reading-time.md @@ -0,0 +1,303 @@ +--- +title: How to add an estimated reading time in AstroPaper +author: Sat Naing +pubDatetime: 2023-07-21T10:11:06.130Z +modDatetime: 2024-01-03T14:53:25Z +slug: how-to-add-estimated-reading-time +featured: false +draft: false +tags: + - FAQ +description: How you can add an 'Estimated Reading time' in your blog posts of AstroPaper. +--- + +As the [Astro docs](https://docs.astro.build/en/recipes/reading-time/) say, we can use remark plugin to add a reading time property in our frontmatter. However, for some reason, we can't add this feature by following what stated in Astro docs. Therefore, to achieve this, we have to tweak a little bit. This post will demonstrate how we can do that. + +## Table of contents + +## Add reading time in PostDetails + +Step (1) Install required dependencies. + +```bash +npm install reading-time mdast-util-to-string +``` + +Step (2) Create `remark-reading-time.mjs` file under `utils` directory + +```js +import getReadingTime from "reading-time"; +import { toString } from "mdast-util-to-string"; + +export function remarkReadingTime() { + return function (tree, { data }) { + const textOnPage = toString(tree); + const readingTime = getReadingTime(textOnPage); + data.astro.frontmatter.readingTime = readingTime.text; + }; +} +``` + +Step (3) Add the plugin to `astro.config.ts` + +```js +import { remarkReadingTime } from "./src/utils/remark-reading-time.mjs"; // make sure your relative path is correct + +// https://astro.build/config +export default defineConfig({ + site: SITE.website, + integrations: [ + // other integrations + ], + markdown: { + remarkPlugins: [ + remarkToc, + remarkReadingTime, // πŸ‘ˆπŸ» our plugin + [ + remarkCollapse, + { + test: "Table of contents", + }, + ], + ], + // other config + }, + // other config +}); +``` + +Step (4) Add `readingTime` to blog schema (`src/content/config.ts`) + +```ts +import { SITE } from "@config"; +import { defineCollection, z } from "astro:content"; + +const blog = defineCollection({ + type: "content", + schema: ({ image }) => + z.object({ + // others... + canonicalURL: z.string().optional(), + readingTime: z.string().optional(), // πŸ‘ˆπŸ» readingTime frontmatter + }), +}); + +export const collections = { blog }; +``` + +Step (5) Create a new file called `getPostsWithRT.ts` under `src/utils` directory. + +```ts +import type { MarkdownInstance } from "astro"; +import type { CollectionEntry } from "astro:content"; +import { slugifyStr } from "./slugify"; + +export const getReadingTime = async () => { + // Get all posts using glob. This is to get the updated frontmatter + const globPosts = import.meta.glob("../content/blog/*.md") as Promise< + CollectionEntry<"blog">["data"][] + >; + + // Then, set those frontmatter value in a JS Map with key value pair + const mapFrontmatter = new Map(); + const globPostsValues = Object.values(globPosts); + await Promise.all( + globPostsValues.map(async globPost => { + const { frontmatter } = await globPost(); + mapFrontmatter.set( + slugifyStr(frontmatter.title), + frontmatter.readingTime + ); + }) + ); + + return mapFrontmatter; +}; + +const getPostsWithRT = async (posts: CollectionEntry<"blog">[]) => { + const mapFrontmatter = await getReadingTime(); + return posts.map(post => { + post.data.readingTime = mapFrontmatter.get(slugifyStr(post.data.title)); + return post; + }); +}; + +export default getPostsWithRT; +``` + +Step (6) Refactor `getStaticPaths` of `/src/pages/posts/[slug].astro` as the following + +```ts +--- +// other imports +import getPostsWithRT from "@utils/getPostsWithRT"; + +export interface Props { + post: CollectionEntry<"blog">; +} + +export async function getStaticPaths() { + const posts = await getCollection("blog", ({ data }) => !data.draft); + + const postsWithRT = await getPostsWithRT(posts); // replace reading time logic with this func + + const postResult = postsWithRT.map(post => ({ // make sure to replace posts with postsWithRT + params: { slug: post.slug }, + props: { post }, + })); + +// other codes +``` + +Step (7) Refactor `PostDetails.astro` like this. Now you can access and display `readingTime` in `PostDetails.astro` + +```ts +--- +// imports + +export interface Props { + post: CollectionEntry<"blog">; +} + +const { post } = Astro.props; + +const { + title, + author, + description, + ogImage, + readingTime, // we can now directly access readingTime from frontmatter + pubDatetime, + modDatetime, + tags } = post.data; + +// other codes +--- +``` + +## Access reading time outside of PostDetails (optional) + +By following the previous steps, you can now access `readingTime` frontmatter property in you post details page. Sometimes, this is exactly what you want. If so, you can skip to the next section. However, if you want to display "estimated reading time" in index, posts, and technically everywhere, you need to do the following extra steps. + +Step (1) Update `utils/getSortedPosts.ts` as the following + +```ts +import type { CollectionEntry } from "astro:content"; +import getPostsWithRT from "./getPostsWithRT"; + +const getSortedPosts = async (posts: CollectionEntry<"blog">[]) => { + // make sure that this func is async + const postsWithRT = await getPostsWithRT(posts); // add reading time + return postsWithRT + .filter(({ data }) => !data.draft) + .sort( + (a, b) => + Math.floor( + new Date(b.data.modDatetime ?? b.data.pubDatetime).getTime() / 1000 + ) - + Math.floor( + new Date(a.data.modDatetime ?? a.data.pubDatetime).getTime() / 1000 + ) + ); +}; + +export default getSortedPosts; +``` + +Step (2) Make sure to refactor every file which uses `getSortedPosts` function. You can simply add `await` keyword in front of `getSortedPosts` function. + +Files that use `getSortedPosts` function are as follow + +- src/pages/index.astro +- src/pages/posts/index.astro +- src/pages/rss.xml.ts +- src/pages/posts/index.astro +- src/pages/posts/[slug].astro +- src/utils/getPostsByTag.ts + +All you have to do is like this + +```ts +const sortedPosts = getSortedPosts(posts); // old code ❌ +const sortedPosts = await getSortedPosts(posts); // new code βœ… +``` + +Now you can access `readingTime` in other places besides `PostDetails` + +## Displaying reading time (optional) + +Since you can now access `readingTime` in your post details (or everywhere if you do the above section), it's up to you to display `readingTime` wherever you want. + +But in this section, I'm gonna show you how I would display `readingTime` in my components. This is optional. You can ignore this section if you want. + +Step (1) Update `Datetime` component to display `readingTime` + +```tsx +import { LOCALE } from "@config"; + +export interface Props { + datetime: string | Date; + size?: "sm" | "lg"; + className?: string; + readingTime?: string; // new type +} + +export default function Datetime({ + datetime, + size = "sm", + className, + readingTime, // new prop +}: Props) { + return ( + // other codes + + + ({readingTime}) {/* display reading time */} + + // other codes + ); +} +``` + +Step (2) Then, pass `readingTime` props from its parent component. + +file: Card.tsx + +```ts +export default function Card({ href, frontmatter, secHeading = true }: Props) { + const { title, pubDatetime, modDatetime description, readingTime } = frontmatter; + return ( + ... + + ... + ); +} +``` + +file: PostDetails.tsx + +```jsx +// Other Codes +
    +

    {title}

    + + {/* Other Codes */} +
    +// Other Codes +``` + +## Conclusion + +By following the provided steps and tweaks, you can now incorporate this useful feature into your content. I hope this post helps you adding `readingTime` in your blog. AstroPaper might include reading time by default in future releases. πŸ€·πŸ»β€β™‚οΈ + +Kyay Zuu for Reading πŸ™πŸ» diff --git a/src/content/blog/how-to-configure-astropaper-theme.md b/src/content/blog/how-to-configure-astropaper-theme.md new file mode 100644 index 0000000..9ffc4b5 --- /dev/null +++ b/src/content/blog/how-to-configure-astropaper-theme.md @@ -0,0 +1,160 @@ +--- +author: Sat Naing +pubDatetime: 2022-09-23T04:58:53Z +modDatetime: 2024-01-15T13:05:56.066Z +title: How to configure AstroPaper theme +slug: how-to-configure-astropaper-theme +featured: true +draft: false +tags: + - configuration + - docs +description: How you can make AstroPaper theme absolutely yours. +--- + +AstroPaper is a highly customizable Astro blog theme. With AstroPaper, you can customize everything according to your personal taste. This article will explain how you can make some customizations easily in the config file. + +## Table of contents + +## Configuring SITE + +The important configurations lies in `src/config.ts` file. Within that file, you'll see the `SITE` object where you can specify your website's main configurations. + +During deveopment, it's okay to leave `SITE.website` empty. But in production mode, you should specify your deployed url in `SITE.website` option since this will be used for canonical URL, social card URL etc.. which are important for SEO. + +```js +// file: src/config.ts +export const SITE = { + website: "https://astro-paper.pages.dev/", + author: "Sat Naing", + desc: "A minimal, responsive and SEO-friendly Astro blog theme.", + title: "AstroPaper", + ogImage: "astropaper-og.jpg", + lightAndDarkMode: true, + postPerPage: 3, + scheduledPostMargin: 15 * 60 * 1000, // 15 minutes +}; +``` + +Here are SITE configuration options + +| Options | Description | +| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `website` | Your deployed website url | +| `author` | Your name | +| `desc` | Your site description. Useful for SEO and social media sharing. | +| `title` | Your site name | +| `ogImage` | Your default OG image for the site. Useful for social media sharing. OG images can be an external image url or they can be placed under `/public` directory. | +| `lightAndDarkMode` | Enable or disable `light & dark mode` for the website. If disabled, primary color scheme will be used. This option is enabled by default. | +| `postPerPage` | You can specify how many posts will be displayed in each posts page. (eg: if you set SITE.postPerPage to 3, each page will only show 3 posts per page) | +| `scheduledPostMargin` | In Production mode, posts with a future `pubDatetime` will not be visible. However, if a post's `pubDatetime` is within the next 15 minutes, it will be visible. You can set `scheduledPostMargin` if you don't like the default 15 minutes margin. | + +## Configuring locale + +You can configure the default locale used for the build (e.g., date format in the post page), and for the rendering in browsers (e.g., date format in the search page) + +```js +// file: src/config.ts +export const LOCALE = { + lang: "en", // html lang code. Set this empty and default will be "en" + langTag: ["en-EN"], // BCP 47 Language Tags. Set this empty [] to use the environment default +} as const; +``` + +`LOCALE.lang` will be used as HTML ISO Language code in ``. If you don't specify this, default fallback will be set to `en`. +`LOCALE.langTag` is used as [datetime locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#locales). For this, you can specify an array of locales for fallback languages. Leave `LOCALE.langTag` empty `[]` to use the environment default at _build-_ and _run-time_. + +## Configuring logo or title + +You can specify site's title or logo image in `src/config.ts` file. + +![An arrow pointing at the website logo](https://res.cloudinary.com/noezectz/v1663911318/astro-paper/AstroPaper-logo-config_goff5l.png) + +```js +// file: src/config.ts +export const LOGO_IMAGE = { + enable: false, + svg: true, + width: 216, + height: 46, +}; +``` + +If you specify `LOGO_IMAGE.enable` => `false`, AstroPaper will automatically convert `SITE.title` to the main site text logo. + +If you specify `LOGO_IMAGE.enable` => `true`, AstroPaper will use the logo image as the site's main logo. + +You have to specify `logo.png` or `logo.svg` under `/public/assets` directory. Currently, only svg and png image file formats are supported. (**_Important!_** _logo name has to be logo.png or logo.svg)_ + +If your logo image is png file format, you have to set `LOGO_IMAGE.svg` => `false`. + +It is recommended that you specify width and height of your logo image. You can do that by setting `LOGO_IMAGE.width` _and_ `LOGO_IMAGE.height` + +## Configuring social links + +You can configure your own social links along with its icons. + +![An arrow pointing at social link icons](https://res.cloudinary.com/noezectz/v1663914759/astro-paper/astro-paper-socials_tkcjgq.png) + +Currently 20 social icons are supported. (Github, LinkedIn, Facebook etc.) + +You can specify and enable certain social links in hero section and footer. To do this, go to `/src/config.ts` and then you'll find `SOCIALS` array of object. + +```js +// file: src/config.ts +export const SOCIALS: SocialObjects = [ + { + name: "Github", + href: "https://github.com/satnaing/astro-paper", + linkTitle: ` ${SITE.title} on Github`, + active: true, + }, + { + name: "Facebook", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Facebook`, + active: true, + }, + { + name: "Instagram", + href: "https://github.com/satnaing/astro-paper", + linkTitle: `${SITE.title} on Instagram`, + active: true, + }, + ... +] +``` + +You have to set specific social link to `active: true` in order to appear your social links in hero and footer section. Then, you also have to specify your social link in `href` property. + +For instance, if I want to make my Github appear, I'll make it like this. + +```js +export const SOCIALS: SocialObjects = [ + { + name: "Github", + href: "https://github.com/satnaing", // update account link + linkTitle: `${SITE.title} on Github`, // this text will appear on hover and VoiceOver + active: true, // makre sure to set active to true + } + ... +] +``` + +Another thing to note is that you can specify the `linkTitle` in the object. This text will display when hovering on the social icon link. Besides, this will improve accessibility and SEO. AstroPaper provides default link title values; but you can replace them with your own texts. + +For example, + +```js +linkTitle: `${SITE.title} on Twitter`, +``` + +to + +```js +linkTitle: `Follow ${SITE.title} on Twitter`; +``` + +## Conclusion + +This is the brief specification of how you can customize this theme. You can customize more if you know some coding. For customizing styles, please read [this article](https://astro-paper.pages.dev/posts/customizing-astropaper-theme-color-schemes/). Thanks for reading.✌🏻 diff --git a/src/content/blog/how-to-connect-astro-paper-blog-with-forestry-cms.md b/src/content/blog/how-to-connect-astro-paper-blog-with-forestry-cms.md new file mode 100644 index 0000000..e205c91 --- /dev/null +++ b/src/content/blog/how-to-connect-astro-paper-blog-with-forestry-cms.md @@ -0,0 +1,126 @@ +--- +title: How to connect AstroPaper blog with Forestry CMS +author: Sat Naing +pubDatetime: 2022-09-21T05:17:19Z +slug: how-to-connect-astro-paper-blog-with-forestry-cms +featured: false +draft: false +tags: + - docs + - forestry-cms + - astro-paper +ogImage: https://res.cloudinary.com/noezectz/v1663745737/astro-paper/astropaper-x-forestry-og_kqfwp0.png +description: + Step by step process of connecting Astro-Paper blog theme with Forestry + Headless CMS. +--- + +> Important!!! Forestry is going to be discontinued on April 22nd, 2023. You can [read their announcement](https://forestry.io/blog/forestry.io-end-of-life/) for more info. + +In this article, I will explain step by step process of connecting AstroPaper theme with the Forestry headless CMS. So, let's get started πŸŽ‰ + +## Table of contents + +## What is Forestry? + +[Forestry](https://forestry.io/ "Forestry Website") is a git-based headless CMS and we can manage our markdown contents easily by using that. Although it is not an open-sourced CMS, it has a good free plan by which we can import up to 3 sites (3 repositories). In this article, I'll demonstrate how we can use Forestry as git-based CMS of our AstroPaper blog theme. + +## Login / Register an account at Forestry.io + +First of all, you have to create an account at [Forestry website](https://app.forestry.io/login "Forestry Login Page"). I usually sign up with my Github account. + +![Forestry Login page](https://res.cloudinary.com/noezectz/v1663739096/astro-paper/Forestry-io_hk5yzv.png) + +## Import AstroPaper site (repository) + +This part is importing the repository to Forestry and a little bit of set up process. + +### Add Site + +After logging in/signing up an account, import your AstroPaper site by clicking "Add Site" button. + +![Forestry 'My sites' page](https://res.cloudinary.com/noezectz/v1663739752/astro-paper/Forestry-io_1_z1bdyd.png) + +### Select SSG + +In this case, just choose "Others" + +![Selecting 'Others' as a site generator](https://res.cloudinary.com/noezectz/v1663740872/astro-paper/Forestry-io_2_blrrw2.png) + +### Select Git Provider + +My git provider is Github and I assume yours is the same. So, choose "Github". + +![Selecting Github as a git provider](https://res.cloudinary.com/noezectz/v1663740922/astro-paper/Forestry-io_3_pj1v8v.png) + +After this, the process of importing site (repo) is done. + +## Set up Sidebar + +The next phase after importing site is setting up sidebar menu. You can add many sidebar menu as you want. However, I'll only add one sidebar menu in this case. + +Navigate to "Finish setup process" > "Set up sidebar" and click "Configure sitebar" + +![Forestry welcome screen](https://res.cloudinary.com/noezectz/v1663740974/astro-paper/forestry-io_4_j35uk9.png) + +Then, click "Add Section" button. + +![Clicking 'Add Section' for sidebar](https://res.cloudinary.com/noezectz/v1663741011/astro-paper/forestry-io_5_sxtgvx.png) + +After that, choose DIRECTORY for the Section Type. + +![Choosing 'DIRECTORY' as the Selection Type](https://res.cloudinary.com/noezectz/v1663741052/astro-paper/forestry-io_6_lddmkx.png) + +Then, configure the directory section. You can follow along with my setup. + +![Configuring the Directory Section](https://res.cloudinary.com/noezectz/v1663741105/astro-paper/forestry-io_7_jkwgi1.png) + +After this step, you should see a sidebar menu "Blog Posts" and some blog posts. + +## Set up Media Import + +In Forestry CMS, you can set up different options for media (aka assets) such as Cloudinary, git commit media etc. I usually store my assets in [Cloudinary](https://cloudinary.com/). To set up media import, go to Settings > Media. Then select your image storage provider. (I chose Cloudinary). + +![Setting up 'Cloudinary' as the media import](https://res.cloudinary.com/noezectz/v1663741636/astro-paper/forestry-io-media-import_1_f8i4lm.png) + +You can see details of Forestry Cloudinary setup at [Forestry documentation](https://forestry.io/docs/media/cloudinary/). + +## Set up Front matter template + +After setting everything up, you can set up front matter template for your future blog post. To set up front matter template, navigate to "Front matter" menu on the sidebar. + +Then, click "Add Template" button at the top right corner. + +![Front Matter Templates page](https://res.cloudinary.com/noezectz/v1663742060/astro-paper/forestry-io-frontmatter_yskfvn.png) + +Select new template based on existing document. + +![Creating new template based on existing document](https://res.cloudinary.com/noezectz/v1663742179/astro-paper/forestry-io-existing-doc_bwcb9q.png) + +Then, add template name and choose one of my document page as template. + +As the final setup, make some adjustment in the front matter field settings. + +![Making some adjustment in a front matter field setting](https://res.cloudinary.com/noezectz/v1663742450/astro-paper/forestry-io-fm-config_jqmgwz.png) + +Here are some adjustments you have to make. + +**_title_** + +- Validation => REQUIRED => true + +**_author_** + +- Default => your name + +**_datetime_** + +- Default => USE "NOW" AS DEFAULT + +**_description_** + +- Validation => REQUIRED => true + +## Conclusion + +You can now post your articles and write whatever you want. diff --git a/src/content/blog/how-to-update-dependencies.md b/src/content/blog/how-to-update-dependencies.md new file mode 100644 index 0000000..5f3ceeb --- /dev/null +++ b/src/content/blog/how-to-update-dependencies.md @@ -0,0 +1,114 @@ +--- +title: How to update dependencies of AstroPaper +author: Sat Naing +pubDatetime: 2023-07-20T15:33:05.569Z +slug: how-to-update-dependencies +featured: false +draft: false +ogImage: /assets/forrest-gump-quote.webp +tags: + - FAQ +description: How to update project dependencies and AstroPaper template. +--- + +Updating the dependencies of a project can be tedious. However, neglecting to update project dependencies is not a good idea either 😬. In this post, I will share how I usually update my projects, focusing on AstroPaper as an example. Nonetheless, these steps can be applied to other js/node projects as well. + +![Forrest Gump Fake Quote](/assets/forrest-gump-quote.webp) + +## Table of contents + +## Updating Package Dependencies + +There are several ways to update dependencies, and I've tried various methods to find the easiest path. One way to do it is by manually updating each package using `npm install package-name@latest`. This method is the most straightforward way of updating. However, it may not be the most efficient option. + +My recommended way of updating dependencies is by using the [npm-check-updates package](https://www.npmjs.com/package/npm-check-updates). There's a good [article](https://www.freecodecamp.org/news/how-to-update-npm-dependencies/) from freeCodeCamp about that, so I won't be explaining the details of what it is and how to use that package. Instead, I'll show you my typical approach. + +First, install `npm-check-updates` package globally. + +```bash +npm install -g npm-check-updates +``` + +Before making any updates, it’s a good idea to check all new dependencies that can be updated. + +```bash +ncu +``` + +Most of the time, patch dependencies can be updated without affecting the project at all. So, I usually update patch dependencies by running either `ncu -i --target patch` or `ncu -u --target patch`. The difference is that `ncu -u --target patch` will update all the patches, while `ncu -i --target patch` will give an option to toggle which package to update. It’s up to you to decide which approach to take. + +The next part involves updating minor dependencies. Minor package updates usually won't break the project, but it is always good to check the release notes of the respective packages. These minor updates often include some cool features that can be applied to our projects. + +```bash +ncu -i --target minor +``` + +Last but not least, there might be some major package updates in the dependencies. So, check the rest of the dependency updates by running + +```bash +ncu -i +``` + +If there are any major updates (or some updates you still have to make), the above command will output those remaining packages. If the package is a major version update, you have to be very careful since this will likely break the whole project. Therefore, please read the respective release note (or) docs very carefully and make changes accordingly. + +If you run `ncu -i` and found no more packages to be updated, _**Congrats!!!**_ you have successfully updated all the dependencies in your project. + +## Updating AstroPaper template + +Like other open-source projects, AstroPaper is evolving with bug fixes, feature updates, and so on. So if you’re someone who is using AstroPaper as a template, you might also want to update the template when there’s a new release. + +The thing is, you might already have updated the template according to your flavor. Therefore, I can’t exactly show **"the one-size-fits-all perfect way"** to update the template to the most recent release. However, here are some tips to update the template without breaking your repo. Keep in mind that, most of the time, updating the package dependencies might be sufficient for you. + +### Files and Directories to keep in mind + +In most cases, the files and directories you might not want to override (as you've likely updated those files) are `src/content/blog/`, `src/config.ts`, `src/pages/about.md`, and other assets & styles like `public/` and `src/styles/base.css`. + +If you’re someone who only updates the bare minimum of the template, it should be okay to replace everything with the latest AstroPaper except the above files and directories. It’s like pure Android OS and other vendor-specific OSes like OneUI. The less you modify the base, the less you have to update. + +You can manually replace every file one by one, or you can use the magic of git to update everything. I won’t show you the manual replacement process since it is very straightforward. If you’re not interested in that straightfoward and inefficient method, bear with me 🐻. + +### Updating AstroPaper using Git + +**IMPORTANT!!!** + +> Only do the following if you know how to resolve merge conflicts. Otherwise, you’d better replace files manually or update dependencies only. + +First, add astro-paper as the remote in your project. + +```bash +git remote add astro-paper https://github.com/satnaing/astro-paper.git +``` + +Checkout to a new branch in order to update the template. If you know what you’re doing and you’re confident with your git skill, you can omit this step. + +```bash +git checkout -b build/update-astro-paper +``` + +Then, pull the changes from astro-paper by running + +```bash +git pull astro-paper main +``` + +If you face `fatal: refusing to merge unrelated histories` error, you can resolve that by running the following command + +```bash +git pull astro-paper main --allow-unrelated-histories +``` + +After running the above command, you’re likely to encounter conflicts in your project. You'll need to resolve these conflicts manually and make the necessary adjustments according to your needs. + +After resolving the conflicts, test your blog thoroughly to ensure everything is working as expected. Check your articles, components, and any customizations you made. + +Once you're satisfied with the result, it's time to merge the update branch into your main branch (only if you are updating the template in another branch). Congratulations! You've successfully updated your template to the latest version. Your blog is now up-to-date and ready to shine! πŸŽ‰ + +## Conclusion + +In this article, I've shared some of my insights and processes for updating dependencies and the AstroPaper template. I genuinely hope this article proves valuable and assists you in managing your projects more efficiently. + +If you have any alternative or improved approaches for updating dependencies/AstroPaper, I would love to hear from you. Thus, don't hesitate to start a discussion in the repository, email me, or open an issue. Your input and ideas are highly appreciated! + +Please understand that my schedule is quite busy these days, and I may not be able to respond quickly. However, I promise to get back to you as soon as possible. 😬 + +Thank you for taking the time to read this article, and I wish you all the best with your projects! diff --git a/src/content/blog/portfolio-website-development.md b/src/content/blog/portfolio-website-development.md new file mode 100644 index 0000000..810e044 --- /dev/null +++ b/src/content/blog/portfolio-website-development.md @@ -0,0 +1,104 @@ +--- +title: How Do I Develop My Portfolio Website & Blog +author: Sat Naing +pubDatetime: 2022-03-25T16:55:12.000+00:00 +slug: how-do-i-develop-my-portfolio-and-blog +featured: false +draft: false +tags: + - NextJS + - TailwindCSS + - HeadlessCMS + - Blog +description: + "EXAMPLE POST: My experience about developing my first portfolio website and a blog + using NextJS and a headless CMS." +--- + +> This article is originally from my [blog post](https://satnaing.dev/blog/posts/how-do-i-develop-my-portfolio-and-blog). I put this article to demonstrate how you can write blog posts/articles using AstroPaper theme. + +My experience about developing my first portfolio website and a blog using NextJS and a headless CMS. + +![Building portfolio](https://satnaing.dev/_ipx/w_2048,q_75/https%3A%2F%2Fres.cloudinary.com%2Fnoezectz%2Fimage%2Fupload%2Fv1653050141%2FSatNaing%2Fblog_at_cafe_ei1wf4.jpg?url=https%3A%2F%2Fres.cloudinary.com%2Fnoezectz%2Fimage%2Fupload%2Fv1653050141%2FSatNaing%2Fblog_at_cafe_ei1wf4.jpg&w=2048&q=75) + +## Motivation + +I've been always thinking about launching my own website with my custom domain name (**satnaing.dev**) since my college student life. But that never happened until this project. I've done several projects and works about web application development but I didn't make an effort to do this. + +So, "what about blog?" you may ask. Yeah, blog also has been in my project list for some time. I always wanted to make a blog project using some of the latest technologies. However, I've been busy with my works and other projects so that blog project has never been started. + +In these days, I tend to develop my own projects with the focus in good quality rather than quantity. After the project is done, I usually put a proper readme file in the Github repo. But Github repo readme is only suitable for technical aspects (this is just my thought). I want to write down my experiences and challenges. Thus, I decided to make my own blog. Plus, at this point, I have decent experiences and confidence to develop this project. + +## Tech Stack + +For the front-end, I wanted to use [React](https://reactjs.org/ "React Official Website"). But React alone is not good enough for SEO; and I did have to consider many factors like routing, image optimization etc. So, I chose [NextJS](https://nextjs.org/ "NextJS Official Website") as my main front-end stack. And of course TypeScript for type checking. (It's said that you'll love TypeScript when you're used to it πŸ˜‰) + +For styling, I use [TailwindCSS](https://tailwindcss.com/ "Tailwind CSS Official Website"). This is because I love developer experience that Tailwind gives and it has a lot of flexibilities compared to other component UI libraries like MUI or React Bootstrap. + +All contents of this project reside within the GitHub repository. All my blog posts (including this one) are written in Markdown file format since I'm very used to with this. But to write Markdown along with its frontmatter effortlessly, I use [Forestry](https://forestry.io/ "Forestry Official Website") headless CMS. It is a git-based CMS that can serve Markdown and other contents. Because of this, I can write my contents either using Markdown or wysiwyg editor. Besides, writing frontmatters with this is a breeze. + +Images and assets are uploaded and stored in [Cloudinary](https://cloudinary.com/ "Cloudinary Official Website"). I connect Cloudinary via Forestry and manage them directly in the dashboard. + +In conclusion, these are the tech stack I've used for this project. + +- Front-end: NextJS (TypeScript) +- Styling: TailwindCSS +- Animations: GSAP +- CMS: Forestry Headless CMS +- Deployment: Vercel + +## Features + +The following are certain features of my portfolio and blog + +### SEO Friendly + +The entire project is developed with SEO focus in mind. I've used proper meta tags, descriptions and heading alignments. This website is now indexed by Google. + +> You can search this website on google by using keywords like 'sat naing dev' + +![searching satnaing.dev on google](https://res.cloudinary.com/noezectz/image/upload/v1648231400/SatNaing/satnaing-on-google_asflq6.png "satnaing.dev is indexed") + +Moreover, this website will be displayed well when shared to social media due to properly used meta tags. + +![satnaing.dev card layout when shared to Facebook](https://res.cloudinary.com/noezectz/image/upload/v1653106955/SatNaing/satnaing-dev-share-on-facebook_1_zjoehx.png "Card layout when shared to Facebook") + +### Dynamic Sitemap + +Sitemap plays an important part in SEO. Because of this, every single page of this site should be included in sitemap.xml. I made an auto generated sitemap in my website whenever I create a new content or tags or categories. + +### Light & Dark Themes + +Due to dark theme trend in recent years, many websites include dark theme out of the box nowadays. Certainly, my website also supports light & dark themes. + +### Fully Accessible + +This website is fully accessible. You can navigate around by only using keyboard. I put all a11y enhancement best practices like including alt text in all images, no skipping headings, using semantic HTML tags, using aria-attributes properly. + +### Search box, Categories & Tags + +All blog contents can be searched by search box. Moreover, contents can be filtered by categories and tags. In this way, blog readers can search and read what they really want. + +### Performance and Lighthouse Score + +This website got very good performance and lighthouse score thanks to proper development and best practices. Here's the lighthouse score for this website. + +![satnaing.dev Lighthouse score](https://user-images.githubusercontent.com/53733092/159957822-7082e459-11e9-4616-8f1e-49d0881f7cbb.png "satnaing.dev Lighthouse score") + +### Animations + +Initially I used [Framer Motion](https://www.framer.com/motion/ "Framer Motion") to add animations and micro interactions for this website. However, when I tried to use some complex animations and parallax effects, I found it inconvenient to integrate with Framer Motion (Maybe I'm not very good at and used to working with it). Hence, I decided to use [GSAP](https://greensock.com/ "GSAP Animation Library") for all of my animations. It is one of the most popular animation library and it is capable of doing complex and advanced animations. You can see animations and micro interactions on pretty much every page of this website. + +![animations at satnaing.dev](https://res.cloudinary.com/noezectz/image/upload/v1653108324/SatNaing/ezgif.com-gif-maker_2_hehtlm.gif "satnaing.dev website") + +## Outro + +In conclusion, this project gives me a lot of experience and confidence about developing blog site (SSG). Now, I have gained knowledge of git-based CMS and how it interacts with NextJS. I've also learned about SEO, dynamic sitemap generation and indexing Google procedures. I will make better projects in the future. So, stay tuned! ✌🏻 + +And... last but not least, I would like to say 'thanks' to my friend [Swann Fevian Kyaw](https://www.facebook.com/bon.zai.3910 "Swann Fevian Kyaw's Facebook Account") (@[ToonHa](https://www.facebook.com/ToonHa-102639465752883 "ToonHa Facebook Page")) who has drawn a beautiful illustration for my hero section of the website. + +## Project Links + +- Website: [https://satnaing.dev/](https://satnaing.dev/ "https://satnaing.dev/") +- Blog: [https://satnaing.dev/blog](https://satnaing.dev/blog "https://satnaing.dev/blog") +- Repo: [https://github.com/satnaing/my-portfolio](https://github.com/satnaing/my-portfolio "https://github.com/satnaing/my-portfolio") diff --git a/src/content/blog/predefined-color-schemes.md b/src/content/blog/predefined-color-schemes.md new file mode 100644 index 0000000..96b17c6 --- /dev/null +++ b/src/content/blog/predefined-color-schemes.md @@ -0,0 +1,182 @@ +--- +author: Sat Naing +pubDatetime: 2022-09-26T12:13:24Z +modDatetime: 2024-01-04T09:09:06Z +title: Predefined color schemes +slug: predefined-color-schemes +featured: false +draft: false +tags: + - color-schemes +description: + Some of the well-crafted, predefined color schemes for AstroPaper blog + theme. +--- + +I've crafted some predefined color schemes for this AstroPaper blog theme. You can replace these color schemes with the original ones. + +If you don't know how you can configure color schemes, check [this blog post](https://astro-paper.pages.dev/posts/customizing-astropaper-theme-color-schemes/). + +## Table of contents + +## Light color schemes + +Light color scheme has to be defined using the css selector `:root` and `html[data-theme="light"]`. + +### Lobster + +![lobster-color-scheme](https://user-images.githubusercontent.com/53733092/192282447-1d222faf-a3ce-44a9-9cfe-ac873155e5a9.png) + +```css +:root, +html[data-theme="light"] { + --color-fill: 246, 238, 225; + --color-text-base: 1, 44, 86; + --color-accent: 225, 74, 57; + --color-card: 217, 209, 195; + --color-card-muted: 239, 216, 176; + --color-border: 220, 152, 145; +} +``` + +### Leaf Blue + +![leaf-blue-color-scheme](https://user-images.githubusercontent.com/53733092/192318782-e80e3c39-54b5-423e-8f4b-9ae60402fc8d.png) + +```css +:root, +html[data-theme="light"] { + --color-fill: 242, 245, 236; + --color-text-base: 53, 53, 56; + --color-accent: 17, 88, 209; + --color-card: 206, 213, 180; + --color-card-muted: 187, 199, 137; + --color-border: 124, 173, 255; +} +``` + +### Pinky light + +![pinky-color-scheme](https://user-images.githubusercontent.com/53733092/192286510-892d0042-2d6d-471e-bb72-954221ae2d17.png) + +```css +:root, +html[data-theme="light"] { + --color-fill: 250, 252, 252; + --color-text-base: 34, 46, 54; + --color-accent: 211, 0, 106; + --color-card: 234, 206, 219; + --color-card-muted: 241, 186, 212; + --color-border: 227, 169, 198; +} +``` + +## Dark color schemes + +Dark color scheme has to be defined as `html[data-theme="dark"]`. + +### AstroPaper 1 original Dark Theme + +![AstroPaper 1 default dark theme](https://user-images.githubusercontent.com/53733092/215769153-13b0ad8d-5ba2-44b1-af06-e5ae61293f62.png) + +```css +html[data-theme="dark"] { + --color-fill: 47, 55, 65; + --color-text-base: 230, 230, 230; + --color-accent: 26, 217, 217; + --color-card: 63, 75, 90; + --color-card-muted: 89, 107, 129; + --color-border: 59, 70, 85; +} +``` + +### Deep Oyster + +![deep-oyster-color-scheme](https://user-images.githubusercontent.com/53733092/192314524-45ec5904-3d8f-450a-9edf-1e32c5e11d6c.png) + +```css +html[data-theme="dark"] { + --color-fill: 33, 35, 61; + --color-text-base: 244, 247, 245; + --color-accent: 255, 82, 86; + --color-card: 57, 60, 102; + --color-card-muted: 74, 78, 134; + --color-border: 177, 47, 50; +} +``` + +### Pikky dark + +![pinky-dark-color-scheme](https://user-images.githubusercontent.com/53733092/192307050-fbd55326-911c-4001-87c6-a8ad9378ac2e.png) + +```css +html[data-theme="dark"] { + --color-fill: 53, 54, 64; + --color-text-base: 233, 237, 241; + --color-accent: 255, 120, 200; + --color-card: 75, 76, 89; + --color-card-muted: 113, 85, 102; + --color-border: 134, 67, 107; +} +``` + +### Astro dark (High Contrast) + +![astro-dark-color-scheme](https://user-images.githubusercontent.com/53733092/215680520-59427bb0-f4cb-48c0-bccc-f182a428d72d.svg) + +```css +html[data-theme="dark"] { + --color-fill: 16, 23, 42; /* higher contrast bgColor */ + --color-fill: 33, 39, 55; + --color-text-base: 234, 237, 243; + --color-accent: 255, 107, 1; + --color-card: 27, 39, 70; + --color-card-muted: 138, 51, 2; + --color-border: 171, 75, 8; +} +``` + +### Astro dark (New default dark theme in AstroPaper 2) + +![new dark color scheme - low contrast](https://user-images.githubusercontent.com/53733092/215772856-d5b7ae35-ddaa-4ed6-b0bf-3fa5dbcf834c.png) + +```css +html[data-theme="dark"] { + --color-fill: 33, 39, 55; /* lower contrast bgColor */ + --color-text-base: 234, 237, 243; + --color-accent: 255, 107, 1; + --color-card: 52, 63, 96; + --color-card-muted: 138, 51, 2; + --color-border: 171, 75, 8; +} +``` + +### Astro Deep Purple (New dark theme in AstroPaper 3) + +![AstroPaper v3 new theme](https://github.com/satnaing/astro-paper/assets/53733092/c8b5d7e1-a3bc-4852-a5ad-4abf7b3cec79) + +```css +html[data-theme="dark"] { + --color-fill: 33, 39, 55; + --color-text-base: 234, 237, 243; + --color-accent: 235, 63, 211; + --color-card: 52, 63, 96; + --color-card-muted: 125, 79, 124; + --color-border: 100, 36, 81; +} +``` + +### AstroPaper v4 Special (New dark theme in AstroPaper 4) + +![AstroPaper v4 new theme](https://github.com/satnaing/astro-paper/assets/53733092/66eb74dc-7a0e-4f2e-982d-25f5c443b25a) + +```css +html[data-theme="dark"] { + --color-fill: 0, 1, 35; + --color-accent: 97, 123, 255; + --color-text-base: 234, 237, 243; + --color-card: 33, 34, 83; + --color-card-muted: 12, 14, 79; + --color-border: 48, 63, 138; +} +``` diff --git a/src/content/blog/setting-dates-via-git-hooks.md b/src/content/blog/setting-dates-via-git-hooks.md new file mode 100644 index 0000000..f5f6763 --- /dev/null +++ b/src/content/blog/setting-dates-via-git-hooks.md @@ -0,0 +1,194 @@ +--- +author: Simon Smale +pubDatetime: 2024-01-03T20:40:08Z +modDatetime: 2024-01-08T18:59:05Z +title: How to use Git Hooks to set Created and Modified Dates +featured: false +draft: false +tags: + - docs + - FAQ +canonicalURL: https://smale.codes/posts/setting-dates-via-git-hooks/ +description: How to use Git Hooks to set your Created and Modified Dates on AstroPaper +--- + +In this post I will explain how to use the pre-commit Git hook to automate the input of the created (`pubDatetime`) and modified (`modDatetime`) in the AstroPaper blog theme frontmatter + +## Table of contents + +## Have them Everywhere + +[Git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) are great for automating tasks like [adding](https://gist.github.com/SSmale/3b380e5bbed3233159fb7031451726ea) or [checking](https://itnext.io/using-git-hooks-to-enforce-branch-naming-policy-ffd81fa01e5e) the branch name to your commit messages or [stopping you committing plain text secrets](https://gist.github.com/SSmale/367deee757a9b2e119d241e120249000). Their biggest flaw is that client-side hooks are per machine. + +You can get around this by having a `hooks` directory and manually copy them to the `.git/hooks` directory or set up a symlink, but this all requires you to remember to set it up, and that is not something I am good at doing. + +As this project uses npm, we are able to make use of a package called [Husky](https://typicode.github.io/husky/) (this is already installed in AstroPaper) to automatically install the hooks for us. + +## The Hook + +As we want this hook to run as we commit the code to update the dates and then have that as part of our change we are going to use the `pre-commit` hook. This has already been set up by this AstroPaper project, but if it hadn't, you would run `npx husky add .husky/pre-commit 'echo "This is our new pre-commit hook"'`. + +Navigating to the `hooks/pre-commit` file, we are going to add one or both of the following snippets. + +### Updating the modified date when a file is edited + +--- + +UPDATE: + +This section has been updated with a new version of the hook that is smarter. It will now not increment the `modDatetime` until the post is published. On the first publish, set the draft status to `first` and watch the magic happen. + +--- + +```shell +# Modified files, update the modDatetime +git diff --cached --name-status | +grep -i '^M.*\.md$' | +while read _ file; do + filecontent=$(cat "$file") + frontmatter=$(echo "$filecontent" | awk -v RS='---' 'NR==2{print}') + draft=$(echo "$frontmatter" | awk '/^draft: /{print $2}') + if [ "$draft" = "false" ]; then + echo "$file modDateTime updated" + cat $file | sed "/---.*/,/---.*/s/^modDatetime:.*$/modDatetime: $(date -u "+%Y-%m-%dT%H:%M:%SZ")/" > tmp + mv tmp $file + git add $file + fi + if [ "$draft" = "first" ]; then + echo "First release of $file, draft set to false and modDateTime removed" + cat $file | sed "/---.*/,/---.*/s/^modDatetime:.*$/modDatetime:/" | sed "/---.*/,/---.*/s/^draft:.*$/draft: false/" > tmp + mv tmp $file + git add $file + fi +done +``` + +`git diff --cached --name-status` gets the files from git that have been staged for committing. The output looks like: + +```shell +A src/content/blog/setting-dates-via-git-hooks.md +``` + +The letter at the start denotes what action has been taken, in the above example the file has been added. Modified files have `M` + +We pipe that output into the grep command where we are looking at each line to find that have been modified. The line needs to start with `M` (`^(M)`), have any number of characters after that (`.*`) and end with the `.md` file extension (`.(md)$`).This is going to filter out the lines that are not modified markdown files `egrep -i "^(M).*\.(md)$"`. + +--- + +#### Improvement - More Explicit + +This could be added to only look for files that we markdown files in the `blog` directory, as these are the only ones that will have the right frontmatter + +--- + +The regex will capture the two parts, the letter and the file path. We are going to pipe this list into a while loop to iterate over the matching lines and assign the letter to `a` and the path to `b`. We are going to ignore `a` for now. + +To know the draft staus of the file, we need its frontmatter. In the following code we are using `cat` to get the content of the file, then using `awk` to split the file on the frontmatter separator (`---`) and taking the second block (the fonmtmatter, the bit between the `---`). From here we are using `awk` again to find the draft key and print is value. + +```shell + filecontent=$(cat "$file") + frontmatter=$(echo "$filecontent" | awk -v RS='---' 'NR==2{print}') + draft=$(echo "$frontmatter" | awk '/^draft: /{print $2}') +``` + +Now we have the value for `draft` we are going to do 1 of 3 things, set the modDatetime to now (when draft is false `if [ "$draft" = "false" ]; then`), clear the modDatetime and set draft to false (when draft is set to first `if [ "$draft" = "first" ]; then`), or nothing (in any other case). + +The next part with the sed command is a bit magical to me as I don't often use it, it was copied from [another blog post on doing something similar](https://mademistakes.com/notes/adding-last-modified-timestamps-with-git/). In essence, it is looking inside the frontmatter tags (`---`) of the file to find the `pubDatetime:` key, getting the full line and replacing it with the `pubDatetime: $(date -u "+%Y-%m-%dT%H:%M:%SZ")/"` same key again and the current datetime formatted correctly. + +This replacement is in the context of the whole file so we put that into a temporary file (`> tmp`), then we move (`mv`) the new file into the location of the old file, overwriting it. This is then added to git ready to be committed as if we made the change ourselves. + +--- + +#### NOTE + +For the `sed` to work the frontmatter needs to already have the `modDatetime` key in the frontmatter. There are some other changes you will need to make for the app to build with a blank date, see [further down](#empty-moddatetime-changes) + +--- + +### Adding the Date for new files + +Adding the date for a new file is the same process as above, but this time we are looking for lines that have been added (`A`) and we are going to replace the `pubDatetime` value. + +```shell +# New files, add/update the pubDatetime +git diff --cached --name-status | egrep -i "^(A).*\.(md)$" | while read a b; do + cat $b | sed "/---.*/,/---.*/s/^pubDatetime:.*$/pubDatetime: $(date -u "+%Y-%m-%dT%H:%M:%SZ")/" > tmp + mv tmp $b + git add $b +done +``` + +--- + +#### Improvement - Only Loop Once + +We could use the `a` variable to switch inside the loop and either update the `modDatetime` or add the `pubDatetime` in one loop. + +--- + +## Populating the frontmatter + +If your IDE supports snippets then there is the option to create a custom snippet to populate the frontmatter.[In AstroPaper v4 will come with one for VSCode by default.](https://github.com/satnaing/astro-paper/pull/206) + + + +## Empty `modDatetime` changes + +To allow Astro to compile the markdown and do its thing, it needs to know what is expected in the frontmatter. It does this via the config in `src/content/config.ts` + +To allow the key to be there with no value we need to edit line 10 to add the `.nullable()` function. + +```typescript +const blog = defineCollection({ + type: "content", + schema: ({ image }) => + z.object({ + author: z.string().default(SITE.author), + pubDatetime: z.date(), +- modDatetime: z.date().optional(), ++ modDatetime: z.date().optional().nullable(), + title: z.string(), + featured: z.boolean().optional(), + draft: z.boolean().optional(), + tags: z.array(z.string()).default(["others"]), + ogImage: image() + .refine(img => img.width >= 1200 && img.height >= 630, { + message: "OpenGraph image must be at least 1200 X 630 pixels!", + }) + .or(z.string()) + .optional(), + description: z.string(), + canonicalURL: z.string().optional(), + readingTime: z.string().optional(), + }), +}); +``` + +To stop the IDE complaining in the blog engine files I have also done the following: + +1. added `| null` to line 15 in `src/layouts/Layout.astro` so that it looks like + +```typescript +export interface Props { + title?: string; + author?: string; + description?: string; + ogImage?: string; + canonicalURL?: string; + pubDatetime?: Date; + modDatetime?: Date | null; +} +``` + + + +2. added `| null` to line 5 in `src/components/Datetime.tsx` so that it looks like + +```typescript +interface DatetimesProps { + pubDatetime: string | Date; + modDatetime: string | Date | undefined | null; +} +``` diff --git a/src/content/blog/tailwind-typography.md b/src/content/blog/tailwind-typography.md new file mode 100644 index 0000000..fbbf653 --- /dev/null +++ b/src/content/blog/tailwind-typography.md @@ -0,0 +1,208 @@ +--- +title: Tailwind Typography Plugin +author: Sat Naing +pubDatetime: 2022-07-05T02:05:51Z +featured: false +draft: false +tags: + - TypeScript + - Astro +description: "EXAMPLE POST: About Tailwind Typography Plugin and how you can use it effectively." +--- + +> This article is from [TailwindLabs](https://tailwindcss-typography.vercel.app/). I put this article to demonstrate how you can write blog posts/articles using AstroPaper theme. + +By default, Tailwind removes all of the default browser styling from paragraphs, headings, lists and more. This ends up being really useful for building application UIs because you spend less time undoing user-agent styles, but when you _really are_ just trying to style some content that came from a rich-text editor in a CMS or a markdown file, it can be surprising and unintuitive. + +We get lots of complaints about it actually, with people regularly asking us things like: + +> Why is Tailwind removing the default styles on my `h1` elements? How do I disable this? What do you mean I lose all the other base styles too? +> We hear you, but we're not convinced that simply disabling our base styles is what you really want. You don't want to have to remove annoying margins every time you use a `p` element in a piece of your dashboard UI. And I doubt you really want your blog posts to use the user-agent styles either β€” you want them to look _awesome_, not awful. + +The `@tailwindcss/typography` plugin is our attempt to give you what you _actually_ want, without any of the downsides of doing something stupid like disabling our base styles. + +It adds a new `prose` class that you can slap on any block of vanilla HTML content and turn it into a beautiful, well-formatted document: + +```html +
    +

    Garlic bread with cheese: What the science tells us

    +

    + For years parents have espoused the health benefits of eating garlic bread + with cheese to their children, with the food earning such an iconic status + in our culture that kids will often dress up as warm, cheesy loaf for + Halloween. +

    +

    + But a recent study shows that the celebrated appetizer may be linked to a + series of rabies cases springing up around the country. +

    + +
    +``` + +For more information about how to use the plugin and the features it includes, [read the documentation](https://github.com/tailwindcss/typography/blob/master/README.md). + +--- + +## What to expect from here on out + +What follows from here is just a bunch of absolute nonsense I've written to dogfood the plugin itself. It includes every sensible typographic element I could think of, like **bold text**, unordered lists, ordered lists, code blocks, block quotes, _and even italics_. + +It's important to cover all of these use cases for a few reasons: + +1. We want everything to look good out of the box. +2. Really just the first reason, that's the whole point of the plugin. +3. Here's a third pretend reason though a list with three items looks more realistic than a list with two items. + +Now we're going to try out another header style. + +### Typography should be easy + +So that's a header for you β€” with any luck if we've done our job correctly that will look pretty reasonable. + +Something a wise person once told me about typography is: + +> Typography is pretty important if you don't want your stuff to look like trash. Make it good then it won't be bad. +> It's probably important that images look okay here by default as well: + +
    + +
    + Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of + classical Latin literature from 45 BC, making it over 2000 years old. +
    +
    + +Now I'm going to show you an example of an unordered list to make sure that looks good, too: + +- So here is the first item in this list. +- In this example we're keeping the items short. +- Later, we'll use longer, more complex list items. + +And that's the end of this section. + +## What if we stack headings? + +### We should make sure that looks good, too. + +Sometimes you have headings directly underneath each other. In those cases you often have to undo the top margin on the second heading because it usually looks better for the headings to be closer together than a paragraph followed by a heading should be. + +### When a heading comes after a paragraph … + +When a heading comes after a paragraph, we need a bit more space, like I already mentioned above. Now let's see what a more complex list would look like. + +- **I often do this thing where list items have headings.** + + For some reason I think this looks cool which is unfortunate because it's pretty annoying to get the styles right. + + I often have two or three paragraphs in these list items, too, so the hard part is getting the spacing between the paragraphs, list item heading, and separate list items to all make sense. Pretty tough honestly, you could make a strong argument that you just shouldn't write this way. + +- **Since this is a list, I need at least two items.** + + I explained what I'm doing already in the previous list item, but a list wouldn't be a list if it only had one item, and we really want this to look realistic. That's why I've added this second list item so I actually have something to look at when writing the styles. + +- **It's not a bad idea to add a third item either.** + + I think it probably would've been fine to just use two items but three is definitely not worse, and since I seem to be having no trouble making up arbitrary things to type, I might as well include it. + +After this sort of list I usually have a closing statement or paragraph, because it kinda looks weird jumping right to a heading. + +## Code should look okay by default. + +I think most people are going to use [highlight.js](https://highlightjs.org/) or [Prism](https://prismjs.com/) or something if they want to style their code blocks but it wouldn't hurt to make them look _okay_ out of the box, even with no syntax highlighting. + +Here's what a default `tailwind.config.js` file looks like at the time of writing: + +```js +module.exports = { + purge: [], + theme: { + extend: {}, + }, + variants: {}, + plugins: [], +}; +``` + +Hopefully that looks good enough to you. + +### What about nested lists? + +Nested lists basically always look bad which is why editors like Medium don't even let you do it, but I guess since some of you goofballs are going to do it we have to carry the burden of at least making it work. + +1. **Nested lists are rarely a good idea.** + - You might feel like you are being really "organized" or something but you are just creating a gross shape on the screen that is hard to read. + - Nested navigation in UIs is a bad idea too, keep things as flat as possible. + - Nesting tons of folders in your source code is also not helpful. +2. **Since we need to have more items, here's another one.** + - I'm not sure if we'll bother styling more than two levels deep. + - Two is already too much, three is guaranteed to be a bad idea. + - If you nest four levels deep you belong in prison. +3. **Two items isn't really a list, three is good though.** + - Again please don't nest lists if you want people to actually read your content. + - Nobody wants to look at this. + - I'm upset that we even have to bother styling this. + +The most annoying thing about lists in Markdown is that `
  • ` elements aren't given a child `

    ` tag unless there are multiple paragraphs in the list item. That means I have to worry about styling that annoying situation too. + +- **For example, here's another nested list.** + + But this time with a second paragraph. + + - These list items won't have `

    ` tags + - Because they are only one line each + +- **But in this second top-level list item, they will.** + + This is especially annoying because of the spacing on this paragraph. + + - As you can see here, because I've added a second line, this list item now has a `

    ` tag. + + This is the second line I'm talking about by the way. + + - Finally here's another list item so it's more like a list. + +- A closing list item, but with no nested list, because why not? + +And finally a sentence to close off this section. + +## There are other elements we need to style + +I almost forgot to mention links, like [this link to the Tailwind CSS website](https://tailwindcss.com). We almost made them blue but that's so yesterday, so we went with dark gray, feels edgier. + +We even included table styles, check it out: + +| Wrestler | Origin | Finisher | +| ----------------------- | ------------ | ------------------ | +| Bret "The Hitman" Hart | Calgary, AB | Sharpshooter | +| Stone Cold Steve Austin | Austin, TX | Stone Cold Stunner | +| Randy Savage | Sarasota, FL | Elbow Drop | +| Vader | Boulder, CO | Vader Bomb | +| Razor Ramon | Chuluota, FL | Razor's Edge | + +We also need to make sure inline code looks good, like if I wanted to talk about `` elements or tell you the good news about `@tailwindcss/typography`. + +### Sometimes I even use `code` in headings + +Even though it's probably a bad idea, and historically I've had a hard time making it look good. This _"wrap the code blocks in backticks"_ trick works pretty well though really. + +Another thing I've done in the past is put a `code` tag inside of a link, like if I wanted to tell you about the [`tailwindcss/docs`](https://github.com/tailwindcss/docs) repository. I don't love that there is an underline below the backticks but it is absolutely not worth the madness it would require to avoid it. + +#### We haven't used an `h4` yet + +But now we have. Please don't use `h5` or `h6` in your content, Medium only supports two heading levels for a reason, you animals. I honestly considered using a `before` pseudo-element to scream at you if you use an `h5` or `h6`. + +We don't style them at all out of the box because `h4` elements are already so small that they are the same size as the body copy. What are we supposed to do with an `h5`, make it _smaller_ than the body copy? No thanks. + +### We still need to think about stacked headings though. + +#### Let's make sure we don't screw that up with `h4` elements, either. + +Phew, with any luck we have styled the headings above this text and they look pretty good. + +Let's add a closing paragraph here so things end with a decently sized block of text. I can't explain why I want things to end that way but I have to assume it's because I think things will look weird or unbalanced if there is a heading too close to the end of the document. + +What I've written here is probably long enough, but adding this final sentence can't hurt. diff --git a/src/content/blog/terminal-development.md b/src/content/blog/terminal-development.md new file mode 100644 index 0000000..a6428bd --- /dev/null +++ b/src/content/blog/terminal-development.md @@ -0,0 +1,88 @@ +--- +title: How Do I Develop My Terminal Portfolio Website with React +author: Sat Naing +pubDatetime: 2022-06-09T03:42:51Z +slug: how-do-i-develop-my-terminal-portfolio-website-with-react +featured: false +draft: false +tags: + - JavaScript + - ReactJS + - ContextAPI + - Styled-Components + - TypeScript +description: + "EXAMPLE POST: Developing a terminal-like website using ReactJS, TypeScript and Styled-Components. + Includes features like autocomplete, multiple themes, command hints etc." +--- + +> This article is originally from my [blog post](https://satnaing.dev/blog/posts/how-do-i-develop-my-terminal-portfolio-website-with-react). I put this article to demonstrate how you can write blog posts/articles using AstroPaper theme. + +Developing a terminal-like website using ReactJS, TypeScript and Styled-Components. Includes features like autocomplete, multiple themes, command hints etc. + +![Sat Naing's Terminal Portfolio](https://satnaing.dev/_ipx/w_2048,q_75/https%3A%2F%2Fres.cloudinary.com%2Fnoezectz%2Fimage%2Fupload%2Fv1654754125%2FSatNaing%2Fterminal-screenshot_gu3kkc.png?url=https%3A%2F%2Fres.cloudinary.com%2Fnoezectz%2Fimage%2Fupload%2Fv1654754125%2FSatNaing%2Fterminal-screenshot_gu3kkc.png&w=2048&q=75) + +## Table of contents + +## Intro + +Recently, I've developed and published my portfolio + a blog. I’m glad I got some good feedback for it. Today, I want to introduce my new terminal-like portfolio website. It is developed using ReactJS, TypeScript. I got this idea from CodePen and YouTube. + +## Tech Stack + +This project is a frontend project without any backend codes. The UI/UX part is designed in Figma. For the frontend user-interface, I chose React over pain JavaScript and NextJS. Why? + +- Firstly, I want to write declarative code. Managing HTML DOM using JavaScript imperatively is really tedious. +- Secondly, because it is React!!! It is fast, and reliable. +- Lastly, I don’t need much of the SEO features, routing and image optimization provided by NextJS. + +And of course there's TypeScript for type checking. + +For styling, I took a different approach than what I usually do. Instead of choosing Pure CSS, Sass, or Utility CSS Framework like TailwindCSS, I chose the CSS-in-JS way (Styled-Components). Although I’ve known about Styled-Components for some time, I’ve never tried it out. So, the writing style and structures of Styled-Components in this project may not be very organized or very good. + +This project doesn’t need very complex state management. I just use ContextAPI in this project for multiple theming and to avoid prop drilling. + +Here’s a quick recap for the tech stack. + +- Frontend: [ReactJS](https://reactjs.org/ "React Website"), [TypeScript](https://www.typescriptlang.org/ "TypeScript Website") +- Styling: [Styled-Components](https://styled-components.com/ "Styled-Components Website") +- UI/UX: [Figma](https://figma.com/ "Figma Website") +- State Management: [ContextAPI](https://reactjs.org/docs/context.html "React ContextAPI") +- Deployment: [Netlify](https://www.netlify.com/ "Netlify Website") + +## Features + +Here are some features of the project. + +### Multiple Themes + +Users can change multiple themes. At the time of writing this post, there are 5 themes; and more themes will probably be added in the future. The selected theme is saved in local storage so that the theme won’t change on page refresh. + +![Setting different theme](https://i.ibb.co/fSTCnWB/terminal-portfolio-multiple-themes.gif) + +### Command-line Completion + +To look and feel as close to the actual terminal as possible, I put a command-line completion feature which auto fills in partially typed commands by simply pressing β€˜Tab’ or β€˜Ctrl + i’. + +![Demonstrating command-line completion](https://i.ibb.co/CQTGGLF/terminal-autocomplete.gif) + +### Previous Commands + +Users can go back to the previous commands or navigate the previously typed commands by pressing Up & Down Arrows. + +![Going back to previous commands with UP Arrow](https://i.ibb.co/vD1pSRv/terminal-up-down.gif) + +### View/Clear Command History + +previously typed commands can be viewed by typing β€˜history’ in the command line. All the command history and terminal screen can be wiped out by typing β€˜clear’ or pressing β€˜Ctrl + l’. + +![Clearing the terminal with 'clear' or 'Ctrl + L' command](https://i.ibb.co/SJBy8Rr/terminal-clear.gif) + +## Outro + +This is a really fun project, and one special part of this project is I had to focus on logic rather than user-interface (even though this is kind of a frontend project). + +## Project Links + +- Website: [https://terminal.satnaing.dev/](https://terminal.satnaing.dev/ "https://terminal.satnaing.dev/") +- Repo: [https://github.com/satnaing/terminal-portfolio](https://github.com/satnaing/terminal-portfolio "https://github.com/satnaing/terminal-portfolio") diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..4315718 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,26 @@ +import { SITE } from "@config"; +import { defineCollection, z } from "astro:content"; + +const blog = defineCollection({ + type: "content", + schema: ({ image }) => + z.object({ + author: z.string().default(SITE.author), + pubDatetime: z.date(), + modDatetime: z.date().optional().nullable(), + title: z.string(), + featured: z.boolean().optional(), + draft: z.boolean().optional(), + tags: z.array(z.string()).default(["others"]), + ogImage: image() + .refine(img => img.width >= 1200 && img.height >= 630, { + message: "OpenGraph image must be at least 1200 X 630 pixels!", + }) + .or(z.string()) + .optional(), + description: z.string(), + canonicalURL: z.string().optional(), + }), +}); + +export const collections = { blog }; diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/layouts/AboutLayout.astro b/src/layouts/AboutLayout.astro new file mode 100644 index 0000000..9f6dbc0 --- /dev/null +++ b/src/layouts/AboutLayout.astro @@ -0,0 +1,28 @@ +--- +import { SITE } from "@config"; +import Breadcrumbs from "@components/Breadcrumbs.astro"; +import Footer from "@components/Footer.astro"; +import Header from "@components/Header.astro"; +import Layout from "./Layout.astro"; + +export interface Props { + frontmatter: { + title: string; + description?: string; + }; +} + +const { frontmatter } = Astro.props; +--- + + +

    + +
    +
    +

    {frontmatter.title}

    + +
    +
    +
    + diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..dfeb001 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,115 @@ +--- +import { LOCALE, SITE } from "@config"; +import "@styles/base.css"; +import { ViewTransitions } from "astro:transitions"; + +const googleSiteVerification = import.meta.env.PUBLIC_GOOGLE_SITE_VERIFICATION; + +export interface Props { + title?: string; + author?: string; + description?: string; + ogImage?: string; + canonicalURL?: string; + pubDatetime?: Date; + modDatetime?: Date | null; + scrollSmooth?: boolean; +} + +const { + title = SITE.title, + author = SITE.author, + description = SITE.desc, + ogImage = SITE.ogImage, + canonicalURL = new URL(Astro.url.pathname, Astro.site).href, + pubDatetime, + modDatetime, + scrollSmooth = false, +} = Astro.props; + +const socialImageURL = new URL( + ogImage ?? SITE.ogImage ?? "og.png", + Astro.url.origin +).href; +--- + + + + + + + + + + + + {title} + + + + + + + + + + + + + { + pubDatetime && ( + + ) + } + { + modDatetime && ( + + ) + } + + + + + + + + + + + + + + + + { + // If PUBLIC_GOOGLE_SITE_VERIFICATION is set in the environment variable, + // include google-site-verification tag in the heading + // Learn more: https://support.google.com/webmasters/answer/9008080#meta_tag_verification&zippy=%2Chtml-tag + googleSiteVerification && ( + + ) + } + + + + + + + + + diff --git a/src/layouts/Main.astro b/src/layouts/Main.astro new file mode 100644 index 0000000..230a842 --- /dev/null +++ b/src/layouts/Main.astro @@ -0,0 +1,48 @@ +--- +import Breadcrumbs from "@components/Breadcrumbs.astro"; + +interface StringTitleProp { + pageTitle: string; + pageDesc?: string; +} + +interface ArrayTitleProp { + pageTitle: [string, string]; + titleTransition: string; + pageDesc?: string; +} + +export type Props = StringTitleProp | ArrayTitleProp; + +const { props } = Astro; +--- + + +
    + { + "titleTransition" in props ? ( +

    + {props.pageTitle[0]} + + {props.pageTitle[1]} + +

    + ) : ( +

    {props.pageTitle}

    + ) + } +

    {props.pageDesc}

    + +
    + + diff --git a/src/layouts/PostDetails.astro b/src/layouts/PostDetails.astro new file mode 100644 index 0000000..aeb5d30 --- /dev/null +++ b/src/layouts/PostDetails.astro @@ -0,0 +1,221 @@ +--- +import Layout from "@layouts/Layout.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import Tag from "@components/Tag.astro"; +import Datetime from "@components/Datetime"; +import type { CollectionEntry } from "astro:content"; +import { slugifyStr } from "@utils/slugify"; +import ShareLinks from "@components/ShareLinks.astro"; +import { SITE } from "@config"; + +export interface Props { + post: CollectionEntry<"blog">; +} + +const { post } = Astro.props; + +const { + title, + author, + description, + ogImage, + canonicalURL, + pubDatetime, + modDatetime, + tags, +} = post.data; + +const { Content } = await post.render(); + +const ogImageUrl = typeof ogImage === "string" ? ogImage : ogImage?.src; +const ogUrl = new URL( + ogImageUrl ?? `/posts/${slugifyStr(title)}.png`, + Astro.url.origin +).href; + +const layoutProps = { + title: `${title} | ${SITE.title}`, + author, + description, + pubDatetime, + modDatetime, + canonicalURL, + ogImage: ogUrl, + scrollSmooth: true, +}; +--- + + +
    + + + +
    + +
    +
    +

    {title}

    + +
    + +
    + +
      + {tags.map(tag => )} +
    + +
    + + + +
    +
    +
    + + + + + diff --git a/src/layouts/Posts.astro b/src/layouts/Posts.astro new file mode 100644 index 0000000..9ee8619 --- /dev/null +++ b/src/layouts/Posts.astro @@ -0,0 +1,40 @@ +--- +import type { CollectionEntry } from "astro:content"; +import Layout from "@layouts/Layout.astro"; +import Main from "@layouts/Main.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import Pagination from "@components/Pagination.astro"; +import Card from "@components/Card"; +import { SITE } from "@config"; + +export interface Props { + currentPage: number; + totalPages: number; + paginatedPosts: CollectionEntry<"blog">[]; +} + +const { currentPage, totalPages, paginatedPosts } = Astro.props; +--- + + +
    +
    +
      + { + paginatedPosts.map(({ data, slug }) => ( + + )) + } +
    +
    + + + +
    1} /> + diff --git a/src/layouts/TagPosts.astro b/src/layouts/TagPosts.astro new file mode 100644 index 0000000..ebf169c --- /dev/null +++ b/src/layouts/TagPosts.astro @@ -0,0 +1,49 @@ +--- +import { type CollectionEntry } from "astro:content"; +import Layout from "@layouts/Layout.astro"; +import Main from "@layouts/Main.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import Card from "@components/Card"; +import Pagination from "@components/Pagination.astro"; +import { SITE } from "@config"; + +export interface Props { + currentPage: number; + totalPages: number; + paginatedPosts: CollectionEntry<"blog">[]; + tag: string; + tagName: string; +} + +const { currentPage, totalPages, paginatedPosts, tag, tagName } = Astro.props; +--- + + +
    +
    +

    {`Tag:${tag}`}

    +
      + { + paginatedPosts.map(({ data, slug }) => ( + + )) + } +
    +
    + + + +
    1} /> + diff --git a/src/pages/404.astro b/src/pages/404.astro new file mode 100644 index 0000000..3b3a6c3 --- /dev/null +++ b/src/pages/404.astro @@ -0,0 +1,42 @@ +--- +import { SITE } from "@config"; +import Layout from "@layouts/Layout.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import LinkButton from "@components/LinkButton.astro"; +--- + + +
    + +
    +
    +

    404

    + +

    Page Not Found

    + + Go back home + +
    +
    + +
    + + + diff --git a/src/pages/about.md b/src/pages/about.md new file mode 100644 index 0000000..531df7f --- /dev/null +++ b/src/pages/about.md @@ -0,0 +1,36 @@ +--- +layout: ../layouts/AboutLayout.astro +title: "About" +--- + +AstroPaper is a minimal, responsive and SEO-friendly Astro blog theme. I designed and crafted this based on [my personal blog](https://satnaing.dev/blog). + +This theme is aimed to be accessible out of the box. Light and dark mode are supported by +default and additional color schemes can also be configured. + +This theme is self-documented \_ which means articles/posts in this theme can also be considered as documentations. So, see the documentation for more info. + +
    + coding dev illustration +
    + +## Tech Stack + +This theme is written in vanilla JavaScript (+ TypeScript for type checking) and a little bit of ReactJS for some interactions. TailwindCSS is used for styling; and Markdown is used for blog contents. + +## Features + +Here are certain features of this site. + +- fully responsive and accessible +- SEO-friendly +- light & dark mode +- fuzzy search +- super fast performance +- draft posts +- pagination +- sitemap & rss feed +- highly customizable + +If you like this theme, you can star/contribute to the [repo](https://github.com/satnaing/astro-paper). +Or you can even give any feedback via my [email](mailto:contact@satnaing.dev). diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..1ae0874 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,163 @@ +--- +import { getCollection } from "astro:content"; +import Layout from "@layouts/Layout.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import LinkButton from "@components/LinkButton.astro"; +import Hr from "@components/Hr.astro"; +import Card from "@components/Card"; +import Socials from "@components/Socials.astro"; +import getSortedPosts from "@utils/getSortedPosts"; +import { SOCIALS } from "@config"; + +const posts = await getCollection("blog"); + +const sortedPosts = getSortedPosts(posts); +const featuredPosts = sortedPosts.filter(({ data }) => data.featured); +const recentPosts = sortedPosts.filter(({ data }) => !data.featured); + +const socialCount = SOCIALS.filter(social => social.active).length; +--- + + +
    +
    +
    +

    Mingalaba

    + + + + RSS Feed + + +

    + AstroPaper is a minimal, responsive, accessible and SEO-friendly Astro + blog theme. This theme follows best practices and provides accessibility + out of the box. Light and dark mode are supported by default. Moreover, + additional color schemes can also be configured. +

    +

    + Read the blog posts or check + + README + for more info. +

    + { + // only display if at least one social link is enabled + socialCount > 0 && ( + + ) + } +
    + +
    + + { + featuredPosts.length > 0 && ( + <> + + {recentPosts.length > 0 &&
    } + + ) + } + + { + recentPosts.length > 0 && ( +
    +

    Recent Posts

    +
      + {recentPosts.map( + ({ data, slug }, index) => + index < 4 && ( + + ) + )} +
    +
    + ) + } + +
    + + All Posts + + + +
    +
    + +
    + + + diff --git a/src/pages/og.png.ts b/src/pages/og.png.ts new file mode 100644 index 0000000..d35baee --- /dev/null +++ b/src/pages/og.png.ts @@ -0,0 +1,7 @@ +import type { APIRoute } from "astro"; +import { generateOgImageForSite } from "@utils/generateOgImages"; + +export const GET: APIRoute = async () => + new Response(await generateOgImageForSite(), { + headers: { "Content-Type": "image/png" }, + }); diff --git a/src/pages/posts/[slug]/index.astro b/src/pages/posts/[slug]/index.astro new file mode 100644 index 0000000..29bb602 --- /dev/null +++ b/src/pages/posts/[slug]/index.astro @@ -0,0 +1,41 @@ +--- +import { type CollectionEntry, getCollection } from "astro:content"; +import Posts from "@layouts/Posts.astro"; +import PostDetails from "@layouts/PostDetails.astro"; +import getSortedPosts from "@utils/getSortedPosts"; +import getPageNumbers from "@utils/getPageNumbers"; +import getPagination from "@utils/getPagination"; + +export interface Props { + post: CollectionEntry<"blog">; +} + +export async function getStaticPaths() { + const posts = await getCollection("blog", ({ data }) => !data.draft); + + const postResult = posts.map(post => ({ + params: { slug: post.slug }, + props: { post }, + })); + + const pagePaths = getPageNumbers(posts.length).map(pageNum => ({ + params: { slug: String(pageNum) }, + })); + + return [...postResult, ...pagePaths]; +} + +const { slug } = Astro.params; +const { post } = Astro.props; + +const posts = await getCollection("blog"); + +const sortedPosts = getSortedPosts(posts); + +const pagination = getPagination({ + posts: sortedPosts, + page: slug, +}); +--- + +{post ? : } diff --git a/src/pages/posts/[slug]/index.png.ts b/src/pages/posts/[slug]/index.png.ts new file mode 100644 index 0000000..839dc3e --- /dev/null +++ b/src/pages/posts/[slug]/index.png.ts @@ -0,0 +1,20 @@ +import type { APIRoute } from "astro"; +import { getCollection, type CollectionEntry } from "astro:content"; +import { generateOgImageForPost } from "@utils/generateOgImages"; +import { slugifyStr } from "@utils/slugify"; + +export async function getStaticPaths() { + const posts = await getCollection("blog").then(p => + p.filter(({ data }) => !data.draft && !data.ogImage) + ); + + return posts.map(post => ({ + params: { slug: slugifyStr(post.data.title) }, + props: post, + })); +} + +export const GET: APIRoute = async ({ props }) => + new Response(await generateOgImageForPost(props as CollectionEntry<"blog">), { + headers: { "Content-Type": "image/png" }, + }); diff --git a/src/pages/posts/index.astro b/src/pages/posts/index.astro new file mode 100644 index 0000000..191d3c3 --- /dev/null +++ b/src/pages/posts/index.astro @@ -0,0 +1,18 @@ +--- +import { getCollection } from "astro:content"; +import Posts from "@layouts/Posts.astro"; +import getSortedPosts from "@utils/getSortedPosts"; +import getPagination from "@utils/getPagination"; + +const posts = await getCollection("blog"); + +const sortedPosts = getSortedPosts(posts); + +const pagination = getPagination({ + posts: sortedPosts, + page: 1, + isIndex: true, +}); +--- + + diff --git a/src/pages/robots.txt.ts b/src/pages/robots.txt.ts new file mode 100644 index 0000000..0475e01 --- /dev/null +++ b/src/pages/robots.txt.ts @@ -0,0 +1,17 @@ +import type { APIRoute } from "astro"; +import { SITE } from "@config"; + +const robots = ` +User-agent: Googlebot +Disallow: /nogooglebot/ + +User-agent: * +Allow: / + +Sitemap: ${new URL("sitemap-index.xml", SITE.website).href} +`.trim(); + +export const GET: APIRoute = () => + new Response(robots, { + headers: { "Content-Type": "text/plain" }, + }); diff --git a/src/pages/rss.xml.ts b/src/pages/rss.xml.ts new file mode 100644 index 0000000..0fc75c3 --- /dev/null +++ b/src/pages/rss.xml.ts @@ -0,0 +1,20 @@ +import rss from "@astrojs/rss"; +import { getCollection } from "astro:content"; +import getSortedPosts from "@utils/getSortedPosts"; +import { SITE } from "@config"; + +export async function GET() { + const posts = await getCollection("blog"); + const sortedPosts = getSortedPosts(posts); + return rss({ + title: SITE.title, + description: SITE.desc, + site: SITE.website, + items: sortedPosts.map(({ data, slug }) => ({ + link: `posts/${slug}/`, + title: data.title, + description: data.description, + pubDate: new Date(data.modDatetime ?? data.pubDatetime), + })), + }); +} diff --git a/src/pages/search.astro b/src/pages/search.astro new file mode 100644 index 0000000..f61930f --- /dev/null +++ b/src/pages/search.astro @@ -0,0 +1,30 @@ +--- +import { getCollection } from "astro:content"; +import { SITE } from "@config"; +import Layout from "@layouts/Layout.astro"; +import Main from "@layouts/Main.astro"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import SearchBar from "@components/Search"; +import getSortedPosts from "@utils/getSortedPosts"; + +// Retrieve all published articles +const posts = await getCollection("blog", ({ data }) => !data.draft); +const sortedPosts = getSortedPosts(posts); + +// List of items to search in +const searchList = sortedPosts.map(({ data, slug }) => ({ + title: data.title, + description: data.description, + data, + slug, +})); +--- + + +
    +
    + +
    +
    + diff --git a/src/pages/tags/[tag]/[page].astro b/src/pages/tags/[tag]/[page].astro new file mode 100644 index 0000000..412dd1b --- /dev/null +++ b/src/pages/tags/[tag]/[page].astro @@ -0,0 +1,44 @@ +--- +import { type CollectionEntry, getCollection } from "astro:content"; +import TagPosts from "@layouts/TagPosts.astro"; +import getUniqueTags from "@utils/getUniqueTags"; +import getPostsByTag from "@utils/getPostsByTag"; +import getPageNumbers from "@utils/getPageNumbers"; +import getPagination from "@utils/getPagination"; + +export interface Props { + post: CollectionEntry<"blog">; + tag: string; + tagName: string; +} + +export async function getStaticPaths() { + const posts = await getCollection("blog"); + + const tags = getUniqueTags(posts); + + return tags.flatMap(({ tag, tagName }) => { + const tagPosts = getPostsByTag(posts, tag); + const totalPages = getPageNumbers(tagPosts.length); + + return totalPages.map(page => ({ + params: { tag, page }, + props: { tag, tagName }, + })); + }); +} + +const { page } = Astro.params; +const { tag, tagName } = Astro.props; + +const posts = await getCollection("blog", ({ data }) => !data.draft); + +const postsByTag = getPostsByTag(posts, tag); + +const pagination = getPagination({ + posts: postsByTag, + page, +}); +--- + + diff --git a/src/pages/tags/[tag]/index.astro b/src/pages/tags/[tag]/index.astro new file mode 100644 index 0000000..87c4b68 --- /dev/null +++ b/src/pages/tags/[tag]/index.astro @@ -0,0 +1,32 @@ +--- +import { getCollection } from "astro:content"; +import TagPosts from "@layouts/TagPosts.astro"; +import getPostsByTag from "@utils/getPostsByTag"; +import getPagination from "@utils/getPagination"; +import getUniqueTags from "@utils/getUniqueTags"; + +export async function getStaticPaths() { + const posts = await getCollection("blog"); + + const tags = getUniqueTags(posts); + + return tags.map(({ tag, tagName }) => { + return { + params: { tag }, + props: { tag, tagName, posts }, + }; + }); +} + +const { tag, tagName, posts } = Astro.props; + +const postsByTag = getPostsByTag(posts, tag); + +const pagination = getPagination({ + posts: postsByTag, + page: 1, + isIndex: true, +}); +--- + + diff --git a/src/pages/tags/index.astro b/src/pages/tags/index.astro new file mode 100644 index 0000000..97d07b1 --- /dev/null +++ b/src/pages/tags/index.astro @@ -0,0 +1,24 @@ +--- +import { getCollection } from "astro:content"; +import Header from "@components/Header.astro"; +import Footer from "@components/Footer.astro"; +import Layout from "@layouts/Layout.astro"; +import Main from "@layouts/Main.astro"; +import Tag from "@components/Tag.astro"; +import getUniqueTags from "@utils/getUniqueTags"; +import { SITE } from "@config"; + +const posts = await getCollection("blog"); + +let tags = getUniqueTags(posts); +--- + + +
    +
    +
      + {tags.map(({ tag }) => )} +
    +
    +
    + diff --git a/src/styles/base.css b/src/styles/base.css new file mode 100644 index 0000000..6efa219 --- /dev/null +++ b/src/styles/base.css @@ -0,0 +1,135 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root, + html[data-theme="light"] { + --color-fill: 251, 254, 251; + --color-text-base: 40, 39, 40; + --color-accent: 0, 108, 172; + --color-card: 230, 230, 230; + --color-card-muted: 205, 205, 205; + --color-border: 236, 233, 233; + } + html[data-theme="dark"] { + --color-fill: 33, 39, 55; + --color-text-base: 234, 237, 243; + --color-accent: 255, 107, 1; + --color-card: 52, 63, 96; + --color-card-muted: 138, 51, 2; + --color-border: 171, 75, 8; + } + #sun-svg, + html[data-theme="dark"] #moon-svg { + display: none; + } + #moon-svg, + html[data-theme="dark"] #sun-svg { + display: block; + } + body { + @apply flex min-h-[100svh] flex-col bg-skin-fill font-mono text-skin-base + selection:bg-skin-accent selection:bg-opacity-70 selection:text-skin-inverted; + } + section, + footer { + @apply mx-auto max-w-3xl px-4; + } + a { + @apply outline-2 outline-offset-1 outline-skin-fill + focus-visible:no-underline focus-visible:outline-dashed; + } + svg { + @apply inline-block h-6 w-6 fill-skin-base group-hover:fill-skin-accent; + } + svg.icon-tabler { + @apply inline-block h-6 w-6 scale-125 fill-transparent + stroke-current stroke-2 opacity-90 group-hover:fill-transparent + sm:scale-110; + } + .prose { + @apply prose-headings:!mb-3 prose-headings:!text-skin-base + prose-h3:italic prose-p:!text-skin-base + prose-a:!text-skin-base prose-a:!decoration-dashed prose-a:underline-offset-8 + hover:prose-a:text-skin-accent prose-blockquote:!border-l-skin-accent + prose-blockquote:border-opacity-50 prose-blockquote:opacity-80 + prose-figcaption:!text-skin-base prose-figcaption:opacity-70 + prose-strong:!text-skin-base + + + prose-code:rounded prose-code:bg-skin-card + prose-code:bg-opacity-75 prose-code:p-1 + prose-code:before:!content-none prose-code:after:!content-none + prose-ol:!text-skin-base + prose-ul:overflow-x-clip prose-ul:!text-skin-base prose-li:marker:!text-skin-accent + prose-table:text-skin-base prose-th:border + prose-th:border-skin-line prose-td:border + prose-td:border-skin-line prose-img:!my-2 + prose-img:mx-auto prose-img:border-2 + prose-img:border-skin-line prose-hr:!border-skin-line; + } + .prose a { + @apply break-words hover:!text-skin-accent; + } + .prose thead th:first-child, + tbody td:first-child, + tfoot td:first-child { + padding-left: 0.5714286em; + } + .prose h2#table-of-contents { + @apply mb-2; + } + .prose details { + @apply inline-block cursor-pointer select-none text-skin-base; + } + .prose summary { + @apply focus-outline; + } + .prose h2#table-of-contents + p { + @apply hidden; + } + + /* ===== scrollbar ===== */ + html { + overflow-y: scroll; + } + + /* width */ + ::-webkit-scrollbar { + @apply w-3; + } + + /* Track */ + ::-webkit-scrollbar-track { + @apply bg-skin-fill; + } + + /* Handle */ + ::-webkit-scrollbar-thumb { + @apply bg-skin-card; + } + + /* Handle on hover */ + ::-webkit-scrollbar-thumb:hover { + @apply bg-skin-card-muted; + } + + code, + blockquote { + word-wrap: break-word; + } + + pre > code { + white-space: pre; + } +} + +@layer components { + .display-none { + @apply hidden; + } + .focus-outline { + @apply outline-2 outline-offset-1 outline-skin-fill focus-visible:no-underline focus-visible:outline-dashed; + } +} diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..72ba2f0 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,19 @@ +import type socialIcons from "@assets/socialIcons"; + +export type Site = { + website: string; + author: string; + desc: string; + title: string; + ogImage?: string; + lightAndDarkMode: boolean; + postPerPage: number; + scheduledPostMargin: number; +}; + +export type SocialObjects = { + name: keyof typeof socialIcons; + href: string; + active: boolean; + linkTitle: string; +}[]; diff --git a/src/utils/generateOgImages.tsx b/src/utils/generateOgImages.tsx new file mode 100644 index 0000000..c6752b5 --- /dev/null +++ b/src/utils/generateOgImages.tsx @@ -0,0 +1,59 @@ +import satori, { type SatoriOptions } from "satori"; +import { Resvg } from "@resvg/resvg-js"; +import { type CollectionEntry } from "astro:content"; +import postOgImage from "./og-templates/post"; +import siteOgImage from "./og-templates/site"; + +const fetchFonts = async () => { + // Regular Font + const fontFileRegular = await fetch( + "https://www.1001fonts.com/download/font/ibm-plex-mono.regular.ttf" + ); + const fontRegular: ArrayBuffer = await fontFileRegular.arrayBuffer(); + + // Bold Font + const fontFileBold = await fetch( + "https://www.1001fonts.com/download/font/ibm-plex-mono.bold.ttf" + ); + const fontBold: ArrayBuffer = await fontFileBold.arrayBuffer(); + + return { fontRegular, fontBold }; +}; + +const { fontRegular, fontBold } = await fetchFonts(); + +const options: SatoriOptions = { + width: 1200, + height: 630, + embedFont: true, + fonts: [ + { + name: "IBM Plex Mono", + data: fontRegular, + weight: 400, + style: "normal", + }, + { + name: "IBM Plex Mono", + data: fontBold, + weight: 600, + style: "normal", + }, + ], +}; + +function svgBufferToPngBuffer(svg: string) { + const resvg = new Resvg(svg); + const pngData = resvg.render(); + return pngData.asPng(); +} + +export async function generateOgImageForPost(post: CollectionEntry<"blog">) { + const svg = await satori(postOgImage(post), options); + return svgBufferToPngBuffer(svg); +} + +export async function generateOgImageForSite() { + const svg = await satori(siteOgImage(), options); + return svgBufferToPngBuffer(svg); +} diff --git a/src/utils/getPageNumbers.ts b/src/utils/getPageNumbers.ts new file mode 100644 index 0000000..9fc64c3 --- /dev/null +++ b/src/utils/getPageNumbers.ts @@ -0,0 +1,14 @@ +import { SITE } from "@config"; + +const getPageNumbers = (numberOfPosts: number) => { + const numberOfPages = numberOfPosts / Number(SITE.postPerPage); + + let pageNumbers: number[] = []; + for (let i = 1; i <= Math.ceil(numberOfPages); i++) { + pageNumbers = [...pageNumbers, i]; + } + + return pageNumbers; +}; + +export default getPageNumbers; diff --git a/src/utils/getPagination.ts b/src/utils/getPagination.ts new file mode 100644 index 0000000..83e9a81 --- /dev/null +++ b/src/utils/getPagination.ts @@ -0,0 +1,35 @@ +import { SITE } from "@config"; +import getPageNumbers from "./getPageNumbers"; + +interface GetPaginationProps { + posts: T; + page: string | number; + isIndex?: boolean; +} + +const getPagination = ({ + posts, + page, + isIndex = false, +}: GetPaginationProps) => { + const totalPagesArray = getPageNumbers(posts.length); + const totalPages = totalPagesArray.length; + + const currentPage = isIndex + ? 1 + : page && !isNaN(Number(page)) && totalPagesArray.includes(Number(page)) + ? Number(page) + : 0; + + const lastPost = isIndex ? SITE.postPerPage : currentPage * SITE.postPerPage; + const startPost = isIndex ? 0 : lastPost - SITE.postPerPage; + const paginatedPosts = posts.slice(startPost, lastPost); + + return { + totalPages, + currentPage, + paginatedPosts, + }; +}; + +export default getPagination; diff --git a/src/utils/getPostsByTag.ts b/src/utils/getPostsByTag.ts new file mode 100644 index 0000000..8616170 --- /dev/null +++ b/src/utils/getPostsByTag.ts @@ -0,0 +1,10 @@ +import type { CollectionEntry } from "astro:content"; +import getSortedPosts from "./getSortedPosts"; +import { slugifyAll } from "./slugify"; + +const getPostsByTag = (posts: CollectionEntry<"blog">[], tag: string) => + getSortedPosts( + posts.filter(post => slugifyAll(post.data.tags).includes(tag)) + ); + +export default getPostsByTag; diff --git a/src/utils/getSortedPosts.ts b/src/utils/getSortedPosts.ts new file mode 100644 index 0000000..8fa5266 --- /dev/null +++ b/src/utils/getSortedPosts.ts @@ -0,0 +1,18 @@ +import type { CollectionEntry } from "astro:content"; +import postFilter from "./postFilter"; + +const getSortedPosts = (posts: CollectionEntry<"blog">[]) => { + return posts + .filter(postFilter) + .sort( + (a, b) => + Math.floor( + new Date(b.data.modDatetime ?? b.data.pubDatetime).getTime() / 1000 + ) - + Math.floor( + new Date(a.data.modDatetime ?? a.data.pubDatetime).getTime() / 1000 + ) + ); +}; + +export default getSortedPosts; diff --git a/src/utils/getUniqueTags.ts b/src/utils/getUniqueTags.ts new file mode 100644 index 0000000..a4b103a --- /dev/null +++ b/src/utils/getUniqueTags.ts @@ -0,0 +1,23 @@ +import { slugifyStr } from "./slugify"; +import type { CollectionEntry } from "astro:content"; +import postFilter from "./postFilter"; + +interface Tag { + tag: string; + tagName: string; +} + +const getUniqueTags = (posts: CollectionEntry<"blog">[]) => { + const tags: Tag[] = posts + .filter(postFilter) + .flatMap(post => post.data.tags) + .map(tag => ({ tag: slugifyStr(tag), tagName: tag })) + .filter( + (value, index, self) => + self.findIndex(tag => tag.tag === value.tag) === index + ) + .sort((tagA, tagB) => tagA.tag.localeCompare(tagB.tag)); + return tags; +}; + +export default getUniqueTags; diff --git a/src/utils/og-templates/post.tsx b/src/utils/og-templates/post.tsx new file mode 100644 index 0000000..a0dcf60 --- /dev/null +++ b/src/utils/og-templates/post.tsx @@ -0,0 +1,96 @@ +import { SITE } from "@config"; +import type { CollectionEntry } from "astro:content"; + +export default (post: CollectionEntry<"blog">) => { + return ( +
    +
    + +
    +
    +

    + {post.data.title} +

    +
    + + by{" "} + + " + + + {post.data.author} + + + + + {SITE.title} + +
    +
    +
    +
    + ); +}; diff --git a/src/utils/og-templates/site.tsx b/src/utils/og-templates/site.tsx new file mode 100644 index 0000000..33bddc6 --- /dev/null +++ b/src/utils/og-templates/site.tsx @@ -0,0 +1,87 @@ +import { SITE } from "@config"; + +export default () => { + return ( +
    +
    + +
    +
    +
    +

    {SITE.title}

    +

    {SITE.desc}

    +
    + +
    + + {new URL(SITE.website).hostname} + +
    +
    +
    +
    + ); +}; diff --git a/src/utils/postFilter.ts b/src/utils/postFilter.ts new file mode 100644 index 0000000..3b24ccc --- /dev/null +++ b/src/utils/postFilter.ts @@ -0,0 +1,11 @@ +import { SITE } from "@config"; +import type { CollectionEntry } from "astro:content"; + +const postFilter = ({ data }: CollectionEntry<"blog">) => { + const isPublishTimePassed = + Date.now() > + new Date(data.pubDatetime).getTime() - SITE.scheduledPostMargin; + return !data.draft && (import.meta.env.DEV || isPublishTimePassed); +}; + +export default postFilter; diff --git a/src/utils/slugify.ts b/src/utils/slugify.ts new file mode 100644 index 0000000..007adae --- /dev/null +++ b/src/utils/slugify.ts @@ -0,0 +1,5 @@ +import { slug as slugger } from "github-slugger"; + +export const slugifyStr = (str: string) => slugger(str); + +export const slugifyAll = (arr: string[]) => arr.map(str => slugifyStr(str)); diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..8e43860 --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,75 @@ +function withOpacity(variableName) { + return ({ opacityValue }) => { + if (opacityValue !== undefined) { + return `rgba(var(${variableName}), ${opacityValue})`; + } + return `rgb(var(${variableName}))`; + }; +} + +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], + theme: { + // Remove the following screen breakpoint or add other breakpoints + // if one breakpoint is not enough for you + screens: { + sm: "640px", + }, + + extend: { + textColor: { + skin: { + base: withOpacity("--color-text-base"), + accent: withOpacity("--color-accent"), + inverted: withOpacity("--color-fill"), + }, + }, + backgroundColor: { + skin: { + fill: withOpacity("--color-fill"), + accent: withOpacity("--color-accent"), + inverted: withOpacity("--color-text-base"), + card: withOpacity("--color-card"), + "card-muted": withOpacity("--color-card-muted"), + }, + }, + outlineColor: { + skin: { + fill: withOpacity("--color-accent"), + }, + }, + borderColor: { + skin: { + line: withOpacity("--color-border"), + fill: withOpacity("--color-text-base"), + accent: withOpacity("--color-accent"), + }, + }, + fill: { + skin: { + base: withOpacity("--color-text-base"), + accent: withOpacity("--color-accent"), + }, + transparent: "transparent", + }, + fontFamily: { + mono: ["IBM Plex Mono", "monospace"], + }, + + typography: { + DEFAULT: { + css: { + pre: { + color: false, + }, + code: { + color: false, + }, + }, + }, + }, + }, + }, + plugins: [require("@tailwindcss/typography")], +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d2e3c75 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "baseUrl": "src", + "jsx": "react-jsx", + "paths": { + "@assets/*": ["assets/*"], + "@config": ["config.ts"], + "@components/*": ["components/*"], + "@content/*": ["content/*"], + "@layouts/*": ["layouts/*"], + "@pages/*": ["pages/*"], + "@styles/*": ["styles/*"], + "@utils/*": ["utils/*"], + }, + }, +}
  • bdGW9uFle0$38JwR0@>Q&+|PNO61F(@FG|D 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≪v9O9LzX=nrvY3*N{lj!Hb-10xe&#T%WofrqzW*1dD|zI$ zb`THDNmI)}u)vF=fL(>XxSBK1eS@v|{pQ)au7;l}J`B5E(#Wb*!1PEX7Ts`(V#0ao zh6o6E;hNXST`heNqjjiYyLGy$YnMwMv%$?7MYVZw?(pGJ7WZu%e;NIyI!vmYht^b? z0|_@8pm1!0WIe?DmuNgQ_L_iTxaK7bWgk=~3XuWgHKn+PVi=$B{s(6*mzSY@y({{a z!fr}Yo2R*{Q-Q-t-2WOzjYVz1(yL!%IvKxYe5rR#JHjX&4x^>p`-k~vjPxWtUPS@H zE;C)|A8rKjiL%jz&HWO;wC+t*Q(3H>*s)mLWI0@0KZu5 z0Y0o)8|3i);#6P^-_jKL0)>sd>=U9_J8nAU!?XxML4mud#VN#$f!V;IIBxbZX!0=V zYbQ#W5`w)~S~|;)HUVfu8049?>ZceH4DnI?a+vW({U;*abm5)}J`Z%t+TNsG$zl)~jPAG7KD) zFnatPf-Uxv!t(={taYqxvjN7%wh-w9+_GK8W|5V#bsXE|j(Zt9UZqpS^f)&5wT$@k zkZ+!lx&g?+Q*^9&-}6_c#1Us!GHTY3%6(4i191CfsSi7_``O{%!5dpsH}AN};mxhx zgT0;4K6w34pHMp+n}D04$<2}U+%Xo_|lOUOLU{Gp|7$R`efDI=c|u$ za3qdQNQ#R`_K&iPnC&KTlQdlyema^2zWUAHhD(H1h-)R>K{_Y!3a=)>7rl{WD7azO zO$|)46DC7|A;{<<+5)zy*g+f#N>-v;9|4bn#IdUMy1%0D4m}b4(5|8={LeP+mEr}u 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