From 2626d6ae478645cfcfa1a21d0acd74009f3a9156 Mon Sep 17 00:00:00 2001 From: Ketan Kudikyal <66976099+KetanKudikyal@users.noreply.github.com> Date: Sun, 5 May 2024 19:09:04 +0530 Subject: [PATCH] Initial commit --- .env.example | 6 + .eslintrc.js | 84 + .github/FUNDING.yml | 14 + .github/issue-branch.yml | 9 + .github/pull_request_template.md | 15 + .github/workflows/create-branch.yml | 14 + .github/workflows/issue-autolink.yml | 16 + .github/workflows/lint.yml | 44 + .github/workflows/release-please.yml | 17 + .gitignore | 42 + .husky/commit-msg | 4 + .husky/post-merge | 4 + .husky/pre-commit | 4 + .npmrc | 1 + .nvmrc | 1 + .prettierignore | 41 + .prettierrc.js | 7 + .vscode/css.code-snippets | 10 + .vscode/extensions.json | 9 + .vscode/settings.json | 17 + .vscode/typescriptreact.code-snippets | 193 + CHANGELOG.md | 431 ++ README.md | 133 + commitlint.config.js | 24 + jest.config.js | 30 + jest.setup.js | 5 + next-env.d.ts | 5 + next-sitemap.config.js | 13 + next.config.js | 50 + package.json | 67 + pnpm-lock.yaml | 7929 +++++++++++++++++++++ postcss.config.js | 6 + public/favicon.ico | Bin 0 -> 10990 bytes public/favicon/android-chrome-192x192.png | Bin 0 -> 8899 bytes public/favicon/android-chrome-512x512.png | Bin 0 -> 50301 bytes public/favicon/apple-touch-icon.png | Bin 0 -> 8545 bytes public/favicon/favicon-16x16.png | Bin 0 -> 937 bytes public/favicon/favicon-32x32.png | Bin 0 -> 1583 bytes public/favicon/favicon.ico | Bin 0 -> 10990 bytes public/favicon/site.webmanifest | 19 + public/fonts/inter-var-latin.woff2 | Bin 0 -> 36532 bytes public/images/new-tab.png | Bin 0 -> 565 bytes public/images/og.jpg | Bin 0 -> 149123 bytes public/svg/Logo.svg | 1 + public/svg/Vercel.svg | 1 + renovate.json | 9 + src/__mocks__/svg.tsx | 8 + src/__tests__/pages/HomePage.test.tsx | 15 + src/app/api/hello/route.ts | 5 + src/app/components/layout.tsx | 17 + src/app/components/page.tsx | 461 ++ src/app/error.tsx | 38 + src/app/layout.tsx | 62 + src/app/not-found.tsx | 24 + src/app/page.tsx | 72 + src/components/NextImage.tsx | 58 + src/components/Skeleton.tsx | 20 + src/components/buttons/Button.tsx | 160 + src/components/buttons/IconButton.tsx | 116 + src/components/buttons/TextButton.tsx | 52 + src/components/links/ArrowLink.tsx | 64 + src/components/links/ButtonLink.tsx | 146 + src/components/links/IconLink.tsx | 97 + src/components/links/PrimaryLink.tsx | 43 + src/components/links/UnderlineLink.tsx | 28 + src/components/links/UnstyledLink.tsx | 50 + src/constant/config.ts | 7 + src/constant/env.ts | 6 + src/lib/__tests__/og.test.ts | 20 + src/lib/env.ts | 20 + src/lib/helper.ts | 13 + src/lib/logger.ts | 19 + src/lib/og.ts | 27 + src/lib/utils.ts | 7 + src/styles/colors.css | 550 ++ src/styles/globals.css | 118 + tailwind.config.ts | 56 + tsconfig.json | 31 + vercel.json | 13 + 79 files changed, 11698 insertions(+) create mode 100644 .env.example create mode 100644 .eslintrc.js create mode 100644 .github/FUNDING.yml create mode 100644 .github/issue-branch.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/create-branch.yml create mode 100644 .github/workflows/issue-autolink.yml create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/release-please.yml create mode 100644 .gitignore create mode 100755 .husky/commit-msg create mode 100755 .husky/post-merge create mode 100755 .husky/pre-commit create mode 100644 .npmrc create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.js create mode 100644 .vscode/css.code-snippets create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/typescriptreact.code-snippets create mode 100644 CHANGELOG.md create mode 100644 README.md create mode 100644 commitlint.config.js create mode 100644 jest.config.js create mode 100644 jest.setup.js create mode 100644 next-env.d.ts create mode 100644 next-sitemap.config.js create mode 100644 next.config.js create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.js create mode 100644 public/favicon.ico create mode 100644 public/favicon/android-chrome-192x192.png create mode 100644 public/favicon/android-chrome-512x512.png create mode 100644 public/favicon/apple-touch-icon.png create mode 100644 public/favicon/favicon-16x16.png create mode 100644 public/favicon/favicon-32x32.png create mode 100644 public/favicon/favicon.ico create mode 100644 public/favicon/site.webmanifest create mode 100644 public/fonts/inter-var-latin.woff2 create mode 100644 public/images/new-tab.png create mode 100644 public/images/og.jpg create mode 100644 public/svg/Logo.svg create mode 100644 public/svg/Vercel.svg create mode 100644 renovate.json create mode 100644 src/__mocks__/svg.tsx create mode 100644 src/__tests__/pages/HomePage.test.tsx create mode 100644 src/app/api/hello/route.ts create mode 100644 src/app/components/layout.tsx create mode 100644 src/app/components/page.tsx create mode 100644 src/app/error.tsx create mode 100644 src/app/layout.tsx create mode 100644 src/app/not-found.tsx create mode 100644 src/app/page.tsx create mode 100644 src/components/NextImage.tsx create mode 100644 src/components/Skeleton.tsx create mode 100644 src/components/buttons/Button.tsx create mode 100644 src/components/buttons/IconButton.tsx create mode 100644 src/components/buttons/TextButton.tsx create mode 100644 src/components/links/ArrowLink.tsx create mode 100644 src/components/links/ButtonLink.tsx create mode 100644 src/components/links/IconLink.tsx create mode 100644 src/components/links/PrimaryLink.tsx create mode 100644 src/components/links/UnderlineLink.tsx create mode 100644 src/components/links/UnstyledLink.tsx create mode 100644 src/constant/config.ts create mode 100644 src/constant/env.ts create mode 100644 src/lib/__tests__/og.test.ts create mode 100644 src/lib/env.ts create mode 100644 src/lib/helper.ts create mode 100644 src/lib/logger.ts create mode 100644 src/lib/og.ts create mode 100644 src/lib/utils.ts create mode 100644 src/styles/colors.css create mode 100644 src/styles/globals.css create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 vercel.json diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..7334213 --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +# !STARTERCONF Duplicate this to .env.local + +# DEVELOPMENT TOOLS +# Ideally, don't add them to production deployment envs +# !STARTERCONF Change to true if you want to log data +NEXT_PUBLIC_SHOW_LOGGER="false" \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..241cdcb --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,84 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + plugins: ['@typescript-eslint', 'simple-import-sort', 'unused-imports'], + extends: [ + 'eslint:recommended', + 'next', + 'next/core-web-vitals', + 'plugin:@typescript-eslint/recommended', + 'prettier', + ], + rules: { + 'no-unused-vars': 'off', + 'no-console': 'warn', + '@typescript-eslint/explicit-module-boundary-types': 'off', + 'react/no-unescaped-entities': 'off', + + 'react/display-name': 'off', + 'react/jsx-curly-brace-presence': [ + 'warn', + { props: 'never', children: 'never' }, + ], + + //#region //*=========== Unused Import =========== + '@typescript-eslint/no-unused-vars': 'off', + 'unused-imports/no-unused-imports': 'warn', + 'unused-imports/no-unused-vars': [ + 'warn', + { + vars: 'all', + varsIgnorePattern: '^_', + args: 'after-used', + argsIgnorePattern: '^_', + }, + ], + //#endregion //*======== Unused Import =========== + + //#region //*=========== Import Sort =========== + 'simple-import-sort/exports': 'warn', + 'simple-import-sort/imports': [ + 'warn', + { + groups: [ + // ext library & side effect imports + ['^@?\\w', '^\\u0000'], + // {s}css files + ['^.+\\.s?css$'], + // Lib and hooks + ['^@/lib', '^@/hooks'], + // static data + ['^@/data'], + // components + ['^@/components', '^@/container'], + // zustand store + ['^@/store'], + // Other imports + ['^@/'], + // relative paths up until 3 level + [ + '^\\./?$', + '^\\.(?!/?$)', + '^\\.\\./?$', + '^\\.\\.(?!/?$)', + '^\\.\\./\\.\\./?$', + '^\\.\\./\\.\\.(?!/?$)', + '^\\.\\./\\.\\./\\.\\./?$', + '^\\.\\./\\.\\./\\.\\.(?!/?$)', + ], + ['^@/types'], + // other that didnt fit in + ['^'], + ], + }, + ], + //#endregion //*======== Import Sort =========== + }, + globals: { + React: true, + JSX: true, + }, +}; diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..fd592e8 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,14 @@ +# !STARTERCONF You can delete this file :) Your support is much appreciated! +# These are supported funding model platforms + +github: theodorusclarence +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +custom: ['https://saweria.co/theodorusclarence'] diff --git a/.github/issue-branch.yml b/.github/issue-branch.yml new file mode 100644 index 0000000..1626600 --- /dev/null +++ b/.github/issue-branch.yml @@ -0,0 +1,9 @@ +# https://github.com/robvanderleek/create-issue-branch#option-2-configure-github-action + +# ex: i4-lower_camel_upper +branchName: 'i${issue.number}-${issue.title,}' +branches: + - label: epic + skip: true + - label: debt + skip: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..a1738cd --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,15 @@ +# Description & Technical Solution + +Describe problems, if any, clearly and concisely. +Summarize the impact to the system. +Please also include relevant motivation and context. +Please include a summary of the technical solution and how it solves the problem. + +# Checklist + +- [ ] I have commented my code, particularly in hard-to-understand areas. +- [ ] Already rebased against main branch. + +# Screenshots + +Provide screenshots or videos of the changes made if any. diff --git a/.github/workflows/create-branch.yml b/.github/workflows/create-branch.yml new file mode 100644 index 0000000..b8d5195 --- /dev/null +++ b/.github/workflows/create-branch.yml @@ -0,0 +1,14 @@ +name: Create Branch from Issue + +on: + issues: + types: [assigned] + +jobs: + create_issue_branch_job: + runs-on: ubuntu-latest + steps: + - name: Create Issue Branch + uses: robvanderleek/create-issue-branch@main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/issue-autolink.yml b/.github/workflows/issue-autolink.yml new file mode 100644 index 0000000..0da8924 --- /dev/null +++ b/.github/workflows/issue-autolink.yml @@ -0,0 +1,16 @@ +name: 'Issue Autolink' +on: + pull_request: + types: [opened] + +jobs: + issue-links: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: tkt-actions/add-issue-links@v1.8.1 + with: + repo-token: '${{ secrets.GITHUB_TOKEN }}' + branch-prefix: 'i' + resolve: 'true' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..aeede5c --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,44 @@ +name: Code Check +on: + push: + branches: + - main + pull_request: {} + +concurrency: + group: ${{ github.job }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + name: ⬣ ESLint, ʦ TypeScript, 💅 Prettier, and 🃏 Test + runs-on: ubuntu-latest + steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v2 + + - name: 🤌 Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: ⎔ Setup node + uses: actions/setup-node@v3 + with: + node-version: 20 + cache: 'pnpm' + + - name: 📥 Download deps + run: pnpm install --frozen-lockfile + + - name: 🔬 Lint + run: pnpm run lint:strict + + - name: 🔎 Type check + run: pnpm run typecheck + + - name: 💅 Prettier check + run: pnpm run format:check + + - name: 🃏 Run jest + run: pnpm run test diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..3659c86 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,17 @@ +name: release-please +on: + # !STARTERCONF Choose your preferred event + # !Option 1: Manual Trigger from GitHub + workflow_dispatch: + # !Option 2: Release on every push on main branch + # push: + # branches: + # - main +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@v3 + with: + release-type: node + package-name: release-please-action diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4e6a2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# next-sitemap +robots.txt +sitemap.xml +sitemap-*.xml \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..0bd658f --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx --no-install commitlint --edit "$1" diff --git a/.husky/post-merge b/.husky/post-merge new file mode 100755 index 0000000..1fd4a5b --- /dev/null +++ b/.husky/post-merge @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +pnpm install diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..c37466e --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..b7425b9 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +enable-pre-post-scripts=true \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..790e110 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v20.10.0 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..b04160b --- /dev/null +++ b/.prettierignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +.next +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel + +# changelog +CHANGELOG.md + +pnpm-lock.yaml diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..5c34464 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + arrowParens: 'always', + singleQuote: true, + jsxSingleQuote: true, + tabWidth: 2, + semi: true, +}; diff --git a/.vscode/css.code-snippets b/.vscode/css.code-snippets new file mode 100644 index 0000000..82cc815 --- /dev/null +++ b/.vscode/css.code-snippets @@ -0,0 +1,10 @@ +{ + "Region CSS": { + "prefix": "regc", + "body": [ + "/* #region /**=========== ${1} =========== */", + "$0", + "/* #endregion /**======== ${1} =========== */" + ] + } +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..44bf298 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + // Tailwind CSS Intellisense + "bradlc.vscode-tailwindcss", + "esbenp.prettier-vscode", + "dbaeumer.vscode-eslint", + "aaron-bond.better-comments" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a775463 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "css.validate": false, + "editor.formatOnSave": true, + "editor.tabSize": 2, + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + "[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, + // Tailwind CSS Autocomplete, add more if used in projects + "tailwindCSS.classAttributes": [ + "class", + "className", + "classNames", + "containerClassName" + ], + "typescript.preferences.importModuleSpecifier": "non-relative" +} diff --git a/.vscode/typescriptreact.code-snippets b/.vscode/typescriptreact.code-snippets new file mode 100644 index 0000000..1fce740 --- /dev/null +++ b/.vscode/typescriptreact.code-snippets @@ -0,0 +1,193 @@ +{ + //#region //*=========== React =========== + "import React": { + "prefix": "ir", + "body": ["import * as React from 'react';"] + }, + "React.useState": { + "prefix": "us", + "body": [ + "const [${1}, set${1/(^[a-zA-Z])(.*)/${1:/upcase}${2}/}] = React.useState<$3>(${2:initial${1/(^[a-zA-Z])(.*)/${1:/upcase}${2}/}})$0" + ] + }, + "React.useEffect": { + "prefix": "uf", + "body": ["React.useEffect(() => {", " $0", "}, []);"] + }, + "React.useReducer": { + "prefix": "ur", + "body": [ + "const [state, dispatch] = React.useReducer(${0:someReducer}, {", + " ", + "})" + ] + }, + "React.useRef": { + "prefix": "urf", + "body": ["const ${1:someRef} = React.useRef($0)"] + }, + "React Functional Component": { + "prefix": "rc", + "body": [ + "import * as React from 'react';\n", + "export default function ${1:${TM_FILENAME_BASE}}() {", + " return (", + "
", + " $0", + "
", + " )", + "}" + ] + }, + "React Functional Component with Props": { + "prefix": "rcp", + "body": [ + "import * as React from 'react';\n", + "import clsxm from '@/lib/clsxm';\n", + "type ${1:${TM_FILENAME_BASE}}Props= {\n", + "} & React.ComponentPropsWithoutRef<'div'>\n", + "export default function ${1:${TM_FILENAME_BASE}}({className, ...rest}: ${1:${TM_FILENAME_BASE}}Props) {", + " return (", + "
", + " $0", + "
", + " )", + "}" + ] + }, + //#endregion //*======== React =========== + + //#region //*=========== Commons =========== + "Region": { + "prefix": "reg", + "scope": "javascript, typescript, javascriptreact, typescriptreact", + "body": [ + "//#region //*=========== ${1} ===========", + "${TM_SELECTED_TEXT}$0", + "//#endregion //*======== ${1} ===========" + ] + }, + "Region CSS": { + "prefix": "regc", + "scope": "css, scss", + "body": [ + "/* #region /**=========== ${1} =========== */", + "${TM_SELECTED_TEXT}$0", + "/* #endregion /**======== ${1} =========== */" + ] + }, + //#endregion //*======== Commons =========== + + //#region //*=========== Next.js =========== + "Next Pages": { + "prefix": "np", + "body": [ + "import * as React from 'react';\n", + "import Layout from '@/components/layout/Layout';", + "import Seo from '@/components/Seo';\n", + "export default function ${1:${TM_FILENAME_BASE/(^[a-zA-Z])(.*)/${1:/upcase}${2}/}}Page() {", + " return (", + " ", + " \n", + "
\n", + "
", + "
", + " $0", + "
", + "
", + "
", + "
", + " )", + "}" + ] + }, + "Next API": { + "prefix": "napi", + "body": [ + "import { NextApiRequest, NextApiResponse } from 'next';\n", + "export default async function handler(req: NextApiRequest, res: NextApiResponse) {", + " if (req.method === 'GET') {", + " res.status(200).json({ name: 'Bambang' });", + " } else {", + " res.status(405).json({ message: 'Method Not Allowed' });", + " }", + "}" + ] + }, + "Get Static Props": { + "prefix": "gsp", + "body": [ + "export const getStaticProps = async (context: GetStaticPropsContext) => {", + " return {", + " props: {}", + " };", + "}" + ] + }, + "Get Static Paths": { + "prefix": "gspa", + "body": [ + "export const getStaticPaths: GetStaticPaths = async () => {", + " return {", + " paths: [", + " { params: { $1 }}", + " ],", + " fallback: ", + " };", + "}" + ] + }, + "Get Server Side Props": { + "prefix": "gssp", + "body": [ + "export const getServerSideProps = async (context: GetServerSidePropsContext) => {", + " return {", + " props: {}", + " };", + "}" + ] + }, + "Infer Get Static Props": { + "prefix": "igsp", + "body": "InferGetStaticPropsType" + }, + "Infer Get Server Side Props": { + "prefix": "igssp", + "body": "InferGetServerSidePropsType" + }, + "Import useRouter": { + "prefix": "imust", + "body": ["import { useRouter } from 'next/router';"] + }, + "Import Next Image": { + "prefix": "imimg", + "body": ["import Image from 'next/image';"] + }, + "Import Next Link": { + "prefix": "iml", + "body": ["import Link from 'next/link';"] + }, + //#endregion //*======== Next.js =========== + + //#region //*=========== Snippet Wrap =========== + "Wrap with Fragment": { + "prefix": "ff", + "body": ["<>", "\t${TM_SELECTED_TEXT}", ""] + }, + "Wrap with clsx": { + "prefix": "cx", + "body": ["{clsx([${TM_SELECTED_TEXT}$0])}"] + }, + "Wrap with clsxm": { + "prefix": "cxm", + "body": ["{clsxm([${TM_SELECTED_TEXT}$0, className])}"] + }, + //#endregion //*======== Snippet Wrap =========== + + "Logger": { + "prefix": "lg", + "body": [ + "logger({ ${1:${CLIPBOARD}} }, '${TM_FILENAME} line ${TM_LINE_NUMBER}')" + ] + } +} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0230465 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,431 @@ + + +# ts-nextjs-tailwind-starter changelog + +This changelog is manually generated and not accurate with the package.json, only to show the changes since the last release. + +## 1.0.0 - 2023-07-17 + +### New Features + +- #### Next.js App Router + + Now uses the new app directory structure. + +### Improvements & Bug Fixes + +- #### Rename `clsxm` to `cn` + + For better support with shadcn/ui + +- #### Faster Lint Actions + + Lint jobs is now merged into one for faster performance, also updated the concurrency rule + +## 0.5.4 - 2022-07-22 + +### New Features + +- #### Release Please + + Standard Version is now deprecated, and ts-nextjs-tailwind-starter is now using release please. Activate them on `.github/workflows/release-please` + +### Improvements & Bug Fixes + +- #### More Efficient Lint Actions + + Lint workflow is now cached and will cancel previous run if there are 2 concurrent runs. + +## 0.5.3 - 2022-02-27 + +### New Features + +- #### Shimmer for NextImage and Skeleton + + Addition of shimmer & blur placeholder for NextImage, and new Skeleton Component with shimmer effect. + + https://user-images.githubusercontent.com/55318172/155867729-8c3176ad-ede4-4443-b42b-780517615e5a.mp4 + + +- #### Support for SVGR + + You can directly import SVG like + + ```tsx + import Vercel from '~/svg/Vercel.svg'; + + + ``` + +- #### Public Folder Path Mapping + + Easily access public folder with `~/` prefix. + +- #### Tailwind CSS Prettier Sorter + + ts-nextjs-tailwind-starter now use first-party plugin `prettier-plugin-tailwindcss` + +### Improvements & Bug Fixes + +- #### Layout Declared Twice + + Fix issue where adding elements to Layout ends up rendering them twice + +- #### ESLint Curly Brace Rule + + New autofixable rule + + ```tsx + props={'hi'} + + will become + + props='hi' + ``` + +## 0.5.2 - 2021-12-30 + +### New Features + +- #### New Component: PrimaryLink + + Add a link component with accent color on top of UnstyledLink. + +### Improvements & Bug Fixes + +- #### Unused Import ESlint Autofix + + Unused import will automatically be removed by the ESlint autofix. + +- #### Renamed CustomLink to UnderlineLink + + This is to compensate the new PrimaryLink component + +- #### Primary Button & ButtonLink Shade + + The shade of the button is now using the `500` instead of `400`. + + +## 0.5.1 - 2021-12-26 + +### New Features + +- #### New Snippets Wrap: clsx and fragment `<>` + + You can select text then wrap it with clsx or React.Fragment shorthand. + + https://user-images.githubusercontent.com/55318172/147401848-3db5dba0-ef71-4f25-9f47-c7908beba69e.mp4 + + +## 0.5.0 - 2021-12-21 + +### New Features + +- #### Expansion Pack + You can easily add expansion such as React Hook Form + Components, Storybook, and more just using a single command line. + + https://user-images.githubusercontent.com/55318172/146631994-e1cac137-1664-4cfe-950b-a96decc1eaa6.mp4 + + Check out the [expansion pack repository](https://github.com/theodorusclarence/expansion-pack) for the commands + +### Improvements & Bug Fixes + +- #### Can't Use Layout Fill on NextImage + + Using layout fill will make the width and height optional + +- #### Vertically center Button & ButtonLink + + Adds `items-center` to make the button vertically centered + + +## 0.4.1 - 2021-12-12 + +### New Features + +- #### Tailwind CSS v3 + + The color palette configuration is also updated accordingly. + +## 0.4.0 - 2021-12-02 + +### New Features + +- #### Button & ButtonLink Variants + + - New Variant: **Outline** and **Ghost**, you can also add `isDarkBg` prop if you are using these variants with dark background. + - Animated Underline style on **Primary**, **Dark**, **Light** is removed + - Added `ring-primary-500` on `focus-visible` + + ![Button Variants](https://user-images.githubusercontent.com/55318172/144385213-632b3e1f-9a0e-4184-82e0-7905ee3318b4.gif) + +- #### ArrowLink + + + Adds an animated arrow, this component is Polymorphic, the default element is `CustomLink`, you can extend it with `as` prop. + + ```tsx + + Register now + + ``` + + ![Arrow Link Feature](https://user-images.githubusercontent.com/55318172/144385991-f3521d52-e0a8-49c5-8e87-409231fdd5b6.gif) + +- #### Change default theme to white + + | ![Home Page](https://user-images.githubusercontent.com/55318172/144386763-00e6c3fd-ee2e-4c9e-87f8-18b036bdc2e1.png) | ![404](https://user-images.githubusercontent.com/55318172/144386764-0e4b4fb0-35a8-4725-a795-f998b06543a1.png) | + | - | - | + +### Improvements & Bug Fixes + +- #### Split Next.js Link Props Type + + Now, to add props to Next.js `` component, you can use `nextLinkProps`. + + ```tsx + + Link + + ``` + + The rest of `` props can be directly added as a prop. + +- #### Add Motion Safe to Animations + + All components animation respect user preference about motion. + +## 0.3.0 - 2021-12-01 + +### New Features + +- #### Create Branch & Auto Resolve Issue Actions + + | ![Create Branch Actions](https://user-images.githubusercontent.com/55318172/144379834-8c3e4d4f-d584-4253-9ad8-b9f1d468ed01.gif)
Auto Create Branch | ![Auto Resolve](https://user-images.githubusercontent.com/55318172/144382044-0132e755-9cd5-4805-a756-4086f67b3282.gif)
Auto Resolve | + | :--: | :--: | + + You have to install the app for your organization/account/repository from the [GitHub Marketplace](https://github.com/marketplace/create-issue-branch) for this to work. + + The branch will be created on **assign** with format `i${number}-${issue_title_lowercase}`. + +- #### Custom Tailwind CSS Class Sorter + + Classes are sorted using [prettier-plugin-sort-class-names](https://github.com/PutziSan/prettier-plugin-sort-class-names) with custom class order on [this file](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/blob/main/prettier-plugin-sort-class-names-order) and custom variant order on [prettierrc](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/blob/main/.prettierrc.js) + + With this plugin, we can now safely check the order of the classes using the preconfigured lint action. + +## 0.2.0 - 2021-11-10 + +### New Features + +- #### Jest + + Jest is configured and will be run every push on Github Actions + +- #### Lint Github Action + + 1. **ESLint** - will fail if there are any warning and error. + 2. **Type Check** - will fail on `tsc` error. + 3. **Prettier Check** - will fail if there are any formatting error. + 4. **Test** - will fail if there are any test failure. + +## 0.1.0 + +### New Features + +- #### Installed Packages + + 1. [clsx](https://bundlephobia.com/package/clsx@latest), utility for constructing `className` strings conditionally. + 2. [react-icons](https://bundlephobia.com/package/react-icons@latest), svg react icons of popular icon packs. + +- #### UnstyledLink Component + + Used as a component for Next.js Link. Will render out Next/Link if the href started with `/` or `#`, else will render an `a` tag with `target='_blank'`. Also add a cursor style for outside links + +- #### CustomLink Component + + ![customlink](https://user-images.githubusercontent.com/55318172/129183546-4e8c2059-0493-4459-a1e9-755fbd32fe39.gif) + + +- #### Absolute Import + + You can import without using relative path + + ```tsx + import Nav from '../../../components/Nav'; + + simplified to + + import Nav from '@/components/Nav'; + ``` + +- #### Seo Component + + Configure the default in `src/components/Seo.tsx`. If you want to use the default, just add `` on top of your page. + + You can also customize it per page by overriding the title, description as props + + ```tsx + + ``` + + or if you want to still keep the title like `%s | Next.js Tailwind Starter`, you can use `templateTitle` props. + +- #### Custom 404 Page + +![404](https://user-images.githubusercontent.com/55318172/129184274-d90631f2-6688-4ed2-bef2-a4d018a4863c.gif) + +- #### Workspace Snippets + +Snippets such as React import, useState, useEffect, React Component. [View more](/.vscode/typescriptreact.code-snippets) + +- #### Husky, Prettier, Lint, and Commitlint Configured + + 3 Husky hooks including: + + 1. pre-commit, running `next lint` and format the code using prettier + 2. commit-msg, running commitlint to ensure the use of [Conventional Commit](https://theodorusclarence.com/library/conventional-commit-readme) for commit messages + 3. post-merge, running `yarn` every `git pull` or after merge to ensure all new packages are installed and ready to go + +- #### Default Favicon Declaration + + Use [Favicon Generator](https://www.favicon-generator.org/) and then overwrite the files in `/public/favicon` + +- #### Default Tailwind CSS Base Styles + + There are default styles for responsive heading sizes, and `.layout` to support a max-width for larger screen size. Find more about it on [my blog post](https://theodorusclarence.com/blog/tailwindcss-best-practice#1-using-layout-class-or-container) + +- #### Open Graph Generator + + | ![image](https://user-images.githubusercontent.com/55318172/137617070-806a0509-84bd-4cae-a900-2ab17e418d8d.png) | ![image](https://user-images.githubusercontent.com/55318172/137617090-c24f684a-bfe5-41b6-8ba9-fa99bae5cadf.png) | + | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | + + Open Graph is generated using [og.thcl.dev](https://og.thcl.dev), but please fork and self-host if your website is going to have a lot of traffic. + + Check out the [repository](https://github.com/theodorusclarence/og) to see the API parameters. + +- #### Preloaded & Self Hosted Inter Fonts + + Inter fonts is a variable fonts that is self hosted and preloaded. + +## Snippets + +This starter is equipped with workspace-snippets, it is encouraged to use it, especially the `np` and `rc` + +### Next.js Page + +File inside `src/pages` will be the webpage route, there are 2 things that need to be added in Next.js page: + +1. Seo component +2. Layout class to give constraint to viewport width. [Read more about layout class](https://theodorusclarence.com/blog/tailwindcss-best-practice#1-using-layout-class-or-container). + +Snippets: `np` + +```tsx +import * as React from 'react'; +import Seo from '@/components/Seo'; +export default function TestPage() { + return ( + <> + +
+
+
+
+
+ + ); +} +``` + +### React Components + +To make a new component, It is encouraged to use `export default function`. Because when we need to rename it, we only need to do it once. + +Snippets: `rc` + +```tsx +import * as React from 'react'; +export default function Component() { + return
; +} +``` + +#### Import React + +Snippets: `ir` + +```tsx +import * as React from 'react'; +``` + +#### Import Next Image + +Snippets: `imimg` + +```tsx +import Image from 'next/image'; +``` + +#### Import Next Link + +Snippets: `iml` + +```tsx +import Link from 'next/link'; +``` + +#### useState Hook + +Snippets: `us` + +```tsx +const [state, setState] = React.useState(initialState); +``` + +#### useEffect Hook + +Snippets: `uf` + +```tsx +React.useEffect(() => {}, []); +``` + +#### useReducer Hook + +Snippets: `ur` + +```tsx +const [state, dispatch] = React.useReducer(someReducer, {}); +``` + +#### useRef Hook + +Snippets: `urf` + +```tsx +const someRef = React.useRef(); +``` + +#### Region Comment + +It is really useful when we need to group code. It is also collapsible in VSCode + +Snippets: `reg` + +```tsx +//#region //*============== FORM SUBMIT +//#endregion //*============== FORM SUBMIT +``` + +You should also use [Better Comments](https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments) extension. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..6bb8819 --- /dev/null +++ b/README.md @@ -0,0 +1,133 @@ +# Next.js + Tailwind CSS + TypeScript Starter and Boilerplate + +
+

🔋 ts-nextjs-tailwind-starter

+

Next.js + Tailwind CSS + TypeScript starter packed with useful development features.

+

Made by Theodorus Clarence

+ +[![GitHub Repo stars](https://img.shields.io/github/stars/theodorusclarence/ts-nextjs-tailwind-starter)](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/stargazers) +[![Depfu](https://badges.depfu.com/badges/fc6e730632ab9dacaf7df478a08684a7/overview.svg)](https://depfu.com/github/theodorusclarence/ts-nextjs-tailwind-starter?project_id=30160) +[![Last Update](https://img.shields.io/badge/deps%20update-every%20sunday-blue.svg)](https://shields.io/) + +
+ +## Features + +This repository is 🔋 battery packed with: + +- ⚡️ Next.js 14 with App Router +- ⚛️ React 18 +- ✨ TypeScript +- 💨 Tailwind CSS 3 — Configured with CSS Variables to extend the **primary** color +- 💎 Pre-built Components — Components that will **automatically adapt** with your brand color, [check here for the demo](https://tsnext-tw.thcl.dev/components) +- 🃏 Jest — Configured for unit testing +- 📈 Absolute Import and Path Alias — Import components using `@/` prefix +- 📏 ESLint — Find and fix problems in your code, also will **auto sort** your imports +- 💖 Prettier — Format your code consistently +- 🐶 Husky & Lint Staged — Run scripts on your staged files before they are committed +- 🤖 Conventional Commit Lint — Make sure you & your teammates follow conventional commit +- ⏰ Release Please — Generate your changelog by activating the `release-please` workflow +- 👷 Github Actions — Lint your code on PR +- 🚘 Automatic Branch and Issue Autolink — Branch will be automatically created on issue **assign**, and auto linked on PR +- 🔥 Snippets — A collection of useful snippets +- 👀 Open Graph Helper Function — Awesome open graph generated using [og](https://github.com/theodorusclarence/og), fork it and deploy! +- 🗺 Site Map — Automatically generate sitemap.xml +- 📦 Expansion Pack — Easily install common libraries, additional components, and configs. + +See the 👉 [feature details and changelog](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/blob/main/CHANGELOG.md) 👈 for more. + +You can also check all of the **details and demos** on my blog post: + +- [One-stop Starter to Maximize Efficiency on Next.js & Tailwind CSS Projects](https://theodorusclarence.com/blog/one-stop-starter) + +## Getting Started + +### 1. Clone this template using one of the three ways + +1. Use this repository as template + + **Disclosure:** by using this repository as a template, there will be an attribution on your repository. + + I'll appreciate if you do, so this template can be known by others too 😄 + + ![Use as template](https://user-images.githubusercontent.com/55318172/129183039-1a61e68d-dd90-4548-9489-7b3ccbb35810.png) + +2. Using `create-next-app` + + ```bash + pnpm create next-app -e https://github.com/theodorusclarence/ts-nextjs-tailwind-starter ts-pnpm + ``` + + If you still want to use **pages directory** (_is not actively maintained_) you can use this command + + ```bash + npx create-next-app -e https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/tree/pages-directory project-name + ``` + +3. Using `degit` + + ```bash + npx degit theodorusclarence/ts-nextjs-tailwind-starter YOUR_APP_NAME + ``` + +4. Deploy to Vercel + + [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Ftheodorusclarence%2Fts-nextjs-tailwind-starter) + +### 2. Install dependencies + +It is encouraged to use **pnpm** so the husky hooks can work properly. + +```bash +pnpm install +``` + +### 3. Run the development server + +You can start the server using this command: + +```bash +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. You can start editing the page by modifying `src/pages/index.tsx`. + +### 4. Change defaults + +There are some things you need to change including title, urls, favicons, etc. + +Find all comments with !STARTERCONF, then follow the guide. + +Don't forget to change the package name in package.json + +### 5. Commit Message Convention + +This starter is using [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/), it is mandatory to use it to commit changes. + +## Projects using ts-nextjs-tailwind-starter + + + +- [theodorusclarence.com](https://theodorusclarence.com) ([Source](https://github.com/theodorusclarence/theodorusclarence.com)) +- [Notiolink](https://notiolink.thcl.dev/) ([Source](https://github.com/theodorusclarence/notiolink)) +- [NextJs + Materia UI + Typescript](https://github.com/AlexStack/nextjs-materia-mui-typescript-hook-form-scaffold-boilerplate-starter) + +Are you using this starter? Please add your page (and repo) to the end of the list via a [Pull Request](https://github.com/theodorusclarence/ts-nextjs-tailwind-starter/edit/main/README.md). 😃 + +## Expansion Pack 📦 + +This starter is now equipped with an [expansion pack](https://github.com/theodorusclarence/expansion-pack). + +You can easily add expansion such as React Hook Form + Components, Storybook, and more just using a single command line. + + + +Check out the [expansion pack repository](https://github.com/theodorusclarence/expansion-pack) for the commands + +### App Router Update + +Due to App Router update, the expansion pack is currently **outdated**. It will be updated in the future. You can still use them by copy and pasting the files. diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..3bf488d --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,24 @@ +module.exports = { + extends: ['@commitlint/config-conventional'], + rules: { + // TODO Add Scope Enum Here + // 'scope-enum': [2, 'always', ['yourscope', 'yourscope']], + 'type-enum': [ + 2, + 'always', + [ + 'feat', + 'fix', + 'docs', + 'chore', + 'style', + 'refactor', + 'ci', + 'test', + 'perf', + 'revert', + 'vercel', + ], + ], + }, +}; diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..10886cb --- /dev/null +++ b/jest.config.js @@ -0,0 +1,30 @@ +// eslint-disable-next-line @typescript-eslint/no-var-requires +const nextJest = require('next/jest'); + +const createJestConfig = nextJest({ + // Provide the path to your Next.js app to load next.config.js and .env files in your test environment + dir: './', +}); + +// Add any custom config to be passed to Jest +const customJestConfig = { + // Add more setup options before each test is run + setupFilesAfterEnv: ['/jest.setup.js'], + + // if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work + moduleDirectories: ['node_modules', '/'], + + testEnvironment: 'jest-environment-jsdom', + + /** + * Absolute imports and Module Path Aliases + */ + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + '^~/(.*)$': '/public/$1', + '^.+\\.(svg)$': '/src/__mocks__/svg.tsx', + }, +}; + +// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async +module.exports = createJestConfig(customJestConfig); diff --git a/jest.setup.js b/jest.setup.js new file mode 100644 index 0000000..3f1e9e1 --- /dev/null +++ b/jest.setup.js @@ -0,0 +1,5 @@ +import '@testing-library/jest-dom/extend-expect'; + +// Allow router mocks. +// eslint-disable-next-line no-undef +jest.mock('next/router', () => require('next-router-mock')); diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/next-sitemap.config.js b/next-sitemap.config.js new file mode 100644 index 0000000..5dc06e6 --- /dev/null +++ b/next-sitemap.config.js @@ -0,0 +1,13 @@ +/** + * @type {import('next-sitemap').IConfig} + * @see https://github.com/iamvishnusankar/next-sitemap#readme + */ +module.exports = { + // !STARTERCONF Change the siteUrl + /** Without additional '/' on the end, e.g. https://theodorusclarence.com */ + siteUrl: 'https://tsnext-tw.thcl.dev', + generateRobotsTxt: true, + robotsTxtOptions: { + policies: [{ userAgent: '*', allow: '/' }], + }, +}; diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..caecedc --- /dev/null +++ b/next.config.js @@ -0,0 +1,50 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + eslint: { + dirs: ['src'], + }, + + reactStrictMode: true, + swcMinify: true, + + // Uncoment to add domain whitelist + // images: { + // domains: [ + // 'res.cloudinary.com', + // ], + // }, + + webpack(config) { + // Grab the existing rule that handles SVG imports + const fileLoaderRule = config.module.rules.find((rule) => + rule.test?.test?.('.svg') + ); + + config.module.rules.push( + // Reapply the existing rule, but only for svg imports ending in ?url + { + ...fileLoaderRule, + test: /\.svg$/i, + resourceQuery: /url/, // *.svg?url + }, + // Convert all other *.svg imports to React components + { + test: /\.svg$/i, + issuer: { not: /\.(css|scss|sass)$/ }, + resourceQuery: { not: /url/ }, // exclude if *.svg?url + loader: '@svgr/webpack', + options: { + dimensions: false, + titleProp: true, + }, + } + ); + + // Modify the file loader rule to ignore *.svg, since we have it handled now. + fileLoaderRule.exclude = /\.svg$/i; + + return config; + }, +}; + +module.exports = nextConfig; diff --git a/package.json b/package.json new file mode 100644 index 0000000..11cdca6 --- /dev/null +++ b/package.json @@ -0,0 +1,67 @@ +{ + "name": "ts-nextjs-tailwind-starter", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "lint:fix": "eslint src --fix && pnpm format", + "lint:strict": "eslint --max-warnings=0 src", + "typecheck": "tsc --noEmit --incremental false", + "test:watch": "jest --watch", + "test": "jest", + "format": "prettier -w .", + "format:check": "prettier -c .", + "postbuild": "next-sitemap --config next-sitemap.config.js", + "prepare": "husky install" + }, + "dependencies": { + "clsx": "^2.0.0", + "lucide-react": "^0.376.0", + "next": "^14.0.4", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-icons": "^4.12.0", + "tailwind-merge": "^2.1.0", + "zod": "^3.22.4" + }, + "devDependencies": { + "@commitlint/cli": "^16.3.0", + "@commitlint/config-conventional": "^16.2.4", + "@svgr/webpack": "^8.1.0", + "@tailwindcss/forms": "^0.5.7", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@types/react": "^18.2.45", + "@types/testing-library__jest-dom": "^5.14.9", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "autoprefixer": "^10.4.16", + "eslint": "^8.56.0", + "eslint-config-next": "^14.0.4", + "eslint-config-prettier": "^8.10.0", + "eslint-plugin-simple-import-sort": "^7.0.0", + "eslint-plugin-unused-imports": "^2.0.0", + "husky": "^7.0.4", + "jest": "^27.5.1", + "lint-staged": "^12.5.0", + "next-router-mock": "^0.9.0", + "next-sitemap": "^2.5.28", + "postcss": "^8.4.32", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.5.0", + "tailwindcss": "^3.3.6", + "typescript": "^4.9.5" + }, + "lint-staged": { + "**/*.{js,jsx,ts,tsx}": [ + "eslint --max-warnings=0", + "prettier -w" + ], + "**/*.{json,css,scss,md,webmanifest}": [ + "prettier -w" + ] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..06324f0 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7929 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + clsx: + specifier: ^2.0.0 + version: 2.1.1 + lucide-react: + specifier: ^0.376.0 + version: 0.376.0(react@18.3.1) + next: + specifier: ^14.0.4 + version: 14.2.3(@babel/core@7.22.9)(react-dom@18.3.1)(react@18.3.1) + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + react-icons: + specifier: ^4.12.0 + version: 4.12.0(react@18.3.1) + tailwind-merge: + specifier: ^2.1.0 + version: 2.3.0 + zod: + specifier: ^3.22.4 + version: 3.23.5 + +devDependencies: + '@commitlint/cli': + specifier: ^16.3.0 + version: 16.3.0 + '@commitlint/config-conventional': + specifier: ^16.2.4 + version: 16.2.4 + '@svgr/webpack': + specifier: ^8.1.0 + version: 8.1.0 + '@tailwindcss/forms': + specifier: ^0.5.7 + version: 0.5.7(tailwindcss@3.4.3) + '@testing-library/jest-dom': + specifier: ^5.17.0 + version: 5.17.0 + '@testing-library/react': + specifier: ^13.4.0 + version: 13.4.0(react-dom@18.3.1)(react@18.3.1) + '@types/react': + specifier: ^18.2.45 + version: 18.3.1 + '@types/testing-library__jest-dom': + specifier: ^5.14.9 + version: 5.14.9 + '@typescript-eslint/eslint-plugin': + specifier: ^5.62.0 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.62.0 + version: 5.62.0(eslint@8.57.0)(typescript@4.9.5) + autoprefixer: + specifier: ^10.4.16 + version: 10.4.19(postcss@8.4.38) + eslint: + specifier: ^8.56.0 + version: 8.57.0 + eslint-config-next: + specifier: ^14.0.4 + version: 14.2.3(eslint@8.57.0)(typescript@4.9.5) + eslint-config-prettier: + specifier: ^8.10.0 + version: 8.10.0(eslint@8.57.0) + eslint-plugin-simple-import-sort: + specifier: ^7.0.0 + version: 7.0.0(eslint@8.57.0) + eslint-plugin-unused-imports: + specifier: ^2.0.0 + version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0) + husky: + specifier: ^7.0.4 + version: 7.0.4 + jest: + specifier: ^27.5.1 + version: 27.5.1 + lint-staged: + specifier: ^12.5.0 + version: 12.5.0 + next-router-mock: + specifier: ^0.9.0 + version: 0.9.13(next@14.2.3)(react@18.3.1) + next-sitemap: + specifier: ^2.5.28 + version: 2.5.28(next@14.2.3) + postcss: + specifier: ^8.4.32 + version: 8.4.38 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + prettier-plugin-tailwindcss: + specifier: ^0.5.0 + version: 0.5.14(prettier@2.8.8) + tailwindcss: + specifier: ^3.3.6 + version: 3.4.3 + typescript: + specifier: ^4.9.5 + version: 4.9.5 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@adobe/css-tools@4.2.0: + resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} + dev: true + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + + /@babel/code-frame@7.22.5: + resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.5 + + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + convert-source-map: 1.9.0 + debug: 4.3.4(supports-color@9.4.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.22.9: + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: + resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.1(@babel/core@7.22.9): + resolution: {integrity: sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4(supports-color@9.4.0) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + + /@babel/helper-member-expression-to-functions@7.22.5: + resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/helper-module-imports@7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-wrap-function': 7.22.9 + dev: true + + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.22.9: + resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.22.5 + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 + dev: true + + /@babel/helpers@7.22.6: + resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.22.5: + resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.22.7: + resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.5 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.9): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.9): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.9): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.9): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.9): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.9): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.22.7(@babel/core@7.22.9): + resolution: {integrity: sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.9): + resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.5 + dev: true + + /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-function-name': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): + resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/types': 7.22.5 + dev: true + + /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-async-generator-functions': 7.22.7(@babel/core@7.22.9) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.9) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) + '@babel/preset-modules': 0.1.5(@babel/core@7.22.9) + '@babel/types': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.4(@babel/core@7.22.9) + babel-plugin-polyfill-corejs3: 0.8.2(@babel/core@7.22.9) + babel-plugin-polyfill-regenerator: 0.5.1(@babel/core@7.22.9) + core-js-compat: 3.31.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.5(@babel/core@7.22.9): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) + '@babel/types': 7.22.5 + esutils: 2.0.3 + dev: true + + /@babel/preset-react@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.9) + dev: true + + /@babel/preset-typescript@7.22.5(@babel/core@7.22.9): + resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9) + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + + /@babel/traverse@7.22.8: + resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + debug: 4.3.4(supports-color@9.4.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.22.5: + resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@commitlint/cli@16.3.0: + resolution: {integrity: sha512-P+kvONlfsuTMnxSwWE1H+ZcPMY3STFaHb2kAacsqoIkNx66O0T7sTpBxpxkMrFPyhkJiLJnJWMhk4bbvYD3BMA==} + engines: {node: '>=v12'} + hasBin: true + dependencies: + '@commitlint/format': 16.2.1 + '@commitlint/lint': 16.2.4 + '@commitlint/load': 16.3.0 + '@commitlint/read': 16.2.1 + '@commitlint/types': 16.2.1 + lodash: 4.17.21 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional@16.2.4: + resolution: {integrity: sha512-av2UQJa3CuE5P0dzxj/o/B9XVALqYzEViHrMXtDrW9iuflrqCStWBAioijppj9URyz6ONpohJKAtSdgAOE0gkA==} + engines: {node: '>=v12'} + dependencies: + conventional-changelog-conventionalcommits: 4.6.3 + dev: true + + /@commitlint/config-validator@16.2.1: + resolution: {integrity: sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/types': 16.2.1 + ajv: 6.12.6 + dev: true + + /@commitlint/ensure@16.2.1: + resolution: {integrity: sha512-/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/types': 16.2.1 + lodash: 4.17.21 + dev: true + + /@commitlint/execute-rule@16.2.1: + resolution: {integrity: sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==} + engines: {node: '>=v12'} + dev: true + + /@commitlint/format@16.2.1: + resolution: {integrity: sha512-Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/types': 16.2.1 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored@16.2.4: + resolution: {integrity: sha512-Lxdq9aOAYCOOOjKi58ulbwK/oBiiKz+7Sq0+/SpFIEFwhHkIVugvDvWjh2VRBXmRC/x5lNcjDcYEwS/uYUvlYQ==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/types': 16.2.1 + semver: 7.3.7 + dev: true + + /@commitlint/lint@16.2.4: + resolution: {integrity: sha512-AUDuwOxb2eGqsXbTMON3imUGkc1jRdtXrbbohiLSCSk3jFVXgJLTMaEcr39pR00N8nE9uZ+V2sYaiILByZVmxQ==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/is-ignored': 16.2.4 + '@commitlint/parse': 16.2.1 + '@commitlint/rules': 16.2.4 + '@commitlint/types': 16.2.1 + dev: true + + /@commitlint/load@16.3.0: + resolution: {integrity: sha512-3tykjV/iwbkv2FU9DG+NZ/JqmP0Nm3b7aDwgCNQhhKV5P74JAuByULkafnhn+zsFGypG1qMtI5u+BZoa9APm0A==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/config-validator': 16.2.1 + '@commitlint/execute-rule': 16.2.1 + '@commitlint/resolve-extends': 16.2.1 + '@commitlint/types': 16.2.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + cosmiconfig: 7.1.0 + cosmiconfig-typescript-loader: 2.0.2(@types/node@20.4.2)(cosmiconfig@7.1.0)(typescript@4.9.5) + lodash: 4.17.21 + resolve-from: 5.0.0 + typescript: 4.9.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/message@16.2.1: + resolution: {integrity: sha512-2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==} + engines: {node: '>=v12'} + dev: true + + /@commitlint/parse@16.2.1: + resolution: {integrity: sha512-2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/types': 16.2.1 + conventional-changelog-angular: 5.0.13 + conventional-commits-parser: 3.2.4 + dev: true + + /@commitlint/read@16.2.1: + resolution: {integrity: sha512-tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/top-level': 16.2.1 + '@commitlint/types': 16.2.1 + fs-extra: 10.1.0 + git-raw-commits: 2.0.11 + dev: true + + /@commitlint/resolve-extends@16.2.1: + resolution: {integrity: sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/config-validator': 16.2.1 + '@commitlint/types': 16.2.1 + import-fresh: 3.3.0 + lodash: 4.17.21 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/rules@16.2.4: + resolution: {integrity: sha512-rK5rNBIN2ZQNQK+I6trRPK3dWa0MtaTN4xnwOma1qxa4d5wQMQJtScwTZjTJeallFxhOgbNOgr48AMHkdounVg==} + engines: {node: '>=v12'} + dependencies: + '@commitlint/ensure': 16.2.1 + '@commitlint/message': 16.2.1 + '@commitlint/to-lines': 16.2.1 + '@commitlint/types': 16.2.1 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines@16.2.1: + resolution: {integrity: sha512-9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==} + engines: {node: '>=v12'} + dev: true + + /@commitlint/top-level@16.2.1: + resolution: {integrity: sha512-lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==} + engines: {node: '>=v12'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types@16.2.1: + resolution: {integrity: sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==} + engines: {node: '>=v12'} + dependencies: + chalk: 4.1.2 + dev: true + + /@corex/deepmerge@2.6.148: + resolution: {integrity: sha512-6QMz0/2h5C3ua51iAnXMPWFbb1QOU1UvSM4bKBw5mzdT+WtLgjbETBBIQZ+Sh9WvEcGwlAt/DEdRpIC3XlDBMA==} + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@9.4.0) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4(supports-color@9.4.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@27.5.1: + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + dev: true + + /@jest/core@27.5.1: + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.5 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /@jest/environment@27.5.1: + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + jest-mock: 27.5.1 + dev: true + + /@jest/expect-utils@29.6.1: + resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + dev: true + + /@jest/fake-timers@27.5.1: + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 20.4.2 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /@jest/globals@27.5.1: + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + dev: true + + /@jest/reporters@27.5.1: + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas@29.6.0: + resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map@27.5.1: + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + dev: true + + /@jest/test-result@27.5.1: + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer@27.5.1: + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/transform@27.5.1: + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.22.9 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.5 + pirates: 4.0.6 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@27.5.1: + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.4.2 + '@types/yargs': 16.0.5 + chalk: 4.1.2 + dev: true + + /@jest/types@29.6.1: + resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.4.2 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@next/env@14.2.3: + resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + + /@next/eslint-plugin-next@14.2.3: + resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} + dependencies: + glob: 10.3.10 + dev: true + + /@next/swc-darwin-arm64@14.2.3: + resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@next/swc-darwin-x64@14.2.3: + resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@next/swc-linux-arm64-gnu@14.2.3: + resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@next/swc-linux-arm64-musl@14.2.3: + resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@next/swc-linux-x64-gnu@14.2.3: + resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@next/swc-linux-x64-musl@14.2.3: + resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@next/swc-win32-arm64-msvc@14.2.3: + resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@next/swc-win32-ia32-msvc@14.2.3: + resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@next/swc-win32-x64-msvc@14.2.3: + resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@nicolo-ribaudo/semver-v6@6.3.3: + resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==} + hasBin: true + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@rushstack/eslint-patch@1.10.2: + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@sinonjs/commons@1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@8.1.0: + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + dependencies: + '@sinonjs/commons': 1.8.6 + dev: true + + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.22.9): + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.22.9): + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + dev: true + + /@svgr/babel-preset@8.1.0(@babel/core@7.22.9): + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.22.9) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.22.9) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.22.9) + dev: true + + /@svgr/core@8.1.0: + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.22.9 + '@svgr/babel-preset': 8.1.0(@babel/core@7.22.9) + camelcase: 6.3.0 + cosmiconfig: 8.2.0 + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/hast-util-to-babel-ast@8.0.0: + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + dependencies: + '@babel/types': 7.22.5 + entities: 4.5.0 + dev: true + + /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0): + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@babel/core': 7.22.9 + '@svgr/babel-preset': 8.1.0(@babel/core@7.22.9) + '@svgr/core': 8.1.0 + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0): + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 8.1.0 + cosmiconfig: 8.2.0 + deepmerge: 4.3.1 + svgo: 3.0.2 + dev: true + + /@svgr/webpack@8.1.0: + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.22.9 + '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.9) + '@babel/preset-env': 7.22.9(@babel/core@7.22.9) + '@babel/preset-react': 7.22.5(@babel/core@7.22.9) + '@babel/preset-typescript': 7.22.5(@babel/core@7.22.9) + '@svgr/core': 8.1.0 + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@swc/counter@0.1.3: + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + dependencies: + '@swc/counter': 0.1.3 + tslib: 2.6.2 + + /@tailwindcss/forms@0.5.7(tailwindcss@3.4.3): + resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.4.3 + dev: true + + /@testing-library/dom@8.20.1: + resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} + engines: {node: '>=12'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/runtime': 7.22.6 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + + /@testing-library/jest-dom@5.17.0: + resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} + engines: {node: '>=8', npm: '>=6', yarn: '>=1'} + dependencies: + '@adobe/css-tools': 4.2.0 + '@babel/runtime': 7.22.6 + '@types/testing-library__jest-dom': 5.14.9 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.5.16 + lodash: 4.17.21 + redent: 3.0.0 + dev: true + + /@testing-library/react@13.4.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==} + engines: {node: '>=12'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@babel/runtime': 7.22.6 + '@testing-library/dom': 8.20.1 + '@types/react-dom': 18.2.7 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + dev: true + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@types/aria-query@5.0.1: + resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + dev: true + + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + dependencies: + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.1 + dev: true + + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@types/babel__template@7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + dev: true + + /@types/babel__traverse@7.20.1: + resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + dependencies: + '@babel/types': 7.22.5 + dev: true + + /@types/graceful-fs@4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + dependencies: + '@types/node': 20.4.2 + dev: true + + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports@3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/jest@29.5.11: + resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} + dependencies: + expect: 29.6.1 + pretty-format: 29.6.1 + dev: true + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node@20.4.2: + resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==} + dev: true + + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + dev: true + + /@types/prettier@2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + dev: true + + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + dev: true + + /@types/react-dom@18.2.7: + resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} + dependencies: + '@types/react': 18.3.1 + dev: true + + /@types/react@18.3.1: + resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + dev: true + + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + dev: true + + /@types/stack-utils@2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/testing-library__jest-dom@5.14.9: + resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} + dependencies: + '@types/jest': 29.5.11 + dev: true + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs@16.0.5: + resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@9.4.0) + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + debug: 4.3.4(supports-color@9.4.0) + eslint: 8.57.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@9.4.0) + eslint: 8.57.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4(supports-color@9.4.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + eslint: 8.57.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true + + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.2 + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001606 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 + dev: true + + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: true + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /babel-jest@27.5.1(@babel/core@7.22.9): + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.22.9 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.1 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.22.9) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.22.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 + '@types/babel__core': 7.20.1 + '@types/babel__traverse': 7.20.1 + dev: true + + /babel-plugin-polyfill-corejs2@0.4.4(@babel/core@7.22.9): + resolution: {integrity: sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.1(@babel/core@7.22.9) + '@nicolo-ribaudo/semver-v6': 6.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.2(@babel/core@7.22.9): + resolution: {integrity: sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.1(@babel/core@7.22.9) + core-js-compat: 3.31.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.1(@babel/core@7.22.9): + resolution: {integrity: sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-define-polyfill-provider': 0.4.1(@babel/core@7.22.9) + transitivePeerDependencies: + - supports-color + dev: true + + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.9): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.9) + dev: true + + /babel-preset-jest@27.5.1(@babel/core@7.22.9): + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001606 + electron-to-chromium: 1.4.729 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001606: + resolution: {integrity: sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==} + + /caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + + /cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + dev: false + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true + + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /conventional-changelog-angular@5.0.13: + resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + q: 1.5.1 + dev: true + + /conventional-changelog-conventionalcommits@4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + lodash: 4.17.21 + q: 1.5.1 + dev: true + + /conventional-commits-parser@3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + /core-js-compat@3.31.1: + resolution: {integrity: sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==} + dependencies: + browserslist: 4.23.0 + dev: true + + /cosmiconfig-typescript-loader@2.0.2(@types/node@20.4.2)(cosmiconfig@7.1.0)(typescript@4.9.5): + resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + typescript: '>=3' + dependencies: + '@types/node': 20.4.2 + cosmiconfig: 7.1.0 + ts-node: 10.9.1(@types/node@20.4.2)(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + + /cosmiconfig@8.2.0: + resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.2.0 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 + dev: true + + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: true + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + + /dargs@7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + + /data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: true + + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4(supports-color@9.4.0): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 9.4.0 + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deep-equal@2.2.2: + resolution: {integrity: sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.4 + is-arguments: 1.1.1 + is-array-buffer: 3.0.4 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.15 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /diff-sequences@29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + dependencies: + webidl-conversions: 5.0.0 + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /electron-to-chromium@1.4.729: + resolution: {integrity: sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==} + + /emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.2 + dev: true + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.2 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-config-next@14.2.3(eslint@8.57.0)(typescript@4.9.5): + resolution: {integrity: sha512-ZkNztm3Q7hjqvB1rRlOX8P9E/cXRL9ajRcs8jufEtwMfTVYRqnmtnaSu57QqHyBlovMuiB8LEzfLBkh5RYV6Fg==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 14.2.3 + '@rushstack/eslint-patch': 1.10.2 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-react: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + typescript: 4.9.5 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.57.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4(supports-color@9.4.0) + enhanced-resolve: 5.16.0 + eslint: 8.57.0 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.3 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + hasown: 2.0.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.24.5 + aria-query: 5.3.0 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + dev: true + + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.toreversed: 1.1.2 + array.prototype.tosorted: 1.1.3 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + dev: true + + /eslint-plugin-simple-import-sort@7.0.0(eslint@8.57.0): + resolution: {integrity: sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw==} + peerDependencies: + eslint: '>=5.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0): + resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5) + eslint: 8.57.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@9.4.0) + 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.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + dev: true + + /expect@29.6.1: + resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.6.1 + '@types/node': 20.4.2 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.6.1 + jest-message-util: 29.6.1 + jest-util: 29.6.1 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /git-raw-commits@2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 + dev: true + + /glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4(supports-color@9.4.0) + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /husky@7.0.4: + resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} + engines: {node: '>=12'} + hasBin: true + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + dev: true + + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + dev: true + + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + dev: true + + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-text-path@1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + dev: true + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.22.9 + '@babel/parser': 7.22.7 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4(supports-color@9.4.0) + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.2 + dev: true + + /jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.1.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.22.9 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.22.9) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-diff@29.6.1: + resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + + /jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + jest-mock: 27.5.1 + jest-util: 27.5.1 + dev: true + + /jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-get-type@29.4.3: + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.4.2 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + dev: true + + /jest-matcher-utils@29.6.1: + resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.6.1 + jest-get-type: 29.4.3 + pretty-format: 29.6.1 + dev: true + + /jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/code-frame': 7.22.5 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-message-util@29.6.1: + resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.22.5 + '@jest/types': 29.6.1 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.6.1 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 27.5.1 + dev: true + + /jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + + /jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.8 + resolve.exports: 1.1.1 + slash: 3.0.0 + dev: true + + /jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.11 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.2.3 + collect-v8-coverage: 1.0.2 + execa: 5.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/node': 20.4.2 + graceful-fs: 4.2.11 + dev: true + + /jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@babel/core': 7.22.9 + '@babel/generator': 7.22.9 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.20.1 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.9) + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.11 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + natural-compare: 1.4.0 + pretty-format: 27.5.1 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-util@29.6.1: + resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.6.1 + '@types/node': 20.4.2 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + dev: true + + /jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 20.4.2 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.4.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 27.5.1 + import-local: 3.1.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.11.3 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.1 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.9 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: true + + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + dependencies: + language-subtag-registry: 0.3.22 + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.0.5: + resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} + engines: {node: '>=10'} + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged@12.5.0: + resolution: {integrity: sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + commander: 9.5.0 + debug: 4.3.4(supports-color@9.4.0) + execa: 5.1.1 + lilconfig: 2.0.5 + listr2: 4.0.5 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-inspect: 1.12.3 + pidtree: 0.5.0 + string-argv: 0.3.2 + supports-color: 9.4.0 + yaml: 1.10.2 + transitivePeerDependencies: + - enquirer + dev: true + + /listr2@4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /lucide-react@0.376.0(react@18.3.1): + resolution: {integrity: sha512-g91IX3ERD6yUR1TL2dsL4BkcGygpZz/EsqjAeL/kcRQV0EApIOr/9eBfKhYOVyQIcGGuotFGjF3xKLHMEz+b7g==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.3.1 + dev: false + + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /mini-svg-data-uri@1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /next-router-mock@0.9.13(next@14.2.3)(react@18.3.1): + resolution: {integrity: sha512-906n2RRaE6Y28PfYJbaz5XZeJ6Tw8Xz1S6E31GGwZ0sXB6/XjldD1/2azn1ZmBmRk5PQRkzjg+n+RHZe5xQzWA==} + peerDependencies: + next: '>=10.0.0' + react: '>=17.0.0' + dependencies: + next: 14.2.3(@babel/core@7.22.9)(react-dom@18.3.1)(react@18.3.1) + react: 18.3.1 + dev: true + + /next-sitemap@2.5.28(next@14.2.3): + resolution: {integrity: sha512-rDMTa7nLE0ikYnu8JDCrwQufIRm4b4Sg8BK11DGdDAmYpXmcmw4Qvm+oVBR8gUL97E6i2ihTM+cRx8mgENDACA==} + engines: {node: '>=14.18'} + hasBin: true + peerDependencies: + next: '*' + dependencies: + '@corex/deepmerge': 2.6.148 + minimist: 1.2.8 + next: 14.2.3(@babel/core@7.22.9)(react-dom@18.3.1)(react@18.3.1) + dev: true + + /next@14.2.3(@babel/core@7.22.9)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.2.3 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001614 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.3.1) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.3 + '@next/swc-darwin-x64': 14.2.3 + '@next/swc-linux-arm64-gnu': 14.2.3 + '@next/swc-linux-arm64-musl': 14.2.3 + '@next/swc-linux-x64-gnu': 14.2.3 + '@next/swc-linux-x64-musl': 14.2.3 + '@next/swc-win32-arm64-msvc': 14.2.3 + '@next/swc-win32-ia32-msvc': 14.2.3 + '@next/swc-win32-x64-msvc': 14.2.3 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.13.1 + semver: 7.6.0 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + dev: true + + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.2 + minipass: 7.0.4 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.5.0: + resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true + + /postcss-import@15.1.0(postcss@8.4.38): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + + /postcss-js@4.0.1(postcss@8.4.38): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.38 + dev: true + + /postcss-load-config@4.0.2(postcss@8.4.38): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.1.1 + postcss: 8.4.38 + yaml: 2.4.1 + dev: true + + /postcss-nested@6.0.1(postcss@8.4.38): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + dev: true + + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-plugin-tailwindcss@0.5.14(prettier@2.8.8): + resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig-melody': '*' + 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-sort-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 + '@zackad/prettier-plugin-twig-melody': + 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-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + dependencies: + prettier: 2.8.8 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /pretty-format@29.6.1: + resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.0 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: true + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /q@1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + /react-icons@4.12.0(react@18.3.1): + resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==} + peerDependencies: + react: '*' + dependencies: + react: 18.3.1 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.3 + dev: true + + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.24.4 + dev: true + + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + dependencies: + loose-envify: 1.4.0 + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver@7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.7 + dev: true + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 + dev: true + + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /styled-jsx@5.1.1(@babel/core@7.22.9)(react@18.3.1): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + '@babel/core': 7.22.9 + client-only: 0.0.1 + react: 18.3.1 + + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.12 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: true + + /svgo@3.0.2: + resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + csso: 5.0.5 + picocolors: 1.0.0 + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /tailwind-merge@2.3.0: + resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} + dependencies: + '@babel/runtime': 7.24.5 + dev: false + + /tailwindcss@3.4.3: + resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + 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.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.0.16 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-extensions@1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: true + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.1 + dev: true + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /ts-node@10.9.1(@types/node@20.4.2)(typescript@4.9.5): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + 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 + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.4.2 + acorn: 8.11.3 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /tsutils@3.21.0(typescript@4.9.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + source-map: 0.7.4 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: true + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: true + + /whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: true + + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + dev: true + + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + dev: true + + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + dev: true + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zod@3.23.5: + resolution: {integrity: sha512-fkwiq0VIQTksNNA131rDOsVJcns0pfVUjHzLrNBiF/O/Xxb5lQyEXkhZWcJ7npWsYlvs+h0jFWXXy4X46Em1JA==} + dev: false diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..12a703d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..038704bd52a02feb3a858e5c0d8c1fd02a7f8cd7 GIT binary patch literal 10990 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 literal 0 HcmV?d00001 diff --git a/public/favicon/android-chrome-192x192.png b/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..1826e12780024b01035b66040a0639c5149fdfbd GIT binary patch literal 8899 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 literal 0 HcmV?d00001 diff --git a/public/favicon/android-chrome-512x512.png b/public/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..05cac45ee975b989712f82182103837016b81b35 GIT binary patch literal 50301 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 literal 0 HcmV?d00001 diff --git a/public/favicon/apple-touch-icon.png b/public/favicon/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..267bb7f5b765540b43af6d6b26b453b6b206ddcf GIT binary patch literal 8545 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 literal 0 HcmV?d00001 diff --git a/public/favicon/favicon-16x16.png b/public/favicon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..abef5bf16fc7e7455360bd693f2fca62d8502d2d GIT binary patch literal 937 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>QN&rb^OE;X>VFtRW+ zvM@KWwHDmHRA^_3k%g(Tv9Zw3#U=)ZCi;fPMn=YlMkWRZCi(`(hK52rO7vZAluJVt zt0I*uqLiv)6szNP0^M{1Jro+U6`Jz3L;Zxd7i)*Q@Exn=y4B6}a}memS=^VWDVM~k zWrTA)T+8uzGslB%>`(VA7pEDSn;BY}8`_v_MticpnJw3zVrXTd?_|q+W)APExjKGs zdY&$VyXOn;USwczs}tbN_Ij2=L%gZ3zIKoY>zj>o?YSm;1_q9Hy54Sv)|MuQMmmAc zCb|aN!5*w{H_EqW8(CTy*x48YNqcMVOY`{;P1kpI(08;GT{Br^<1E(KvlSW=luP2- zUTosJy_Wm>2DX=n6{~U$?5z~)Vzq-^HKYAy`paY{RB6P87@L?F8yTAbLttms|NsAE z_Dov%y{W;-5;PJdx@v7EBiBUeij|RU%%$^ z0)-BHx;TbNTux3%NJ&adOih0N;K`$B51&3x7Z4C(Voo#=5KI*ip6Fx3LIeSJ|XYHECsGOX)Z)9cW&WVk= zd&kzMk;y42?w;Mgx_^v~n;Z`+Dl}d&$e;hA2I`Q&6e6=(&6r>mdKI;Vst0Hpss6#xJL literal 0 HcmV?d00001 diff --git a/public/favicon/favicon-32x32.png b/public/favicon/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe227cdb1dc4671d84f703b96d3a4c81f4f258e GIT binary patch literal 1583 zcmZ`&X;70_6um4KBm@IQP+vQyQUoD^Z%YUPQ7Eez3L!!lsXzdWRS6m^pi-c8taaSr zvr+*?K->@lDzaz-ilCifv?#5uMXO~TpuB$m?2rDq@0@qbUBCl?2LV3-{DWQhW>lm>Y${^Y z5W5nwUm!Lev8xcf8nJ5-yB4t-h}9xC6S3l@JU;G6W%&c%h;Kz(a^lrfC|n-_R6A`pQX#oMsrt zi}X|l%{-AI)UOxnbwd4DLVcD{pDomH64q}K>c4huC_qISlw3xW6cOMzFDpf;-(h#9 z(#~|)@yx!t1)1IRS_z>V~z(;Mb|491#G9)RE4imKRH6Q2vxeB-k z@J+zIX8+u@ye3^#Z=b>uZuM38fjDk})2igj8@?d|6t+FwxZ5rMZgpL=obe{y z6XUFgjg~L3IkX(|h!69O4WIT$J+H5dSma0f$i&f0Jk?PWWdtpix+SYD#?IKEFQPcE zi8beV+a6lVc*I9qjyCXn4$>4&y>;8yJJ8?ec7^4OCifL8PgSI#qndwB?_9NOc4@ZY zLWyK)2oV@Cv#xkn#SV!w#HPR6Y^rnmz)7bQ+nsB++1{)*o4jHD!04$`TE5`EeIF7Dk-Pq6~|j^n(7Ss=Npc-9G2FcOlYn;b)xOa+4`>w zeERr~Zp!`gY@6=BlJwr1?w%6gFUQJSUOn~R{du$d+((x$Mb>D=<#xKE#wVU}b)P=} zttIE$y$!#Q%v*2=)C4~~W8if1E2rI7O>6HPG;THKBMEKsf86Dbty!I0>*h3VVys@S z6+|xXI4Rd(7*mZQ$6hA&( zm!pXhY-l0R!lYVczFE&jr z3dw!HaS==feWt$MHvbkkURPbn$GVgxU8+K}E|mkI2#S)Bq=b~J2}Z#%3X<_82n9ii z?;O1MAHkZ8l=QUh{}&{D>z2j|;&ap=>r_b_McQ>4Y3Zv|MY?QlswiEn(*R_Z{qmQs zb!MEq`_+$3KSexIfrSgtOT%+?af~b$S~!Y=^O%b%7A~jMBGa9|%bh=UzT0VK$_uYp Z;swu~?R9?zN%wM3KtxDXa9vPh!M~K>j8p&s literal 0 HcmV?d00001 diff --git a/public/favicon/favicon.ico b/public/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..038704bd52a02feb3a858e5c0d8c1fd02a7f8cd7 GIT binary patch literal 10990 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 literal 0 HcmV?d00001 diff --git a/public/favicon/site.webmanifest b/public/favicon/site.webmanifest new file mode 100644 index 0000000..8cf9748 --- /dev/null +++ b/public/favicon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/favicon/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/favicon/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/public/fonts/inter-var-latin.woff2 b/public/fonts/inter-var-latin.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2fbab974a9e1d56cafcd93c4a0a30b66dd1409ec GIT binary patch literal 36532 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 wqV5)unU(v0=O>H866^5xR+S zgGHFFV3=u|J|;BO>-7flc>K5BZu77d zRv;Y5z0BuxR?w;0Z1z*FR!`xqi4-ZNQfc36wZ12lNn5d4B=jheNE`)&!4H@|NJfTX z9?^@#;SiRgYL0L?{2v+2ol-=#TJ0+miEz~6PvFAxZ5LDuvKja=jh4&_|l00000NkvXXu0mjf DjPdej literal 0 HcmV?d00001 diff --git a/public/images/og.jpg b/public/images/og.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88b03732b7453fc8226c17e686e5315b04d791de GIT binary patch literal 149123 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 RhFH5dzsSew-4#O5U#m{pDB}qHiuzfNh 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 literal 0 HcmV?d00001 diff --git a/public/svg/Logo.svg b/public/svg/Logo.svg new file mode 100644 index 0000000..9d9ae7d --- /dev/null +++ b/public/svg/Logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/svg/Vercel.svg b/public/svg/Vercel.svg new file mode 100644 index 0000000..6cd3196 --- /dev/null +++ b/public/svg/Vercel.svg @@ -0,0 +1 @@ +Vercel \ No newline at end of file diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..ce15315 --- /dev/null +++ b/renovate.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:recommended", "group:all"], + "updatePinnedDependencies": false, + "stabilityDays": 2, + "separateMajorMinor": true, + "timezone": "Asia/Jakarta", + "schedule": ["before 11am on Monday"] +} diff --git a/src/__mocks__/svg.tsx b/src/__mocks__/svg.tsx new file mode 100644 index 0000000..f973aa3 --- /dev/null +++ b/src/__mocks__/svg.tsx @@ -0,0 +1,8 @@ +import React, { SVGProps } from 'react'; + +const SvgrMock = React.forwardRef>( + (props, ref) => +); + +export const ReactComponent = SvgrMock; +export default SvgrMock; diff --git a/src/__tests__/pages/HomePage.test.tsx b/src/__tests__/pages/HomePage.test.tsx new file mode 100644 index 0000000..f2fb81d --- /dev/null +++ b/src/__tests__/pages/HomePage.test.tsx @@ -0,0 +1,15 @@ +// !STARTERCONF You should delete this page + +import { render, screen } from '@testing-library/react'; + +import HomePage from '@/app/page'; + +describe('Homepage', () => { + it('renders the Components', () => { + render(); + + const heading = screen.getByText(/A starter for Next.js/i); + + expect(heading).toBeInTheDocument(); + }); +}); diff --git a/src/app/api/hello/route.ts b/src/app/api/hello/route.ts new file mode 100644 index 0000000..95ab332 --- /dev/null +++ b/src/app/api/hello/route.ts @@ -0,0 +1,5 @@ +import { NextResponse } from 'next/server'; + +export async function GET() { + return NextResponse.json({ hello: 'Next.js' }); +} diff --git a/src/app/components/layout.tsx b/src/app/components/layout.tsx new file mode 100644 index 0000000..11e6ad2 --- /dev/null +++ b/src/app/components/layout.tsx @@ -0,0 +1,17 @@ +import { Metadata } from 'next'; +import * as React from 'react'; + +import '@/styles/colors.css'; + +export const metadata: Metadata = { + title: 'Components', + description: 'Pre-built components with awesome default', +}; + +export default function ComponentsLayout({ + children, +}: { + children: React.ReactNode; +}) { + return <>{children}; +} diff --git a/src/app/components/page.tsx b/src/app/components/page.tsx new file mode 100644 index 0000000..947aea9 --- /dev/null +++ b/src/app/components/page.tsx @@ -0,0 +1,461 @@ +'use client'; + +import clsx from 'clsx'; +import { + ArrowRight, + CreditCard, + Laptop, + Phone, + Plus, + Shield, +} from 'lucide-react'; +import React from 'react'; + +import Button from '@/components/buttons/Button'; +import IconButton from '@/components/buttons/IconButton'; +import TextButton from '@/components/buttons/TextButton'; +import ArrowLink from '@/components/links/ArrowLink'; +import ButtonLink from '@/components/links/ButtonLink'; +import PrimaryLink from '@/components/links/PrimaryLink'; +import UnderlineLink from '@/components/links/UnderlineLink'; +import UnstyledLink from '@/components/links/UnstyledLink'; +import NextImage from '@/components/NextImage'; +import Skeleton from '@/components/Skeleton'; + +type Color = (typeof colorList)[number]; + +export default function ComponentPage() { + const [mode, setMode] = React.useState<'dark' | 'light'>('light'); + const [color, setColor] = React.useState('sky'); + function toggleMode() { + return mode === 'dark' ? setMode('light') : setMode('dark'); + } + + const textColor = mode === 'dark' ? 'text-gray-300' : 'text-gray-600'; + + return ( +

+
+
+

Built-in Components

+ + Back to Home + + +
+ + {/* */} +
+ +
    +
  1. +

    Customize Colors

    +

    + You can change primary color to any Tailwind CSS colors. See + globals.css to change your color. +

    +
    + + + Check list of colors + +
    +
    +
    + 50 +
    +
    + 100 +
    +
    + 200 +
    +
    + 300 +
    +
    + 400 +
    +
    + 500 +
    +
    + 600 +
    +
    + 700 +
    +
    + 800 +
    +
    + 900 +
    +
    + 950 +
    +
    +
  2. +
  3. +

    UnstyledLink

    +

    + No style applied, differentiate internal and outside links, give + custom cursor for outside links. +

    +
    + Internal Links + + Outside Links + +
    +
  4. +
  5. +

    PrimaryLink

    +

    + Add styling on top of UnstyledLink, giving a primary color to + the link. +

    +
    + Internal Links + + Outside Links + +
    +
  6. +
  7. +

    UnderlineLink

    +

    + Add styling on top of UnstyledLink, giving a dotted and animated + underline. +

    +
    + Internal Links + + Outside Links + +
    +
  8. +
  9. +

    ArrowLink

    +

    + Useful for indicating navigation, I use this quite a lot, so why + not build a component with some whimsy touch? +

    +
    + + Direction Left + + Direction Right + + Polymorphic + + + Polymorphic + +
    +
  10. +
  11. +

    ButtonLink

    +

    + Button styled link with 3 variants. +

    +
    + + Primary Variant + + + Outline Variant + + + Ghost Variant + + + Dark Variant + + + Light Variant + +
    +
  12. +
  13. +

    Button

    +

    + Ordinary button with style. +

    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + + +
    + +
    + + + + + +
    +
    + + + + + +
    +
  14. +
  15. +

    TextButton

    +

    + Button with a text style +

    +
    + Primary Variant + Basic Variant +
    +
  16. +
  17. +

    IconButton

    +

    + Button with only icon inside +

    +
    + + + + + +
    +
  18. +
  19. +

    Custom 404 Page

    +

    + Styled 404 page with some animation. +

    +
    + Visit the 404 page +
    +
  20. +
  21. +

    Next Image

    +

    + Next Image with default props and skeleton animation +

    + +
  22. +
  23. +

    Skeleton

    +

    + Skeleton with shimmer effect +

    + +
  24. +
+
+
+
+ ); +} + +const colorList = [ + 'slate', + 'gray', + 'zinc', + 'neutral', + 'stone', + 'red', + 'orange', + 'amber', + 'yellow', + 'lime', + 'green', + 'emerald', + 'teal', + 'cyan', + 'sky', + 'blue', + 'indigo', + 'violet', + 'purple', + 'fuchsia', + 'pink', + 'rose', +] as const; diff --git a/src/app/error.tsx b/src/app/error.tsx new file mode 100644 index 0000000..132041d --- /dev/null +++ b/src/app/error.tsx @@ -0,0 +1,38 @@ +'use client'; // Error components must be Client Components + +import * as React from 'react'; +import { RiAlarmWarningFill } from 'react-icons/ri'; + +import TextButton from '@/components/buttons/TextButton'; + +export default function Error({ + error, + reset, +}: { + error: Error & { digest?: string }; + reset: () => void; +}) { + React.useEffect(() => { + // eslint-disable-next-line no-console + console.error(error); + }, [error]); + + return ( +
+
+
+ +

+ Oops, something went wrong! +

+ + Try again + +
+
+
+ ); +} diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..f1184cf --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,62 @@ +import { Metadata } from 'next'; +import * as React from 'react'; + +import '@/styles/globals.css'; +// !STARTERCONF This is for demo purposes, remove @/styles/colors.css import immediately +import '@/styles/colors.css'; + +import { siteConfig } from '@/constant/config'; + +// !STARTERCONF Change these default meta +// !STARTERCONF Look at @/constant/config to change them +export const metadata: Metadata = { + metadataBase: new URL(siteConfig.url), + title: { + default: siteConfig.title, + template: `%s | ${siteConfig.title}`, + }, + description: siteConfig.description, + robots: { index: true, follow: true }, + // !STARTERCONF this is the default favicon, you can generate your own from https://realfavicongenerator.net/ + // ! copy to /favicon folder + icons: { + icon: '/favicon/favicon.ico', + shortcut: '/favicon/favicon-16x16.png', + apple: '/favicon/apple-touch-icon.png', + }, + manifest: `/favicon/site.webmanifest`, + openGraph: { + url: siteConfig.url, + title: siteConfig.title, + description: siteConfig.description, + siteName: siteConfig.title, + images: [`${siteConfig.url}/images/og.jpg`], + type: 'website', + locale: 'en_US', + }, + twitter: { + card: 'summary_large_image', + title: siteConfig.title, + description: siteConfig.description, + images: [`${siteConfig.url}/images/og.jpg`], + // creator: '@th_clarence', + }, + // authors: [ + // { + // name: 'Theodorus Clarence', + // url: 'https://theodorusclarence.com', + // }, + // ], +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 0000000..9598fe5 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,24 @@ +import { Metadata } from 'next'; +import * as React from 'react'; +import { RiAlarmWarningFill } from 'react-icons/ri'; + +export const metadata: Metadata = { + title: 'Not Found', +}; + +export default function NotFound() { + return ( +
+
+
+ +

Page Not Found

+ Back to home +
+
+
+ ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 0000000..cf0ed16 --- /dev/null +++ b/src/app/page.tsx @@ -0,0 +1,72 @@ +'use client'; + +import Head from 'next/head'; +import * as React from 'react'; +import '@/lib/env'; + +import ArrowLink from '@/components/links/ArrowLink'; +import ButtonLink from '@/components/links/ButtonLink'; +import UnderlineLink from '@/components/links/UnderlineLink'; +import UnstyledLink from '@/components/links/UnstyledLink'; + +/** + * SVGR Support + * Caveat: No React Props Type. + * + * You can override the next-env if the type is important to you + * @see https://stackoverflow.com/questions/68103844/how-to-override-next-js-svg-module-declaration + */ +import Logo from '~/svg/Logo.svg'; + +// !STARTERCONF -> Select !STARTERCONF and CMD + SHIFT + F +// Before you begin editing, follow all comments with `STARTERCONF`, +// to customize the default configuration. + +export default function HomePage() { + return ( +
+ + Hi + +
+
+ +

Next.js + Tailwind CSS + TypeScript Starter

+

+ A starter for Next.js, Tailwind CSS, and TypeScript with Absolute + Import, Seo, Link component, pre-configured with Husky{' '} +

+

+ + See the repository + +

+ + + See all components + + + + {/* eslint-disable-next-line @next/next/no-img-element */} + Deploy with Vercel + + +
+ Š {new Date().getFullYear()} By{' '} + + Theodorus Clarence + +
+
+
+
+ ); +} diff --git a/src/components/NextImage.tsx b/src/components/NextImage.tsx new file mode 100644 index 0000000..e0bae90 --- /dev/null +++ b/src/components/NextImage.tsx @@ -0,0 +1,58 @@ +import Image, { ImageProps } from 'next/image'; +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +type NextImageProps = { + useSkeleton?: boolean; + classNames?: { + image?: string; + blur?: string; + }; + alt: string; +} & ( + | { width: string | number; height: string | number } + | { layout: 'fill'; width?: string | number; height?: string | number } +) & + ImageProps; + +/** + * + * @description Must set width using `w-` className + * @param useSkeleton add background with pulse animation, don't use it if image is transparent + */ +export default function NextImage({ + useSkeleton = false, + src, + width, + height, + alt, + className, + classNames, + ...rest +}: NextImageProps) { + const [status, setStatus] = React.useState( + useSkeleton ? 'loading' : 'complete' + ); + const widthIsSet = className?.includes('w-') ?? false; + + return ( +
+ {alt} setStatus('complete')} + {...rest} + /> +
+ ); +} diff --git a/src/components/Skeleton.tsx b/src/components/Skeleton.tsx new file mode 100644 index 0000000..6b0f94e --- /dev/null +++ b/src/components/Skeleton.tsx @@ -0,0 +1,20 @@ +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +type SkeletonProps = React.ComponentPropsWithoutRef<'div'>; + +export default function Skeleton({ className, ...rest }: SkeletonProps) { + return ( +
+ ); +} diff --git a/src/components/buttons/Button.tsx b/src/components/buttons/Button.tsx new file mode 100644 index 0000000..292359c --- /dev/null +++ b/src/components/buttons/Button.tsx @@ -0,0 +1,160 @@ +import { LucideIcon } from 'lucide-react'; +import * as React from 'react'; +import { IconType } from 'react-icons'; +import { ImSpinner2 } from 'react-icons/im'; + +import { cn } from '@/lib/utils'; + +const ButtonVariant = ['primary', 'outline', 'ghost', 'light', 'dark'] as const; +const ButtonSize = ['sm', 'base'] as const; + +type ButtonProps = { + isLoading?: boolean; + isDarkBg?: boolean; + variant?: (typeof ButtonVariant)[number]; + size?: (typeof ButtonSize)[number]; + leftIcon?: IconType | LucideIcon; + rightIcon?: IconType | LucideIcon; + classNames?: { + leftIcon?: string; + rightIcon?: string; + }; +} & React.ComponentPropsWithRef<'button'>; + +const Button = React.forwardRef( + ( + { + children, + className, + disabled: buttonDisabled, + isLoading, + variant = 'primary', + size = 'base', + isDarkBg = false, + leftIcon: LeftIcon, + rightIcon: RightIcon, + classNames, + ...rest + }, + ref + ) => { + const disabled = isLoading || buttonDisabled; + + return ( + + ); + } +); + +export default Button; diff --git a/src/components/buttons/IconButton.tsx b/src/components/buttons/IconButton.tsx new file mode 100644 index 0000000..c7b224e --- /dev/null +++ b/src/components/buttons/IconButton.tsx @@ -0,0 +1,116 @@ +import { LucideIcon } from 'lucide-react'; +import * as React from 'react'; +import { IconType } from 'react-icons'; +import { ImSpinner2 } from 'react-icons/im'; + +import { cn } from '@/lib/utils'; + +const IconButtonVariant = [ + 'primary', + 'outline', + 'ghost', + 'light', + 'dark', +] as const; + +type IconButtonProps = { + isLoading?: boolean; + isDarkBg?: boolean; + variant?: (typeof IconButtonVariant)[number]; + icon?: IconType | LucideIcon; + classNames?: { + icon?: string; + }; +} & React.ComponentPropsWithRef<'button'>; + +const IconButton = React.forwardRef( + ( + { + className, + disabled: buttonDisabled, + isLoading, + variant = 'primary', + isDarkBg = false, + icon: Icon, + classNames, + ...rest + }, + ref + ) => { + const disabled = isLoading || buttonDisabled; + + return ( + + ); + } +); + +export default IconButton; diff --git a/src/components/buttons/TextButton.tsx b/src/components/buttons/TextButton.tsx new file mode 100644 index 0000000..d20872f --- /dev/null +++ b/src/components/buttons/TextButton.tsx @@ -0,0 +1,52 @@ +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +const TextButtonVariant = ['primary', 'basic'] as const; + +type TextButtonProps = { + variant?: (typeof TextButtonVariant)[number]; +} & React.ComponentPropsWithRef<'button'>; + +const TextButton = React.forwardRef( + ( + { + children, + className, + variant = 'primary', + disabled: buttonDisabled, + ...rest + }, + ref + ) => { + return ( + + ); + } +); + +export default TextButton; diff --git a/src/components/links/ArrowLink.tsx b/src/components/links/ArrowLink.tsx new file mode 100644 index 0000000..60d70b1 --- /dev/null +++ b/src/components/links/ArrowLink.tsx @@ -0,0 +1,64 @@ +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +import UnderlineLink from '@/components/links/UnderlineLink'; +import { UnstyledLinkProps } from '@/components/links/UnstyledLink'; + +type ArrowLinkProps = { + as?: C; + direction?: 'left' | 'right'; +} & UnstyledLinkProps & + React.ComponentProps; + +export default function ArrowLink({ + children, + className, + direction = 'right', + as, + ...rest +}: ArrowLinkProps) { + const Component = as || UnderlineLink; + + return ( + + {children} + + + + + + ); +} diff --git a/src/components/links/ButtonLink.tsx b/src/components/links/ButtonLink.tsx new file mode 100644 index 0000000..4100fee --- /dev/null +++ b/src/components/links/ButtonLink.tsx @@ -0,0 +1,146 @@ +import { LucideIcon } from 'lucide-react'; +import * as React from 'react'; +import { IconType } from 'react-icons'; + +import { cn } from '@/lib/utils'; + +import UnstyledLink, { + UnstyledLinkProps, +} from '@/components/links/UnstyledLink'; + +const ButtonLinkVariant = [ + 'primary', + 'outline', + 'ghost', + 'light', + 'dark', +] as const; +const ButtonLinkSize = ['sm', 'base'] as const; + +type ButtonLinkProps = { + isDarkBg?: boolean; + variant?: (typeof ButtonLinkVariant)[number]; + size?: (typeof ButtonLinkSize)[number]; + leftIcon?: IconType | LucideIcon; + rightIcon?: IconType | LucideIcon; + classNames?: { + leftIcon?: string; + rightIcon?: string; + }; +} & UnstyledLinkProps; + +const ButtonLink = React.forwardRef( + ( + { + children, + className, + variant = 'primary', + size = 'base', + isDarkBg = false, + leftIcon: LeftIcon, + rightIcon: RightIcon, + classNames, + ...rest + }, + ref + ) => { + return ( + + {LeftIcon && ( +
+ +
+ )} + {children} + {RightIcon && ( +
+ +
+ )} +
+ ); + } +); + +export default ButtonLink; diff --git a/src/components/links/IconLink.tsx b/src/components/links/IconLink.tsx new file mode 100644 index 0000000..e031077 --- /dev/null +++ b/src/components/links/IconLink.tsx @@ -0,0 +1,97 @@ +import { LucideIcon } from 'lucide-react'; +import * as React from 'react'; +import { IconType } from 'react-icons'; + +import { cn } from '@/lib/utils'; + +import UnstyledLink, { + UnstyledLinkProps, +} from '@/components/links/UnstyledLink'; + +const IconLinkVariant = [ + 'primary', + 'outline', + 'ghost', + 'light', + 'dark', +] as const; + +type IconLinkProps = { + isDarkBg?: boolean; + variant?: (typeof IconLinkVariant)[number]; + icon?: IconType | LucideIcon; + classNames?: { + icon?: string; + }; +} & Omit; + +const IconLink = React.forwardRef( + ( + { + className, + icon: Icon, + variant = 'outline', + isDarkBg = false, + classNames, + ...rest + }, + ref + ) => { + return ( + + {Icon && } + + ); + } +); + +export default IconLink; diff --git a/src/components/links/PrimaryLink.tsx b/src/components/links/PrimaryLink.tsx new file mode 100644 index 0000000..ba865ca --- /dev/null +++ b/src/components/links/PrimaryLink.tsx @@ -0,0 +1,43 @@ +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +import UnstyledLink, { + UnstyledLinkProps, +} from '@/components/links/UnstyledLink'; + +const PrimaryLinkVariant = ['primary', 'basic'] as const; +type PrimaryLinkProps = { + variant?: (typeof PrimaryLinkVariant)[number]; +} & UnstyledLinkProps; + +const PrimaryLink = React.forwardRef( + ({ className, children, variant = 'primary', ...rest }, ref) => { + return ( + + {children} + + ); + } +); + +export default PrimaryLink; diff --git a/src/components/links/UnderlineLink.tsx b/src/components/links/UnderlineLink.tsx new file mode 100644 index 0000000..bba8890 --- /dev/null +++ b/src/components/links/UnderlineLink.tsx @@ -0,0 +1,28 @@ +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +import UnstyledLink, { + UnstyledLinkProps, +} from '@/components/links/UnstyledLink'; + +const UnderlineLink = React.forwardRef( + ({ children, className, ...rest }, ref) => { + return ( + + {children} + + ); + } +); + +export default UnderlineLink; diff --git a/src/components/links/UnstyledLink.tsx b/src/components/links/UnstyledLink.tsx new file mode 100644 index 0000000..0ccb23f --- /dev/null +++ b/src/components/links/UnstyledLink.tsx @@ -0,0 +1,50 @@ +import Link, { LinkProps } from 'next/link'; +import * as React from 'react'; + +import { cn } from '@/lib/utils'; + +export type UnstyledLinkProps = { + href: string; + children: React.ReactNode; + openNewTab?: boolean; + className?: string; + nextLinkProps?: Omit; +} & React.ComponentPropsWithRef<'a'>; + +const UnstyledLink = React.forwardRef( + ({ children, href, openNewTab, className, nextLinkProps, ...rest }, ref) => { + const isNewTab = + openNewTab !== undefined + ? openNewTab + : href && !href.startsWith('/') && !href.startsWith('#'); + + if (!isNewTab) { + return ( + + {children} + + ); + } + + return ( + + {children} + + ); + } +); + +export default UnstyledLink; diff --git a/src/constant/config.ts b/src/constant/config.ts new file mode 100644 index 0000000..a1cfa14 --- /dev/null +++ b/src/constant/config.ts @@ -0,0 +1,7 @@ +export const siteConfig = { + title: 'Next.js + Tailwind CSS + TypeScript Starter', + description: + 'A starter for Next.js, Tailwind CSS, and TypeScript with Absolute Import, Seo, Link component, pre-configured with Husky', + /** Without additional '/' on the end, e.g. https://theodorusclarence.com */ + url: 'https://tsnext-tw.thcl.dev', +}; diff --git a/src/constant/env.ts b/src/constant/env.ts new file mode 100644 index 0000000..8cd8ab5 --- /dev/null +++ b/src/constant/env.ts @@ -0,0 +1,6 @@ +export const isProd = process.env.NODE_ENV === 'production'; +export const isLocal = process.env.NODE_ENV === 'development'; + +export const showLogger = isLocal + ? true + : process.env.NEXT_PUBLIC_SHOW_LOGGER === 'true' ?? false; diff --git a/src/lib/__tests__/og.test.ts b/src/lib/__tests__/og.test.ts new file mode 100644 index 0000000..7f53f94 --- /dev/null +++ b/src/lib/__tests__/og.test.ts @@ -0,0 +1,20 @@ +import { openGraph } from '@/lib/og'; + +describe('Open Graph function should work correctly', () => { + it('should not return templateTitle when not specified', () => { + const result = openGraph({ + description: 'Test description', + siteName: 'Test site name', + }); + expect(result).not.toContain('&templateTitle='); + }); + + it('should return templateTitle when specified', () => { + const result = openGraph({ + templateTitle: 'Test Template Title', + description: 'Test description', + siteName: 'Test site name', + }); + expect(result).toContain('&templateTitle=Test%20Template%20Title'); + }); +}); diff --git a/src/lib/env.ts b/src/lib/env.ts new file mode 100644 index 0000000..9f1a3e3 --- /dev/null +++ b/src/lib/env.ts @@ -0,0 +1,20 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +/** + * Configuration for type-safe environment variables. + * Imported through src/app/page.tsx + * @see https://x.com/mattpocockuk/status/1760991147793449396 + */ +import { z } from 'zod'; + +const envVariables = z.object({ + NEXT_PUBLIC_SHOW_LOGGER: z.enum(['true', 'false']).optional(), +}); + +envVariables.parse(process.env); + +declare global { + namespace NodeJS { + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface ProcessEnv extends z.infer {} + } +} diff --git a/src/lib/helper.ts b/src/lib/helper.ts new file mode 100644 index 0000000..91ffd55 --- /dev/null +++ b/src/lib/helper.ts @@ -0,0 +1,13 @@ +export function getFromLocalStorage(key: string): string | null { + if (typeof window !== 'undefined') { + return window.localStorage.getItem(key); + } + return null; +} + +export function getFromSessionStorage(key: string): string | null { + if (typeof sessionStorage !== 'undefined') { + return sessionStorage.getItem(key); + } + return null; +} diff --git a/src/lib/logger.ts b/src/lib/logger.ts new file mode 100644 index 0000000..68ea99e --- /dev/null +++ b/src/lib/logger.ts @@ -0,0 +1,19 @@ +/* eslint-disable no-console */ +import { showLogger } from '@/constant/env'; + +/** + * A logger function that will only logs on development + * @param object - The object to log + * @param comment - Autogenerated with `lg` snippet + */ +export default function logger(object: unknown, comment?: string): void { + if (!showLogger) return; + + console.log( + '%c ============== INFO LOG \n', + 'color: #22D3EE', + `${typeof window !== 'undefined' && window?.location.pathname}\n`, + `=== ${comment ?? ''}\n`, + object + ); +} diff --git a/src/lib/og.ts b/src/lib/og.ts new file mode 100644 index 0000000..76cd32f --- /dev/null +++ b/src/lib/og.ts @@ -0,0 +1,27 @@ +type OpenGraphType = { + siteName: string; + description: string; + templateTitle?: string; + logo?: string; +}; +// !STARTERCONF This OG is generated from https://github.com/theodorusclarence/og +// Please clone them and self-host if your site is going to be visited by many people. +// Then change the url and the default logo. +export function openGraph({ + siteName, + templateTitle, + description, + // !STARTERCONF Or, you can use my server with your own logo. + logo = 'https://og./images/logo.jpg', +}: OpenGraphType): string { + const ogLogo = encodeURIComponent(logo); + const ogSiteName = encodeURIComponent(siteName.trim()); + const ogTemplateTitle = templateTitle + ? encodeURIComponent(templateTitle.trim()) + : undefined; + const ogDesc = encodeURIComponent(description.trim()); + + return `https://og./api/general?siteName=${ogSiteName}&description=${ogDesc}&logo=${ogLogo}${ + ogTemplateTitle ? `&templateTitle=${ogTemplateTitle}` : '' + }`; +} diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..97ccfe9 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,7 @@ +import clsx, { ClassValue } from 'clsx'; +import { twMerge } from 'tailwind-merge'; + +/** Merge classes with tailwind-merge with clsx full feature */ +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/src/styles/colors.css b/src/styles/colors.css new file mode 100644 index 0000000..76a0760 --- /dev/null +++ b/src/styles/colors.css @@ -0,0 +1,550 @@ +/* //!STARTERCONF Remove this file after copying your desired color, this is a large file you should remove it. */ + +.slate { + --tw-color-primary-50: 248 250 252; + --tw-color-primary-100: 241 245 249; + --tw-color-primary-200: 226 232 240; + --tw-color-primary-300: 203 213 225; + --tw-color-primary-400: 148 163 184; + --tw-color-primary-500: 100 116 139; + --tw-color-primary-600: 71 85 105; + --tw-color-primary-700: 51 65 85; + --tw-color-primary-800: 30 41 59; + --tw-color-primary-900: 15 23 42; + --tw-color-primary-950: 2 6 23; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f8fafc */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f1f5f9 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e2e8f0 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #cbd5e1 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #94a3b8 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #64748b */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #475569 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #334155 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #1e293b */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #0f172a */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #020617 */ +} + +.gray { + --tw-color-primary-50: 249 250 251; + --tw-color-primary-100: 243 244 246; + --tw-color-primary-200: 229 231 235; + --tw-color-primary-300: 209 213 219; + --tw-color-primary-400: 156 163 175; + --tw-color-primary-500: 107 114 128; + --tw-color-primary-600: 75 85 99; + --tw-color-primary-700: 55 65 81; + --tw-color-primary-800: 31 41 55; + --tw-color-primary-900: 17 24 39; + --tw-color-primary-950: 3 7 18; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f9fafb */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f3f4f6 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e5e7eb */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #d1d5db */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #9ca3af */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #6b7280 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #4b5563 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #374151 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #1f2937 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #111827 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #030712 */ +} + +.zinc { + --tw-color-primary-50: 250 250 250; + --tw-color-primary-100: 244 244 245; + --tw-color-primary-200: 228 228 231; + --tw-color-primary-300: 212 212 216; + --tw-color-primary-400: 161 161 170; + --tw-color-primary-500: 113 113 122; + --tw-color-primary-600: 82 82 91; + --tw-color-primary-700: 63 63 70; + --tw-color-primary-800: 39 39 42; + --tw-color-primary-900: 24 24 27; + --tw-color-primary-950: 9 9 11; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fafafa */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f4f4f5 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e4e4e7 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #d4d4d8 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #a1a1aa */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #71717a */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #52525b */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #3f3f46 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #27272a */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #18181b */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #09090b */ +} + +.neutral { + --tw-color-primary-50: 250 250 250; + --tw-color-primary-100: 245 245 245; + --tw-color-primary-200: 229 229 229; + --tw-color-primary-300: 212 212 212; + --tw-color-primary-400: 163 163 163; + --tw-color-primary-500: 115 115 115; + --tw-color-primary-600: 82 82 82; + --tw-color-primary-700: 64 64 64; + --tw-color-primary-800: 38 38 38; + --tw-color-primary-900: 23 23 23; + --tw-color-primary-950: 10 10 10; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fafafa */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f5f5f5 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e5e5e5 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #d4d4d4 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #a3a3a3 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #737373 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #525252 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #404040 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #262626 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #171717 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #0a0a0a */ +} + +.stone { + --tw-color-primary-50: 250 250 249; + --tw-color-primary-100: 245 245 244; + --tw-color-primary-200: 231 229 228; + --tw-color-primary-300: 214 211 209; + --tw-color-primary-400: 168 162 158; + --tw-color-primary-500: 120 113 108; + --tw-color-primary-600: 87 83 78; + --tw-color-primary-700: 68 64 60; + --tw-color-primary-800: 41 37 36; + --tw-color-primary-900: 28 25 23; + --tw-color-primary-950: 12 10 9; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fafaf9 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f5f5f4 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e7e5e4 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #d6d3d1 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #a8a29e */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #78716c */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #57534e */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #44403c */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #292524 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #1c1917 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #0c0a09 */ +} + +.red { + --tw-color-primary-50: 254 242 242; + --tw-color-primary-100: 254 226 226; + --tw-color-primary-200: 254 202 202; + --tw-color-primary-300: 252 165 165; + --tw-color-primary-400: 248 113 113; + --tw-color-primary-500: 239 68 68; + --tw-color-primary-600: 220 38 38; + --tw-color-primary-700: 185 28 28; + --tw-color-primary-800: 153 27 27; + --tw-color-primary-900: 127 29 29; + --tw-color-primary-950: 69 10 10; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fef2f2 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #fee2e2 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fecaca */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #fca5a5 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #f87171 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #ef4444 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #dc2626 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #b91c1c */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #991b1b */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #7f1d1d */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #450a0a */ +} + +.orange { + --tw-color-primary-50: 255 247 237; + --tw-color-primary-100: 255 237 213; + --tw-color-primary-200: 254 215 170; + --tw-color-primary-300: 253 186 116; + --tw-color-primary-400: 251 146 60; + --tw-color-primary-500: 249 115 22; + --tw-color-primary-600: 234 88 12; + --tw-color-primary-700: 194 65 12; + --tw-color-primary-800: 154 52 18; + --tw-color-primary-900: 124 45 18; + --tw-color-primary-950: 67 20 7; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fff7ed */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #ffedd5 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fed7aa */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #fdba74 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #fb923c */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #f97316 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #ea580c */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #c2410c */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #9a3412 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #7c2d12 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #431407 */ +} + +.amber { + --tw-color-primary-50: 255 251 235; + --tw-color-primary-100: 254 243 199; + --tw-color-primary-200: 253 230 138; + --tw-color-primary-300: 252 211 77; + --tw-color-primary-400: 251 191 36; + --tw-color-primary-500: 245 158 11; + --tw-color-primary-600: 217 119 6; + --tw-color-primary-700: 180 83 9; + --tw-color-primary-800: 146 64 14; + --tw-color-primary-900: 120 53 15; + --tw-color-primary-950: 69 26 3; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fffbeb */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #fef3c7 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fde68a */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #fcd34d */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #fbbf24 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #f59e0b */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #d97706 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #b45309 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #92400e */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #78350f */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #451a03 */ +} + +.yellow { + --tw-color-primary-50: 254 252 232; + --tw-color-primary-100: 254 249 195; + --tw-color-primary-200: 254 240 138; + --tw-color-primary-300: 253 224 71; + --tw-color-primary-400: 250 204 21; + --tw-color-primary-500: 234 179 8; + --tw-color-primary-600: 202 138 4; + --tw-color-primary-700: 161 98 7; + --tw-color-primary-800: 133 77 14; + --tw-color-primary-900: 113 63 18; + --tw-color-primary-950: 66 32 6; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fefce8 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #fef9c3 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fef08a */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #fde047 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #facc15 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #eab308 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #ca8a04 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #a16207 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #854d0e */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #713f12 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #422006 */ +} +.lime { + --tw-color-primary-50: 247 254 231; + --tw-color-primary-100: 236 252 203; + --tw-color-primary-200: 217 249 157; + --tw-color-primary-300: 190 242 100; + --tw-color-primary-400: 163 230 53; + --tw-color-primary-500: 132 204 22; + --tw-color-primary-600: 101 163 13; + --tw-color-primary-700: 77 124 15; + --tw-color-primary-800: 63 98 18; + --tw-color-primary-900: 54 83 20; + --tw-color-primary-950: 26 46 5; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f7fee7 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #ecfccb */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #d9f99d */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #bef264 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #a3e635 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #84cc16 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #65a30d */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #4d7c0f */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #3f6212 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #365314 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #1a2e05 */ +} + +.green { + --tw-color-primary-50: 240 253 244; + --tw-color-primary-100: 220 252 231; + --tw-color-primary-200: 187 247 208; + --tw-color-primary-300: 134 239 172; + --tw-color-primary-400: 74 222 128; + --tw-color-primary-500: 34 197 94; + --tw-color-primary-600: 22 163 74; + --tw-color-primary-700: 21 128 61; + --tw-color-primary-800: 22 101 52; + --tw-color-primary-900: 20 83 45; + --tw-color-primary-950: 5 46 22; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f0fdf4 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #dcfce7 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #bbf7d0 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #86efac */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #4ade80 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #22c55e */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #16a34a */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #15803d */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #166534 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #14532d */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #052e16 */ +} + +.emerald { + --tw-color-primary-50: 236 253 245; + --tw-color-primary-100: 209 250 229; + --tw-color-primary-200: 167 243 208; + --tw-color-primary-300: 110 231 183; + --tw-color-primary-400: 52 211 153; + --tw-color-primary-500: 16 185 129; + --tw-color-primary-600: 5 150 105; + --tw-color-primary-700: 4 120 87; + --tw-color-primary-800: 6 95 70; + --tw-color-primary-900: 6 78 59; + --tw-color-primary-950: 2 44 34; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #ecfdf5 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #d1fae5 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #a7f3d0 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #6ee7b7 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #34d399 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #10b981 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #059669 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #047857 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #065f46 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #064e3b */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #022c22 */ +} + +.teal { + --tw-color-primary-50: 240 253 250; + --tw-color-primary-100: 204 251 241; + --tw-color-primary-200: 153 246 228; + --tw-color-primary-300: 94 234 212; + --tw-color-primary-400: 45 212 191; + --tw-color-primary-500: 20 184 166; + --tw-color-primary-600: 13 148 136; + --tw-color-primary-700: 15 118 110; + --tw-color-primary-800: 17 94 89; + --tw-color-primary-900: 19 78 74; + --tw-color-primary-950: 4 47 46; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f0fdfa */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #ccfbf1 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #99f6e4 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #5eead4 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #2dd4bf */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #14b8a6 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #0d9488 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #0f766e */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #115e59 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #134e4a */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #042f2e */ +} + +.cyan { + --tw-color-primary-50: 236 254 255; + --tw-color-primary-100: 207 250 254; + --tw-color-primary-200: 165 243 252; + --tw-color-primary-300: 103 232 249; + --tw-color-primary-400: 34 211 238; + --tw-color-primary-500: 6 182 212; + --tw-color-primary-600: 8 145 178; + --tw-color-primary-700: 14 116 144; + --tw-color-primary-800: 21 94 117; + --tw-color-primary-900: 22 78 99; + --tw-color-primary-950: 8 51 68; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #ecfeff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #cffafe */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #a5f3fc */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #67e8f9 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #22d3ee */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #06b6d4 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #0891b2 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #0e7490 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #155e75 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #164e63 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #083344 */ +} + +.sky { + --tw-color-primary-50: 240 249 255; + --tw-color-primary-100: 224 242 254; + --tw-color-primary-200: 186 230 253; + --tw-color-primary-300: 125 211 252; + --tw-color-primary-400: 56 189 248; + --tw-color-primary-500: 14 165 233; + --tw-color-primary-600: 2 132 199; + --tw-color-primary-700: 3 105 161; + --tw-color-primary-800: 7 89 133; + --tw-color-primary-900: 12 74 110; + --tw-color-primary-950: 8 47 73; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f0f9ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #e0f2fe */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #bae6fd */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #7dd3fc */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #38bdf8 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #0ea5e9 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #0284c7 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #0369a1 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #075985 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #0c4a6e */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #082f49 */ +} + +.blue { + --tw-color-primary-50: 239 246 255; + --tw-color-primary-100: 219 234 254; + --tw-color-primary-200: 191 219 254; + --tw-color-primary-300: 147 197 253; + --tw-color-primary-400: 96 165 250; + --tw-color-primary-500: 59 130 246; + --tw-color-primary-600: 37 99 235; + --tw-color-primary-700: 29 78 216; + --tw-color-primary-800: 30 64 175; + --tw-color-primary-900: 30 58 138; + --tw-color-primary-950: 23 37 84; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #eff6ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #dbeafe */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #bfdbfe */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #93c5fd */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #60a5fa */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #3b82f6 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #2563eb */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #1d4ed8 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #1e40af */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #1e3a8a */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #172554 */ +} + +.indigo { + --tw-color-primary-50: 238 242 255; + --tw-color-primary-100: 224 231 255; + --tw-color-primary-200: 199 210 254; + --tw-color-primary-300: 165 180 252; + --tw-color-primary-400: 129 140 248; + --tw-color-primary-500: 99 102 241; + --tw-color-primary-600: 79 70 229; + --tw-color-primary-700: 67 56 202; + --tw-color-primary-800: 55 48 163; + --tw-color-primary-900: 49 46 129; + --tw-color-primary-950: 30 27 75; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #eef2ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #e0e7ff */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #c7d2fe */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #a5b4fc */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #818cf8 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #6366f1 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #4f46e5 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #4338ca */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #3730a3 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #312e81 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #1e1b4b */ +} + +.violet { + --tw-color-primary-50: 245 243 255; + --tw-color-primary-100: 237 233 254; + --tw-color-primary-200: 221 214 254; + --tw-color-primary-300: 196 181 253; + --tw-color-primary-400: 167 139 250; + --tw-color-primary-500: 139 92 246; + --tw-color-primary-600: 124 58 237; + --tw-color-primary-700: 109 40 217; + --tw-color-primary-800: 91 33 182; + --tw-color-primary-900: 76 29 149; + --tw-color-primary-950: 46 16 101; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f5f3ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #ede9fe */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #ddd6fe */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #c4b5fd */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #a78bfa */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #8b5cf6 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #7c3aed */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #6d28d9 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #5b21b6 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #4c1d95 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #2e1065 */ +} + +.purple { + --tw-color-primary-50: 250 245 255; + --tw-color-primary-100: 243 232 255; + --tw-color-primary-200: 233 213 255; + --tw-color-primary-300: 216 180 254; + --tw-color-primary-400: 192 132 252; + --tw-color-primary-500: 168 85 247; + --tw-color-primary-600: 147 51 234; + --tw-color-primary-700: 126 34 206; + --tw-color-primary-800: 107 33 168; + --tw-color-primary-900: 88 28 135; + --tw-color-primary-950: 59 7 100; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #faf5ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #f3e8ff */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #e9d5ff */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #d8b4fe */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #c084fc */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #a855f7 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #9333ea */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #7e22ce */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #6b21a8 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #581c87 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #3b0764 */ +} + +.fuchsia { + --tw-color-primary-50: 253 244 255; + --tw-color-primary-100: 250 232 255; + --tw-color-primary-200: 245 208 254; + --tw-color-primary-300: 240 171 252; + --tw-color-primary-400: 232 121 249; + --tw-color-primary-500: 217 70 239; + --tw-color-primary-600: 192 38 211; + --tw-color-primary-700: 162 28 175; + --tw-color-primary-800: 134 25 143; + --tw-color-primary-900: 112 26 117; + --tw-color-primary-950: 74 4 78; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fdf4ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #fae8ff */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #f5d0fe */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #f0abfc */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #e879f9 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #d946ef */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #c026d3 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #a21caf */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #86198f */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #701a75 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #4a044e */ +} + +.pink { + --tw-color-primary-50: 253 242 248; + --tw-color-primary-100: 252 231 243; + --tw-color-primary-200: 251 207 232; + --tw-color-primary-300: 249 168 212; + --tw-color-primary-400: 244 114 182; + --tw-color-primary-500: 236 72 153; + --tw-color-primary-600: 219 39 119; + --tw-color-primary-700: 190 24 93; + --tw-color-primary-800: 157 23 77; + --tw-color-primary-900: 131 24 67; + --tw-color-primary-950: 80 4 36; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fdf2f8 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #fce7f3 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fbcfe8 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #f9a8d4 */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #f472b6 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #ec4899 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #db2777 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #be185d */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #9d174d */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #831843 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #500724 */ +} + +.rose { + --tw-color-primary-50: 255 241 242; + --tw-color-primary-100: 255 228 230; + --tw-color-primary-200: 254 205 211; + --tw-color-primary-300: 253 164 175; + --tw-color-primary-400: 251 113 133; + --tw-color-primary-500: 244 63 94; + --tw-color-primary-600: 225 29 72; + --tw-color-primary-700: 190 18 60; + --tw-color-primary-800: 159 18 57; + --tw-color-primary-900: 136 19 55; + --tw-color-primary-950: 76 5 25; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #fff1f2 */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #ffe4e6 */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #fecdd3 */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #fda4af */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #fb7185 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #f43f5e */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #e11d48 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #be123c */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #9f1239 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #881337 */ + --color-primary-950: rgb(var(--tw-color-primary-950)); /* #4c0519 */ +} diff --git a/src/styles/globals.css b/src/styles/globals.css new file mode 100644 index 0000000..e2f0b35 --- /dev/null +++ b/src/styles/globals.css @@ -0,0 +1,118 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + /* #region /**=========== Primary Color =========== */ + /* !STARTERCONF Customize these variable, copy and paste from /styles/colors.css for list of colors */ + --tw-color-primary-50: 240 249 255; + --tw-color-primary-100: 224 242 254; + --tw-color-primary-200: 186 230 253; + --tw-color-primary-300: 125 211 252; + --tw-color-primary-400: 56 189 248; + --tw-color-primary-500: 14 165 233; + --tw-color-primary-600: 2 132 199; + --tw-color-primary-700: 3 105 161; + --tw-color-primary-800: 7 89 133; + --tw-color-primary-900: 12 74 110; + --color-primary-50: rgb(var(--tw-color-primary-50)); /* #f0f9ff */ + --color-primary-100: rgb(var(--tw-color-primary-100)); /* #e0f2fe */ + --color-primary-200: rgb(var(--tw-color-primary-200)); /* #bae6fd */ + --color-primary-300: rgb(var(--tw-color-primary-300)); /* #7dd3fc */ + --color-primary-400: rgb(var(--tw-color-primary-400)); /* #38bdf8 */ + --color-primary-500: rgb(var(--tw-color-primary-500)); /* #0ea5e9 */ + --color-primary-600: rgb(var(--tw-color-primary-600)); /* #0284c7 */ + --color-primary-700: rgb(var(--tw-color-primary-700)); /* #0369a1 */ + --color-primary-800: rgb(var(--tw-color-primary-800)); /* #075985 */ + --color-primary-900: rgb(var(--tw-color-primary-900)); /* #0c4a6e */ + /* #endregion /**======== Primary Color =========== */ +} + +@layer base { + /* inter var - latin */ + @font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100 900; + font-display: block; + src: url('/fonts/inter-var-latin.woff2') format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, + U+2215, U+FEFF, U+FFFD; + } + + .cursor-newtab { + cursor: url('/images/new-tab.png') 10 10, pointer; + } + + /* #region /**=========== Typography =========== */ + .h0 { + @apply font-primary text-3xl font-bold md:text-5xl; + } + + h1, + .h1 { + @apply font-primary text-2xl font-bold md:text-4xl; + } + + h2, + .h2 { + @apply font-primary text-xl font-bold md:text-3xl; + } + + h3, + .h3 { + @apply font-primary text-lg font-bold md:text-2xl; + } + + h4, + .h4 { + @apply font-primary text-base font-bold md:text-lg; + } + + body, + .p { + @apply font-primary text-sm md:text-base; + } + /* #endregion /**======== Typography =========== */ + + .layout { + /* 1100px */ + max-width: 68.75rem; + @apply mx-auto w-11/12; + } + + .bg-dark a.custom-link { + @apply border-gray-200 hover:border-gray-200/0; + } + + /* Class to adjust with sticky footer */ + .min-h-main { + @apply min-h-[calc(100vh-56px)]; + } +} + +@layer utilities { + .animated-underline { + background-image: linear-gradient(#33333300, #33333300), + linear-gradient( + to right, + var(--color-primary-400), + var(--color-primary-500) + ); + background-size: 100% 2px, 0 2px; + background-position: 100% 100%, 0 100%; + background-repeat: no-repeat; + } + @media (prefers-reduced-motion: no-preference) { + .animated-underline { + transition: 0.3s ease; + transition-property: background-size, color, background-color, + border-color; + } + } + .animated-underline:hover, + .animated-underline:focus-visible { + background-size: 0 2px, 100% 2px; + } +} diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..078006a --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,56 @@ +import type { Config } from 'tailwindcss'; +import defaultTheme from 'tailwindcss/defaultTheme'; + +export default { + content: ['./src/**/*.{js,jsx,ts,tsx}'], + theme: { + extend: { + fontFamily: { + primary: ['Inter', ...defaultTheme.fontFamily.sans], + }, + colors: { + primary: { + // Customize it on globals.css :root + 50: 'rgb(var(--tw-color-primary-50) / )', + 100: 'rgb(var(--tw-color-primary-100) / )', + 200: 'rgb(var(--tw-color-primary-200) / )', + 300: 'rgb(var(--tw-color-primary-300) / )', + 400: 'rgb(var(--tw-color-primary-400) / )', + 500: 'rgb(var(--tw-color-primary-500) / )', + 600: 'rgb(var(--tw-color-primary-600) / )', + 700: 'rgb(var(--tw-color-primary-700) / )', + 800: 'rgb(var(--tw-color-primary-800) / )', + 900: 'rgb(var(--tw-color-primary-900) / )', + 950: 'rgb(var(--tw-color-primary-950) / )', + }, + dark: '#222222', + }, + keyframes: { + flicker: { + '0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100%': { + opacity: '0.99', + filter: + 'drop-shadow(0 0 1px rgba(252, 211, 77)) drop-shadow(0 0 15px rgba(245, 158, 11)) drop-shadow(0 0 1px rgba(252, 211, 77))', + }, + '20%, 21.999%, 63%, 63.999%, 65%, 69.999%': { + opacity: '0.4', + filter: 'none', + }, + }, + shimmer: { + '0%': { + backgroundPosition: '-700px 0', + }, + '100%': { + backgroundPosition: '700px 0', + }, + }, + }, + animation: { + flicker: 'flicker 3s linear infinite', + shimmer: 'shimmer 1.3s linear infinite', + }, + }, + }, + plugins: [require('@tailwindcss/forms')], +} satisfies Config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..f3a4ec1 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"], + "~/*": ["./public/*"] + }, + "incremental": true, + "plugins": [ + { + "name": "next" + } + ] + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"], + "moduleResolution": ["node_modules", ".next", "node"] +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..603bfca --- /dev/null +++ b/vercel.json @@ -0,0 +1,13 @@ +{ + "headers": [ + { + "source": "/fonts/inter-var-latin.woff2", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=31536000, immutable" + } + ] + } + ] +}