From 85d66215a782220a0fc2b1999463a1f8d711f18b Mon Sep 17 00:00:00 2001 From: Riccardo Date: Thu, 23 May 2024 16:55:29 +0200 Subject: [PATCH] chore: add all the code from original repo --- .env.example | 2 + .eslintrc.json | 24 + .gitignore | 152 +- .husky/commit-msg | 4 + .husky/pre-commit | 8 + .prettierrc | 6 + .yarnrc.yml | 1 + Dockerfile | 15 + README.md | 31 + .../Dashboard/CreateItem/CreateItemDialog.tsx | 68 + .../Dashboard/CreateItem/CreateItemForm.tsx | 89 + .../CreateItem/actions/CreateItemAction.ts | 76 + app/components/Dashboard/Dashboard.tsx | 5 + .../CreateComment/CreateComment.tsx | 44 + .../actions/CreateCommentAction.ts | 44 + .../Dashboard/ItemDialog/ItemData.tsx | 39 + .../Dashboard/ItemDialog/ItemDialog.tsx | 53 + app/components/Dashboard/Items/ItemsTable.tsx | 202 + .../Dashboard/Items/ItemsTableRow.tsx | 26 + .../Dashboard/Items/ItemsTableRowAction.ts | 28 + .../Items/actions/ItemsTableAction.ts | 48 + .../Settings/Profiles/ProfilesTable.tsx | 101 + .../Settings/Profiles/ProfilesTableRow.tsx | 81 + .../Profiles/actions/CreateProfileAction.ts | 53 + .../Profiles/actions/DeleteProfileAction.ts | 22 + .../Profiles/actions/ProfilesAction.ts | 23 + .../Profiles/actions/UpdateProfileAction.ts | 31 + app/components/Settings/Settings.tsx | 33 + app/components/Settings/Tags/TagsTable.tsx | 103 + app/components/Settings/Tags/TagsTableRow.tsx | 65 + .../Settings/Tags/actions/CreateTagAction.ts | 53 + .../Settings/Tags/actions/DeleteTagAction.ts | 22 + .../Settings/Tags/actions/TagsAction.ts | 40 + .../Settings/Tags/actions/UpdateTagAction.ts | 31 + app/components/UI/CreateButton.tsx | 14 + app/favicon.ico | Bin 0 -> 124861 bytes app/globals.css | 33 + app/layout.tsx | 22 + app/page.tsx | 72 + commitlint.config.ts | 1 + contexts/ProfileContext.ts | 11 + contexts/ProfileContextProvider.tsx | 16 + data/initializeUser.ts | 20 + data/types.ts | 95 + docker-compose.yml | 32 + next.config.mjs | 10 + package-lock.json | 8023 +++++++++++++++++ package.json | 61 + postcss.config.js | 6 + .../migration.sql | 101 + .../migration.sql | 15 + .../migration.sql | 15 + .../migration.sql | 11 + .../migration.sql | 2 + .../migration.sql | 8 + .../migration.sql | 23 + prisma/migrations/migration_lock.toml | 3 + prisma/prisma.ts | 9 + prisma/schema.prisma | 80 + public/next.svg | 1 + public/vercel.svg | 1 + tailwind.config.ts | 20 + tsconfig.json | 28 + utils/ApiResponse.ts | 8 + vercel.json | 34 + yarn.lock | 6392 +++++++++++++ 66 files changed, 16668 insertions(+), 122 deletions(-) create mode 100644 .env.example create mode 100644 .eslintrc.json create mode 100755 .husky/commit-msg create mode 100755 .husky/pre-commit create mode 100644 .prettierrc create mode 100644 .yarnrc.yml create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 app/components/Dashboard/CreateItem/CreateItemDialog.tsx create mode 100644 app/components/Dashboard/CreateItem/CreateItemForm.tsx create mode 100644 app/components/Dashboard/CreateItem/actions/CreateItemAction.ts create mode 100644 app/components/Dashboard/Dashboard.tsx create mode 100644 app/components/Dashboard/ItemDialog/CreateComment/CreateComment.tsx create mode 100644 app/components/Dashboard/ItemDialog/CreateComment/actions/CreateCommentAction.ts create mode 100644 app/components/Dashboard/ItemDialog/ItemData.tsx create mode 100644 app/components/Dashboard/ItemDialog/ItemDialog.tsx create mode 100644 app/components/Dashboard/Items/ItemsTable.tsx create mode 100644 app/components/Dashboard/Items/ItemsTableRow.tsx create mode 100644 app/components/Dashboard/Items/ItemsTableRowAction.ts create mode 100644 app/components/Dashboard/Items/actions/ItemsTableAction.ts create mode 100644 app/components/Settings/Profiles/ProfilesTable.tsx create mode 100644 app/components/Settings/Profiles/ProfilesTableRow.tsx create mode 100644 app/components/Settings/Profiles/actions/CreateProfileAction.ts create mode 100644 app/components/Settings/Profiles/actions/DeleteProfileAction.ts create mode 100644 app/components/Settings/Profiles/actions/ProfilesAction.ts create mode 100644 app/components/Settings/Profiles/actions/UpdateProfileAction.ts create mode 100644 app/components/Settings/Settings.tsx create mode 100644 app/components/Settings/Tags/TagsTable.tsx create mode 100644 app/components/Settings/Tags/TagsTableRow.tsx create mode 100644 app/components/Settings/Tags/actions/CreateTagAction.ts create mode 100644 app/components/Settings/Tags/actions/DeleteTagAction.ts create mode 100644 app/components/Settings/Tags/actions/TagsAction.ts create mode 100644 app/components/Settings/Tags/actions/UpdateTagAction.ts create mode 100644 app/components/UI/CreateButton.tsx create mode 100644 app/favicon.ico create mode 100644 app/globals.css create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 commitlint.config.ts create mode 100644 contexts/ProfileContext.ts create mode 100644 contexts/ProfileContextProvider.tsx create mode 100644 data/initializeUser.ts create mode 100644 data/types.ts create mode 100644 docker-compose.yml create mode 100644 next.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 prisma/migrations/20240123185308_add_initial_tables/migration.sql create mode 100644 prisma/migrations/20240123202859_added_exchange_rates_table_and_fields/migration.sql create mode 100644 prisma/migrations/20240124161110_change_item_and_comment_tables/migration.sql create mode 100644 prisma/migrations/20240127091602_connect_tag_to_profile/migration.sql create mode 100644 prisma/migrations/20240127100044_remove_constraint_to_profile_user_id/migration.sql create mode 100644 prisma/migrations/20240127113811_make_profile_names_unique/migration.sql create mode 100644 prisma/migrations/20240127121159_add_cascade_deletion/migration.sql create mode 100644 prisma/migrations/migration_lock.toml create mode 100644 prisma/prisma.ts create mode 100644 prisma/schema.prisma create mode 100644 public/next.svg create mode 100644 public/vercel.svg create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json create mode 100644 utils/ApiResponse.ts create mode 100644 vercel.json create mode 100644 yarn.lock diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..2c5cbbf --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres +EMAIL=example@example.com \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f4c762f --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,24 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "extends": [ + "next/core-web-vitals", + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "plugins": ["@typescript-eslint"], + "rules": { + "@typescript-eslint/no-unused-vars": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "error" + } +} diff --git a/.gitignore b/.gitignore index c6bba59..b9f8d23 100644 --- a/.gitignore +++ b/.gitignore @@ -1,130 +1,38 @@ -# Logs -logs -*.log +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug npm-debug.log* yarn-debug.log* yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json +# local env files +.env*.local -# Runtime data -pids -*.pid -*.seed -*.pid.lock +# vercel +.vercel -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache +# typescript *.tsbuildinfo +next-env.d.ts -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* +.env \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100755 index 0000000..1a089f4 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx --no-install commitlint --edit $1 diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..a2389f0 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,8 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +yarn audit +yarn format +yarn lint +yarn typecheck +yarn build \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..aa458dd --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": true, + "trailingComma": "none", + "singleQuote": true, + "printWidth": 80 +} diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4192092 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:20 + +WORKDIR /app + +COPY package*.json ./ + +RUN yarn + +COPY . . + +RUN yarn build + +EXPOSE 3000 + +CMD [ "yarn", "start" ] \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..545ef0b --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +## Commands + +Copy .env.example to .env + +```bash +cp .env.example .env +``` + +Run database on Docker + +```bash +docker-compose up +``` + +Apply Prisma migrations + +```bash +yarn migrate +``` + +Generate Prisma client + +```bash +yarn generate +``` + +Run the server + +```bash +yarn dev +``` diff --git a/app/components/Dashboard/CreateItem/CreateItemDialog.tsx b/app/components/Dashboard/CreateItem/CreateItemDialog.tsx new file mode 100644 index 0000000..f326206 --- /dev/null +++ b/app/components/Dashboard/CreateItem/CreateItemDialog.tsx @@ -0,0 +1,68 @@ +import { TagsAction } from '@/components/Settings/Tags/actions/TagsAction'; +import { Button, Dialog, DialogContent, DialogTitle } from '@mui/material'; +import { useEffect, useState } from 'react'; +import { useFormState } from 'react-dom'; +import { Tags } from '../../../../data/types'; +import { CreateItemAction } from './actions/CreateItemAction'; +import { CreateItemForm } from './CreateItemForm'; + +interface CreateItemProps { + open: boolean; + close: (created: boolean) => void; + profile: string | undefined; +} + +export default function CreateItemDialog({ + open, + close, + profile +}: CreateItemProps) { + const [tags, setTags] = useState([]); + + const [formState, formAction] = useFormState(CreateItemAction, { + open: true, + profile + }); + + useEffect(() => { + const updateTags = async () => { + if (profile) { + try { + const updatedTags = await TagsAction({ selectedProfile: profile }); + setTags(updatedTags); + } catch (error) { + console.error("Couldn't fetch tags."); + } + } + }; + + updateTags(); + }, [profile]); + + useEffect(() => { + if (!formState.open) { + close(true); + } + }, [open, close, formState]); + + const handleClose = async () => { + close(false); + }; + + return ( + + Create a new item + + + + + + ); +} diff --git a/app/components/Dashboard/CreateItem/CreateItemForm.tsx b/app/components/Dashboard/CreateItem/CreateItemForm.tsx new file mode 100644 index 0000000..69815c5 --- /dev/null +++ b/app/components/Dashboard/CreateItem/CreateItemForm.tsx @@ -0,0 +1,89 @@ +import { CreateButton } from '@/components/UI/CreateButton'; +import { + Checkbox, + FormControl, + FormControlLabel, + InputLabel, + MenuItem, + Select, + SelectChangeEvent, + Stack, + TextField +} from '@mui/material'; +import { Currency } from '@prisma/client'; +import { useState } from 'react'; +import { Tag } from '../../../../data/types'; + +interface CreateItemProps { + profile: string | undefined; + formAction: (payload: FormData) => void; + tags: Tag[]; +} + +export function CreateItemForm({ profile, formAction, tags }: CreateItemProps) { + const [selectedTag, setSelectedTag] = useState(''); + + const handleTagChange = (event: SelectChangeEvent) => { + setSelectedTag(event.target.value as string); + }; + + return ( +
+ + + + + + Currency + + + {profile && ( + + Tag + + + )} + + + } label="Regret" /> + + +
+ ); +} diff --git a/app/components/Dashboard/CreateItem/actions/CreateItemAction.ts b/app/components/Dashboard/CreateItem/actions/CreateItemAction.ts new file mode 100644 index 0000000..758c168 --- /dev/null +++ b/app/components/Dashboard/CreateItem/actions/CreateItemAction.ts @@ -0,0 +1,76 @@ +'use server'; + +import { nanoid } from 'nanoid'; +import { initializeUser } from '../../../../../data/initializeUser'; +import { CreateItemFormSchema } from '../../../../../data/types'; +import prisma from '../../../../../prisma/prisma'; + +interface CreateItemActionProps { + open: boolean; + profile?: string; + error?: string; +} + +export async function CreateItemAction( + { profile }: CreateItemActionProps, + formData: FormData +) { + await initializeUser(); + + const profileId = profile ?? (await prisma.profile.findFirst())?.id; + + const formDataObj = Object.fromEntries(formData.entries()); + + const validatedBody = CreateItemFormSchema.safeParse(formDataObj); + + if (!validatedBody.success || !profileId) { + throw new Error('Bad request'); + } + + const { name, description, price, currency, tag, body, score, regret } = + validatedBody.data; + + const newId = nanoid(); + + try { + await prisma.$transaction([ + prisma.item.create({ + data: { + id: newId, + name, + description, + price, + currency, + Profile: { + connect: { + id: profileId + } + }, + Tag: tag + ? { + connect: { + id: tag + } + } + : undefined + } + }), + prisma.itemComment.create({ + data: { + body, + score, + regret, + Item: { + connect: { + id: newId + } + } + } + }) + ]); + } catch (error) { + throw new Error(`Failed to create item`); + } + + return { open: false, profile: profileId }; +} diff --git a/app/components/Dashboard/Dashboard.tsx b/app/components/Dashboard/Dashboard.tsx new file mode 100644 index 0000000..35f2640 --- /dev/null +++ b/app/components/Dashboard/Dashboard.tsx @@ -0,0 +1,5 @@ +import ItemsTable from './Items/ItemsTable'; + +export default function Dashboard() { + return ; +} diff --git a/app/components/Dashboard/ItemDialog/CreateComment/CreateComment.tsx b/app/components/Dashboard/ItemDialog/CreateComment/CreateComment.tsx new file mode 100644 index 0000000..15d3a87 --- /dev/null +++ b/app/components/Dashboard/ItemDialog/CreateComment/CreateComment.tsx @@ -0,0 +1,44 @@ +import { CreateButton } from '@/components/UI/CreateButton'; +import { Checkbox, FormControlLabel, Stack, TextField } from '@mui/material'; +import { nanoid } from 'nanoid'; +import { useEffect } from 'react'; +import { useFormState } from 'react-dom'; +import { CreateCommentAction } from './actions/CreateCommentAction'; + +interface CreateCommentProps { + itemId: string; + setFormKey: (key: string) => void; +} + +export default function CreateComment({ + itemId, + setFormKey +}: CreateCommentProps) { + const [formState, formAction] = useFormState(CreateCommentAction, { + itemId, + clear: false + }); + + useEffect(() => { + if (formState.clear) { + setFormKey(nanoid()); + } + }, [setFormKey, formState]); + + return ( +
+ + + + } label="Regret" /> + + +
+ ); +} diff --git a/app/components/Dashboard/ItemDialog/CreateComment/actions/CreateCommentAction.ts b/app/components/Dashboard/ItemDialog/CreateComment/actions/CreateCommentAction.ts new file mode 100644 index 0000000..6542a1c --- /dev/null +++ b/app/components/Dashboard/ItemDialog/CreateComment/actions/CreateCommentAction.ts @@ -0,0 +1,44 @@ +'use server'; + +import { CreateCommentFormSchema } from '../../../../../../data/types'; +import prisma from '../../../../../../prisma/prisma'; + +interface ItemDialogActionProps { + clear: boolean; + itemId: string; + error?: string; +} + +export async function CreateCommentAction( + { itemId }: ItemDialogActionProps, + formData: FormData +) { + const formDataObj = Object.fromEntries(formData.entries()); + + const validatedBody = CreateCommentFormSchema.safeParse(formDataObj); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + const { body, score, regret } = validatedBody.data; + + try { + await prisma.itemComment.create({ + data: { + body, + score, + regret, + Item: { + connect: { + id: itemId + } + } + } + }); + } catch (error) { + throw new Error(`Failed to create comment`); + } + + return { clear: true, itemId }; +} diff --git a/app/components/Dashboard/ItemDialog/ItemData.tsx b/app/components/Dashboard/ItemDialog/ItemData.tsx new file mode 100644 index 0000000..8c99ef0 --- /dev/null +++ b/app/components/Dashboard/ItemDialog/ItemData.tsx @@ -0,0 +1,39 @@ +import { Card, Typography } from '@mui/material'; +import { Box } from '@mui/system'; +import { Item, ItemComment } from '../../../../data/types'; + +interface ItemDataProps { + item: Item; + comments: ItemComment[]; +} + +export default function ItemData({ item, comments }: ItemDataProps) { + return ( + + Description: {item.description} + + Price: {Number(item.price).toFixed(2)} {item.currency} + + + {comments && + comments.map((comment) => ( + + Comment: {comment.body} + Score: {comment.score} + Regret: {comment.regret ? 'Yes' : 'No'} + + Created:{' '} + {comment.createdAt && + new Date(comment.createdAt).toLocaleString()} + + + ))} + + + ); +} diff --git a/app/components/Dashboard/ItemDialog/ItemDialog.tsx b/app/components/Dashboard/ItemDialog/ItemDialog.tsx new file mode 100644 index 0000000..b9f3cc6 --- /dev/null +++ b/app/components/Dashboard/ItemDialog/ItemDialog.tsx @@ -0,0 +1,53 @@ +import { Button, Dialog, DialogContent, DialogTitle } from '@mui/material'; +import { nanoid } from 'nanoid'; +import { useCallback, useEffect, useState } from 'react'; +import { Item, ItemComment } from '../../../../data/types'; +import { ItemsTableRowAction } from '../Items/ItemsTableRowAction'; +import CreateComment from './CreateComment/CreateComment'; +import ItemData from './ItemData'; + +interface ItemDialogProps { + item: Item; + open: boolean; + handleClose: () => void; +} + +export default function ItemDialog({ + item, + open, + handleClose +}: ItemDialogProps) { + const [comments, setComments] = useState([]); + const [formKey, setFormKey] = useState(() => nanoid()); + + const fetchData = useCallback(async () => { + try { + const comments = await ItemsTableRowAction(item.id); + setComments(comments); + } catch (error) { + console.error("Couldn't fetch comments."); + } + }, [item]); + + useEffect(() => { + fetchData(); + }, [fetchData, formKey]); + + return ( + + Item: {item.name} + + + + + + + ); +} diff --git a/app/components/Dashboard/Items/ItemsTable.tsx b/app/components/Dashboard/Items/ItemsTable.tsx new file mode 100644 index 0000000..b048046 --- /dev/null +++ b/app/components/Dashboard/Items/ItemsTable.tsx @@ -0,0 +1,202 @@ +import { ProfilesAction } from '@/components/Settings/Profiles/actions/ProfilesAction'; +import { ProfileContext } from '@/contexts/ProfileContext'; +import { + Box, + Button, + MenuItem, + Paper, + Select, + SelectChangeEvent, + Stack, + Table, + TableBody, + TableCell, + TableHead, + TableRow +} from '@mui/material'; +import { nanoid } from 'nanoid'; +import { useCallback, useContext, useEffect, useRef, useState } from 'react'; +import { Item, Items, Profiles } from '../../../../data/types'; +import CreateItemDialog from '../CreateItem/CreateItemDialog'; +import ItemDialog from '../ItemDialog/ItemDialog'; +import { ItemsTableAction } from './actions/ItemsTableAction'; +import ItemsTableRow from './ItemsTableRow'; + +export default function ItemsTable() { + const [items, setItems] = useState([]); + const [take, setTake] = useState(20); + const tableRef = useRef(null); + const [openCreateDialog, setOpenCreateDialog] = useState(false); + const [openItemDialog, setOpenItemDialog] = useState(false); + const [formKey, setFormKey] = useState(() => nanoid()); + const [profiles, setProfiles] = useState([]); + const { profile, setProfile } = useContext(ProfileContext); + const [currentItem, setCurrentItem] = useState(null); + + const handleUpdateProfiles = useCallback(async () => { + const updatedProfiles = await ProfilesAction(); + setProfiles(updatedProfiles); + }, []); + + useEffect(() => { + handleUpdateProfiles(); + }, [handleUpdateProfiles]); + + const handleUpdateItems = useCallback( + async (id: string) => { + try { + const updatedItems = await ItemsTableAction({ + take, + profile: id + }); + setItems(updatedItems); + } catch (error) { + console.error("Couldn't fetch items."); + } + }, + [take] + ); + + const handleFetchItems = useCallback( + (event: SelectChangeEvent) => { + handleUpdateItems(event.target.value); + setFormKey(nanoid()); + setProfile(event.target.value); + }, + [handleUpdateItems, setProfile] + ); + + useEffect(() => { + if (profile) { + handleUpdateItems(profile); + setFormKey(nanoid()); + } + }, [profile, handleUpdateItems]); + + useEffect(() => { + const handleScroll = (event: Event) => { + const target = event.target as HTMLDivElement; + const bottom = + target.scrollHeight - target.scrollTop === target.clientHeight; + if (bottom) { + setTake((prevTake) => prevTake + 20); + } + }; + + const tableElement = tableRef.current; + if (tableElement) { + tableElement.addEventListener('scroll', handleScroll); + + return () => { + tableElement.removeEventListener('scroll', handleScroll); + }; + } + }, [take]); + + const handleCreateItemDialog = () => { + setOpenCreateDialog(true); + }; + + const handleCloseCreateDialog = async (created: boolean) => { + setFormKey(nanoid()); + setOpenCreateDialog(false); + + if (created) { + const updatedItems = await ItemsTableAction({ + take, + profile + }); + + setItems(updatedItems); + } + }; + + const handleOpenItemDialog = (item: Item) => { + setCurrentItem(item); + setOpenItemDialog(true); + }; + + const handleCloseItemDialog = async () => { + setOpenItemDialog(false); + }; + + return ( + + + {profiles.length > 0 && ( + + )} + + + + + + + Name + Description + Price + Currency + Tag + Date + + + + {items && + items.map((item) => ( + + ))} + +
+
+ {currentItem && ( + + )} + +
+ ); +} diff --git a/app/components/Dashboard/Items/ItemsTableRow.tsx b/app/components/Dashboard/Items/ItemsTableRow.tsx new file mode 100644 index 0000000..d670e41 --- /dev/null +++ b/app/components/Dashboard/Items/ItemsTableRow.tsx @@ -0,0 +1,26 @@ +import { TableCell, TableRow } from '@mui/material'; +import { Item } from '../../../../data/types'; + +interface ItemsTableRowProps { + item: Item; + onClick: (item: Item) => void; +} + +export default function ItemsTableRow({ item, onClick }: ItemsTableRowProps) { + return ( + onClick(item)} + > + {item.name} + {item.description} + {Number(item.price).toFixed(2)} + {item.currency} + {item.tag} + + {item.createdAt && new Date(item.createdAt).toLocaleDateString()} + + + ); +} diff --git a/app/components/Dashboard/Items/ItemsTableRowAction.ts b/app/components/Dashboard/Items/ItemsTableRowAction.ts new file mode 100644 index 0000000..5eded2f --- /dev/null +++ b/app/components/Dashboard/Items/ItemsTableRowAction.ts @@ -0,0 +1,28 @@ +'use server'; + +import { z } from 'zod'; +import { ItemComment } from '../../../../data/types'; +import prisma from '../../../../prisma/prisma'; + +export async function ItemsTableRowAction(id: string) { + const validatedId = z.string().safeParse(id); + + if (!validatedId.success) { + throw new Error('Bad request'); + } + + try { + const itemWithComments = await prisma.item.findFirstOrThrow({ + where: { + id: validatedId.data + }, + include: { + ItemComment: true + } + }); + + return itemWithComments.ItemComment as ItemComment[]; + } catch (error) { + throw new Error('Failed to find item comments'); + } +} diff --git a/app/components/Dashboard/Items/actions/ItemsTableAction.ts b/app/components/Dashboard/Items/actions/ItemsTableAction.ts new file mode 100644 index 0000000..c44db66 --- /dev/null +++ b/app/components/Dashboard/Items/actions/ItemsTableAction.ts @@ -0,0 +1,48 @@ +'use server'; + +import { Items } from '../../../../../data/types'; +import prisma from '../../../../../prisma/prisma'; + +interface ItemsTableActionProps { + take: number; + profile: string | undefined; +} + +export async function ItemsTableAction({ + take, + profile +}: ItemsTableActionProps) { + if (!profile) { + return [] as Items; + } + + try { + const items = await prisma.item.findMany({ + where: { + profileId: profile + }, + orderBy: { + createdAt: 'desc' + }, + include: { + Tag: { + select: { + name: true + } + } + }, + take + }); + + const itemsWithTag = items.map((item) => { + return { + ...item, + tag: item?.Tag?.name + }; + }); + + return itemsWithTag as Items; + } catch (error) { + throw new Error('Failed to find items'); + } +} diff --git a/app/components/Settings/Profiles/ProfilesTable.tsx b/app/components/Settings/Profiles/ProfilesTable.tsx new file mode 100644 index 0000000..3650c47 --- /dev/null +++ b/app/components/Settings/Profiles/ProfilesTable.tsx @@ -0,0 +1,101 @@ +import { + Box, + Stack, + Table, + TableBody, + TableCell, + TableHead, + TableRow, + TextField, + Typography +} from '@mui/material'; +import { nanoid } from 'nanoid'; +import { Dispatch, useEffect, useState } from 'react'; +import { useFormState } from 'react-dom'; +import { Profiles } from '../../../../data/types'; +import { CreateProfileAction } from './actions/CreateProfileAction'; +import { ProfilesAction } from './actions/ProfilesAction'; +import ProfilesTableRow from './ProfilesTableRow'; + +interface ProfilesTableProps { + selectedProfile: string | undefined; + setSelectedProfile: Dispatch; +} + +export default function ProfilesTable({ + selectedProfile, + setSelectedProfile +}: ProfilesTableProps) { + const [profiles, setProfiles] = useState([]); + const [formKey, setFormKey] = useState(() => nanoid()); + const [refreshKey, setRefreshKey] = useState(0); + + const [formState, formAction] = useFormState(CreateProfileAction, { + clear: false + }); + + useEffect(() => { + const fetchProfiles = async () => { + try { + const profiles = await ProfilesAction(); + setProfiles(profiles); + } catch (error) { + console.error("Couldn't fetch profiles."); + } + }; + + if (formState.clear) { + setFormKey(nanoid()); + } + + fetchProfiles(); + }, [formState, refreshKey]); + + return ( + + Profiles + +
+ + + + + + + Name + Delete + + + + {profiles && + profiles.map((profile) => ( + setRefreshKey((prevKey) => prevKey + 1)} + /> + ))} + +
+
+
+
+ ); +} diff --git a/app/components/Settings/Profiles/ProfilesTableRow.tsx b/app/components/Settings/Profiles/ProfilesTableRow.tsx new file mode 100644 index 0000000..c3f2ab4 --- /dev/null +++ b/app/components/Settings/Profiles/ProfilesTableRow.tsx @@ -0,0 +1,81 @@ +import { Button, TableCell, TableRow, TextField } from '@mui/material'; +import { Dispatch, useState } from 'react'; +import { Profile } from '../../../../data/types'; +import { DeleteProfileAction } from './actions/DeleteProfileAction'; +import { UpdateProfileAction } from './actions/UpdateProfileAction'; + +interface ProfilesTableRowProps { + profile: Profile; + selected: string | undefined; + setSelected: Dispatch; + onDelete: () => void; +} + +export default function ProfilesTableRow({ + profile, + selected, + setSelected, + onDelete +}: ProfilesTableRowProps) { + const [isEditing, setIsEditing] = useState(false); + const [name, setName] = useState(profile.name); + + const handleClick = () => { + setSelected(profile.id); + }; + + const handleDoubleClick = () => { + setIsEditing(true); + }; + + const handleBlur = async () => { + setIsEditing(false); + + try { + await UpdateProfileAction({ + id: profile.id, + name + }); + } catch (error) { + console.error("Couldn't update profile."); + } + }; + + const handleChange = (event: React.ChangeEvent) => { + setName(event.target.value); + }; + + const handleDelete = async () => { + try { + await DeleteProfileAction(profile.id); + onDelete(); + } catch (error) { + console.error("Couldn't delete profile."); + } + }; + + return ( + + + {isEditing ? ( + + ) : ( + name + )} + + + + + + ); +} diff --git a/app/components/Settings/Profiles/actions/CreateProfileAction.ts b/app/components/Settings/Profiles/actions/CreateProfileAction.ts new file mode 100644 index 0000000..ba916fe --- /dev/null +++ b/app/components/Settings/Profiles/actions/CreateProfileAction.ts @@ -0,0 +1,53 @@ +'use server'; + +import { initializeUser } from '../../../../../data/initializeUser'; +import { CreateProfileFormSchema } from '../../../../../data/types'; +import prisma from '../../../../../prisma/prisma'; + +interface CreateItemActionProps { + clear: boolean; + error?: string; +} + +export async function CreateProfileAction( + _: CreateItemActionProps, + formData: FormData +) { + const formDataObj = Object.fromEntries(formData.entries()); + + const validatedBody = CreateProfileFormSchema.safeParse(formDataObj); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + const user = await initializeUser(); + + try { + const existingProfile = await prisma.profile.findFirst({ + where: { + userId: user.id, + name: validatedBody.data.name + } + }); + + if (existingProfile) { + return { clear: false }; + } + } catch (error) { + throw new Error(`Failed to find profile`); + } + + try { + await prisma.profile.create({ + data: { + userId: user.id, + name: validatedBody.data.name + } + }); + + return { clear: true }; + } catch (error) { + throw new Error(`Failed to create profile`); + } +} diff --git a/app/components/Settings/Profiles/actions/DeleteProfileAction.ts b/app/components/Settings/Profiles/actions/DeleteProfileAction.ts new file mode 100644 index 0000000..1384cc1 --- /dev/null +++ b/app/components/Settings/Profiles/actions/DeleteProfileAction.ts @@ -0,0 +1,22 @@ +'use server'; + +import { z } from 'zod'; +import prisma from '../../../../../prisma/prisma'; + +export async function DeleteProfileAction(id: string) { + const validatedBody = z.string().safeParse(id); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + try { + await prisma.profile.delete({ + where: { + id + } + }); + } catch (error) { + throw new Error(`Failed to delete profile`); + } +} diff --git a/app/components/Settings/Profiles/actions/ProfilesAction.ts b/app/components/Settings/Profiles/actions/ProfilesAction.ts new file mode 100644 index 0000000..59ed7ea --- /dev/null +++ b/app/components/Settings/Profiles/actions/ProfilesAction.ts @@ -0,0 +1,23 @@ +'use server'; + +import { initializeUser } from '../../../../../data/initializeUser'; +import prisma from '../../../../../prisma/prisma'; + +export async function ProfilesAction() { + const user = await initializeUser(); + + try { + const profiles = await prisma.profile.findMany({ + where: { + userId: user.id + }, + orderBy: { + createdAt: 'desc' + } + }); + + return profiles; + } catch (error) { + throw new Error('Failed to find profiles'); + } +} diff --git a/app/components/Settings/Profiles/actions/UpdateProfileAction.ts b/app/components/Settings/Profiles/actions/UpdateProfileAction.ts new file mode 100644 index 0000000..12f902e --- /dev/null +++ b/app/components/Settings/Profiles/actions/UpdateProfileAction.ts @@ -0,0 +1,31 @@ +'use server'; + +import { z } from 'zod'; +import prisma from '../../../../../prisma/prisma'; + +interface ProfileActionProps { + id: string; + name: string; + error?: string; +} + +export async function UpdateProfileAction({ id, name }: ProfileActionProps) { + const validatedBody = z.string().safeParse(name); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + try { + await prisma.profile.update({ + where: { + id + }, + data: { + name: validatedBody.data + } + }); + } catch (error) { + throw new Error(`Failed to update profile`); + } +} diff --git a/app/components/Settings/Settings.tsx b/app/components/Settings/Settings.tsx new file mode 100644 index 0000000..ac9da63 --- /dev/null +++ b/app/components/Settings/Settings.tsx @@ -0,0 +1,33 @@ +import { ProfileContext } from '@/contexts/ProfileContext'; +import { Card, Paper, Stack } from '@mui/material'; +import { nanoid } from 'nanoid'; +import { useContext, useEffect, useState } from 'react'; +import ProfilesTable from './Profiles/ProfilesTable'; +import TagsTable from './Tags/TagsTable'; + +export default function Settings() { + const { profile, setProfile } = useContext(ProfileContext); + const [formKey, setFormKey] = useState(() => nanoid()); + + useEffect(() => { + if (profile) { + setFormKey(nanoid()); + } + }, [profile]); + + return ( + + + + + + + + + + + ); +} diff --git a/app/components/Settings/Tags/TagsTable.tsx b/app/components/Settings/Tags/TagsTable.tsx new file mode 100644 index 0000000..f728aed --- /dev/null +++ b/app/components/Settings/Tags/TagsTable.tsx @@ -0,0 +1,103 @@ +import { + Box, + Stack, + Table, + TableBody, + TableCell, + TableHead, + TableRow, + TextField, + Typography +} from '@mui/material'; +import { nanoid } from 'nanoid'; +import { useEffect, useState } from 'react'; +import { useFormState } from 'react-dom'; +import { Tags } from '../../../../data/types'; +import { CreateTagAction } from './actions/CreateTagAction'; +import { TagsAction } from './actions/TagsAction'; +import TagsTableRow from './TagsTableRow'; + +interface TagsTableProps { + selectedProfile: string | undefined; +} + +export default function TagsTable({ selectedProfile }: TagsTableProps) { + const [tags, setTags] = useState([]); + const [formKey, setFormKey] = useState(() => nanoid()); + const [refreshKey, setRefreshKey] = useState(0); + + const [formState, formAction] = useFormState(CreateTagAction, { + clear: false, + profileId: selectedProfile + }); + + useEffect(() => { + const fetchTags = async () => { + if (selectedProfile) { + try { + const tags = await TagsAction({ selectedProfile }); + setTags(tags); + } catch (error) { + console.error("Couldn't fetch tags."); + } + } + }; + + if (formState.clear) { + setFormKey(nanoid()); + } + + fetchTags(); + }, [formState, selectedProfile, refreshKey]); + + return ( + + Tags + +
+ + + + + + + Name + Delete + + + + {tags && + tags.map((tag) => ( + setRefreshKey((prevKey) => prevKey + 1)} + /> + ))} + +
+
+
+
+ ); +} diff --git a/app/components/Settings/Tags/TagsTableRow.tsx b/app/components/Settings/Tags/TagsTableRow.tsx new file mode 100644 index 0000000..7d67cdc --- /dev/null +++ b/app/components/Settings/Tags/TagsTableRow.tsx @@ -0,0 +1,65 @@ +import { Button, TableCell, TableRow, TextField } from '@mui/material'; +import { useState } from 'react'; +import { Tag } from '../../../../data/types'; +import { DeleteTagAction } from './actions/DeleteTagAction'; +import { UpdateTagAction } from './actions/UpdateTagAction'; + +interface TagsTableRowProps { + tag: Tag; + onDelete: () => void; +} + +export default function TagsTableRow({ tag, onDelete }: TagsTableRowProps) { + const [isEditing, setIsEditing] = useState(false); + const [name, setName] = useState(tag.name); + + const handleDoubleClick = () => { + setIsEditing(true); + }; + + const handleBlur = async () => { + setIsEditing(false); + + try { + await UpdateTagAction({ + id: tag.id, + name + }); + } catch (error) { + console.error("Couldn't update tag."); + } + }; + + const handleChange = (event: React.ChangeEvent) => { + setName(event.target.value); + }; + + const handleDelete = async () => { + try { + await DeleteTagAction(tag.id); + onDelete(); + } catch (error) { + console.error("Couldn't delete tag."); + } + }; + + return ( + + + {isEditing ? ( + + ) : ( + name + )} + + + + + + ); +} diff --git a/app/components/Settings/Tags/actions/CreateTagAction.ts b/app/components/Settings/Tags/actions/CreateTagAction.ts new file mode 100644 index 0000000..0b71e30 --- /dev/null +++ b/app/components/Settings/Tags/actions/CreateTagAction.ts @@ -0,0 +1,53 @@ +'use server'; + +import { CreateProfileFormSchema } from '../../../../../data/types'; +import prisma from '../../../../../prisma/prisma'; + +interface CreateItemActionProps { + clear: boolean; + profileId: string | undefined; + error?: string; +} + +export async function CreateTagAction( + { profileId }: CreateItemActionProps, + formData: FormData +) { + const formDataObj = Object.fromEntries(formData.entries()); + + const validatedBody = CreateProfileFormSchema.safeParse(formDataObj); + + if (!validatedBody.success || !profileId) { + throw new Error('Bad request'); + } + + const { name } = validatedBody.data; + + try { + const existingTag = await prisma.tag.findFirst({ + where: { + profileId, + name + } + }); + + if (existingTag) { + return { clear: false, profileId }; + } + } catch (error) { + throw new Error(`Failed to find tag`); + } + + try { + await prisma.tag.create({ + data: { + profileId, + name + } + }); + + return { clear: true, profileId }; + } catch (error) { + throw new Error(`Failed to create tag`); + } +} diff --git a/app/components/Settings/Tags/actions/DeleteTagAction.ts b/app/components/Settings/Tags/actions/DeleteTagAction.ts new file mode 100644 index 0000000..778e10b --- /dev/null +++ b/app/components/Settings/Tags/actions/DeleteTagAction.ts @@ -0,0 +1,22 @@ +'use server'; + +import { z } from 'zod'; +import prisma from '../../../../../prisma/prisma'; + +export async function DeleteTagAction(id: string) { + const validatedBody = z.string().safeParse(id); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + try { + await prisma.tag.delete({ + where: { + id + } + }); + } catch (error) { + throw new Error(`Failed to delete tag`); + } +} diff --git a/app/components/Settings/Tags/actions/TagsAction.ts b/app/components/Settings/Tags/actions/TagsAction.ts new file mode 100644 index 0000000..2436454 --- /dev/null +++ b/app/components/Settings/Tags/actions/TagsAction.ts @@ -0,0 +1,40 @@ +'use server'; + +import { z } from 'zod'; +import { initializeUser } from '../../../../../data/initializeUser'; +import { Profiles } from '../../../../../data/types'; +import prisma from '../../../../../prisma/prisma'; + +interface TagsActionProps { + selectedProfile: string | undefined; +} + +export async function TagsAction({ selectedProfile }: TagsActionProps) { + const validatedBody = z.string().safeParse(selectedProfile); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + const user = await initializeUser(); + + try { + const profiles = await prisma.tag.findMany({ + where: { + Profile: { + User: { + id: user.id + }, + id: selectedProfile + } + }, + orderBy: { + createdAt: 'desc' + } + }); + + return profiles as Profiles; + } catch (error) { + throw new Error('Failed to find tags'); + } +} diff --git a/app/components/Settings/Tags/actions/UpdateTagAction.ts b/app/components/Settings/Tags/actions/UpdateTagAction.ts new file mode 100644 index 0000000..71d6857 --- /dev/null +++ b/app/components/Settings/Tags/actions/UpdateTagAction.ts @@ -0,0 +1,31 @@ +'use server'; + +import { z } from 'zod'; +import prisma from '../../../../../prisma/prisma'; + +interface TagActionProps { + id: string; + name: string; + error?: string; +} + +export async function UpdateTagAction({ id, name }: TagActionProps) { + const validatedBody = z.string().safeParse(name); + + if (!validatedBody.success) { + throw new Error('Bad request'); + } + + try { + await prisma.tag.update({ + where: { + id + }, + data: { + name: validatedBody.data + } + }); + } catch (error) { + throw new Error(`Failed to update tag`); + } +} diff --git a/app/components/UI/CreateButton.tsx b/app/components/UI/CreateButton.tsx new file mode 100644 index 0000000..e811641 --- /dev/null +++ b/app/components/UI/CreateButton.tsx @@ -0,0 +1,14 @@ +'use client'; + +import { Button } from '@mui/material'; +import { useFormStatus } from 'react-dom'; + +export const CreateButton = () => { + const { pending } = useFormStatus(); + + return ( + + ); +}; diff --git a/app/favicon.ico b/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1290c7ed7bc0dd9c91e8f9ac8a0cf8bde9d0da23 GIT binary patch literal 124861 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 ^u_y;hDH4Ecqh|9Psiq?P5^ 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 literal 0 HcmV?d00001 diff --git a/app/globals.css b/app/globals.css new file mode 100644 index 0000000..875c01e --- /dev/null +++ b/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..4645f99 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from 'next'; +import { Inter } from 'next/font/google'; +import './globals.css'; + +const inter = Inter({ subsets: ['latin'] }); + +export const metadata: Metadata = { + title: 'Budget app', + description: 'Track your expenses' +}; + +export default function RootLayout({ + children +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..f0be2b5 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,72 @@ +'use client'; + +import { TabContext, TabList, TabPanel } from '@mui/lab'; +import { Paper, Tab } from '@mui/material'; +import { Suspense, useState } from 'react'; +import { ProfileContextProvider } from '../contexts/ProfileContextProvider'; +import Dashboard from './components/Dashboard/Dashboard'; +import Settings from './components/Settings/Settings'; + +function Analytics() { + return ( + + Analytics + + ); +} + +enum TabValue { + DASHBOARD = 'DASHBOARD', + ANALYTICS = 'ANALYTICS', + SETTINGS = 'SETTINGS' +} + +const tabPanelStyle = { margin: 0, padding: 0 }; + +export default function Home() { + const [value, setValue] = useState(TabValue.DASHBOARD); + + const handleChange = (_: React.SyntheticEvent, newValue: TabValue) => { + setValue(newValue); + }; + + const tabStyle = { + color: (tabValue: TabValue) => + value === tabValue ? { color: "'primary.main'" } : { color: 'inherit' } + }; + + return ( + Loading...}> + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/commitlint.config.ts b/commitlint.config.ts new file mode 100644 index 0000000..422b194 --- /dev/null +++ b/commitlint.config.ts @@ -0,0 +1 @@ +module.exports = { extends: ['@commitlint/config-conventional'] }; diff --git a/contexts/ProfileContext.ts b/contexts/ProfileContext.ts new file mode 100644 index 0000000..40661d5 --- /dev/null +++ b/contexts/ProfileContext.ts @@ -0,0 +1,11 @@ +import { createContext } from 'react'; + +interface ProfileContextProps { + profile: string | undefined; + setProfile: (profile: string | undefined) => void; +} + +export const ProfileContext = createContext({ + profile: undefined, + setProfile: () => {} +}); diff --git a/contexts/ProfileContextProvider.tsx b/contexts/ProfileContextProvider.tsx new file mode 100644 index 0000000..d8b8b33 --- /dev/null +++ b/contexts/ProfileContextProvider.tsx @@ -0,0 +1,16 @@ +import { useState } from 'react'; +import { ProfileContext } from './ProfileContext'; + +export function ProfileContextProvider({ + children +}: { + children: React.ReactNode; +}) { + const [profile, setProfile] = useState(undefined); + + return ( + + {children} + + ); +} diff --git a/data/initializeUser.ts b/data/initializeUser.ts new file mode 100644 index 0000000..8656981 --- /dev/null +++ b/data/initializeUser.ts @@ -0,0 +1,20 @@ +import prisma from '../prisma/prisma'; + +export async function initializeUser() { + return await prisma.user.upsert({ + where: { + email: process.env.EMAIL! + }, + update: {}, + create: { + email: process.env.EMAIL!, + password: process.env.EMAIL!, + name: process.env.EMAIL!, + Profiles: { + create: { + name: 'Default profile' + } + } + } + }); +} diff --git a/data/types.ts b/data/types.ts new file mode 100644 index 0000000..9f11adf --- /dev/null +++ b/data/types.ts @@ -0,0 +1,95 @@ +import { z } from 'zod'; +import { zfd } from 'zod-form-data'; + +const currency = ['DKK', 'EUR', 'SGD', 'USD'] as const; + +export const IdSchema = z.object({ + params: z.object({ + id: z.string() + }) +}); + +export const CreateItemFormSchema = zfd.formData({ + name: z.string(), + description: z.string().optional(), + price: zfd.numeric(z.number()), + currency: z.enum(currency), + tag: z.string().optional(), + body: z.string().optional(), + score: zfd.numeric(z.number().min(0).max(10).optional()), + regret: z + .union([z.literal('on'), z.literal('off')]) + .transform((value) => value === 'on') + .optional() +}); + +export const ItemSchema = z.object({ + id: z.string(), + name: z.string(), + description: z.string().optional(), + price: z.number(), + currency: z.enum(currency), + tag: z.string().optional(), + createdAt: z.date().optional() +}); + +export type Item = z.infer; + +export const ItemsSchema = z.array(ItemSchema); + +export type Items = z.infer; + +export const CreateCommentFormSchema = zfd.formData({ + body: z.string(), + score: zfd.numeric(z.number().min(0).max(10).optional()), + regret: z + .union([z.literal('on'), z.literal('off')]) + .transform((value) => value === 'on') + .optional() +}); + +export const ItemCommentSchema = z.object({ + id: z.string(), + body: z.string(), + score: z.number(), + regret: z.boolean(), + createdAt: z.date().optional() +}); + +export type ItemComment = z.infer; + +export const ItemCommentsSchema = z.array(ItemCommentSchema); + +export type ItemComments = z.infer; + +export const CreateProfileFormSchema = z.object({ + name: z.string() +}); + +export const ProfileSchema = z.object({ + id: z.string(), + name: z.string(), + createdAt: z.date().optional() +}); + +export type Profile = z.infer; + +export const ProfilesSchema = z.array(ProfileSchema); + +export type Profiles = z.infer; + +export const CreateTagFormSchema = z.object({ + name: z.string() +}); + +export const TagSchema = z.object({ + id: z.string(), + name: z.string(), + createdAt: z.date().optional() +}); + +export type Tag = z.infer; + +export const TagsSchema = z.array(TagSchema); + +export type Tags = z.infer; diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e6e56de --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,32 @@ +version: '3.8' + +services: + # app: + # build: + # context: ./ + # dockerfile: Dockerfile + # image: app + # container_name: backend + # restart: unless-stopped + # ports: + # - '3000:3000' + # environment: + # - PORT=3000 + # - DATABASE_URL=postgresql://postgres:postgres@postgres:5432/postgres + # depends_on: + # - postgres + postgres: + image: postgres:latest + container_name: postgres + restart: unless-stopped + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + ports: + - '5432:5432' + volumes: + - pgdata:/var/lib/postgresql/data + +volumes: + pgdata: diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..79404e3 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,10 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + serverActions: { + allowedOrigins: ['localhost'] + } + } +}; + +export default nextConfig; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b49d83c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8023 @@ +{ + "name": "budgetapp", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "budgetapp", + "version": "0.1.0", + "dependencies": { + "@emotion/react": "^11.11.3", + "@emotion/styled": "^11.11.0", + "@mui/material": "^5.15.6", + "@prisma/client": "5.8.1", + "@vercel/analytics": "^1.1.2", + "nanoid": "^5.0.4", + "next": "^14.2.3", + "react": "^18", + "react-dom": "^18", + "zod": "^3.22.4", + "zod-form-data": "^2.0.2" + }, + "devDependencies": { + "@commitlint/cli": "^18.5.0", + "@commitlint/config-conventional": "^18.5.0", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.0", + "eslint-config-prettier": "^9.1.0", + "husky": "^8.0.3", + "lint-staged": "^15.2.0", + "postcss": "^8", + "prettier": "3.2.4", + "prettier-plugin-tailwindcss": "^0.5.11", + "prisma": "5.8.1", + "tailwindcss": "^3.3.0", + "typescript": "^5" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", + "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", + "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.5", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", + "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.1", + "@babel/helper-validator-identifier": "^7.24.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commitlint/cli": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.1.tgz", + "integrity": "sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw==", + "dev": true, + "dependencies": { + "@commitlint/format": "^18.6.1", + "@commitlint/lint": "^18.6.1", + "@commitlint/load": "^18.6.1", + "@commitlint/read": "^18.6.1", + "@commitlint/types": "^18.6.1", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/cli/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz", + "integrity": "sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.1.tgz", + "integrity": "sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator/node_modules/ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@commitlint/config-validator/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@commitlint/ensure": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.1.tgz", + "integrity": "sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz", + "integrity": "sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.6.1.tgz", + "integrity": "sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz", + "integrity": "sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "semver": "7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/lint": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.1.tgz", + "integrity": "sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ==", + "dev": true, + "dependencies": { + "@commitlint/is-ignored": "^18.6.1", + "@commitlint/parse": "^18.6.1", + "@commitlint/rules": "^18.6.1", + "@commitlint/types": "^18.6.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.6.1.tgz", + "integrity": "sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^18.6.1", + "@commitlint/execute-rule": "^18.6.1", + "@commitlint/resolve-extends": "^18.6.1", + "@commitlint/types": "^18.6.1", + "chalk": "^4.1.0", + "cosmiconfig": "^8.3.6", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/message": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.6.1.tgz", + "integrity": "sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.1.tgz", + "integrity": "sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ==", + "dev": true, + "dependencies": { + "@commitlint/types": "^18.6.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.6.1.tgz", + "integrity": "sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w==", + "dev": true, + "dependencies": { + "@commitlint/top-level": "^18.6.1", + "@commitlint/types": "^18.6.1", + "git-raw-commits": "^2.0.11", + "minimist": "^1.2.6" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz", + "integrity": "sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==", + "dev": true, + "dependencies": { + "@commitlint/config-validator": "^18.6.1", + "@commitlint/types": "^18.6.1", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@commitlint/rules": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.1.tgz", + "integrity": "sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew==", + "dev": true, + "dependencies": { + "@commitlint/ensure": "^18.6.1", + "@commitlint/message": "^18.6.1", + "@commitlint/to-lines": "^18.6.1", + "@commitlint/types": "^18.6.1", + "execa": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.6.1.tgz", + "integrity": "sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q==", + "dev": true, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.6.1.tgz", + "integrity": "sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.6.1.tgz", + "integrity": "sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", + "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz", + "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz", + "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.2", + "@emotion/serialize": "^1.1.4", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", + "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", + "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mui/base": { + "version": "5.0.0-beta.40", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", + "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@floating-ui/react-dom": "^2.0.8", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "@popperjs/core": "^2.11.8", + "clsx": "^2.1.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.15.18", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.18.tgz", + "integrity": "sha512-/9pVk+Al8qxAjwFUADv4BRZgMpZM4m5E+2Q/20qhVPuIJWqKp4Ie4tGExac6zu93rgPTYVQGgu+1vjiT0E+cEw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + } + }, + "node_modules/@mui/material": { + "version": "5.15.18", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.18.tgz", + "integrity": "sha512-n+/dsiqux74fFfcRUJjok+ieNQ7+BEk6/OwX9cLcLvriZrZb+/7Y8+Fd2HlUUbn5N0CDurgAHm0VH1DqyJ9HAw==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/base": "5.0.0-beta.40", + "@mui/core-downloads-tracker": "^5.15.18", + "@mui/system": "^5.15.15", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "@types/react-transition-group": "^4.4.10", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@mui/private-theming": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz", + "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/utils": "^5.15.14", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz", + "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.15.15", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz", + "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@mui/private-theming": "^5.15.14", + "@mui/styled-engine": "^5.15.14", + "@mui/types": "^7.2.14", + "@mui/utils": "^5.15.14", + "clsx": "^2.1.0", + "csstype": "^3.1.3", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.14", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz", + "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==", + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.15.14", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz", + "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@types/prop-types": "^15.7.11", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@next/env": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", + "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz", + "integrity": "sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==", + "dev": true, + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", + "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", + "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", + "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", + "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", + "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", + "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", + "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", + "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", + "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@prisma/client": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.8.1.tgz", + "integrity": "sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw==", + "hasInstallScript": true, + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/debug": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.8.1.tgz", + "integrity": "sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg==", + "devOptional": true + }, + "node_modules/@prisma/engines": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.8.1.tgz", + "integrity": "sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@prisma/debug": "5.8.1", + "@prisma/engines-version": "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2", + "@prisma/fetch-engine": "5.8.1", + "@prisma/get-platform": "5.8.1" + } + }, + "node_modules/@prisma/engines-version": { + "version": "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2.tgz", + "integrity": "sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ==", + "devOptional": true + }, + "node_modules/@prisma/fetch-engine": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.8.1.tgz", + "integrity": "sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw==", + "devOptional": true, + "dependencies": { + "@prisma/debug": "5.8.1", + "@prisma/engines-version": "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2", + "@prisma/get-platform": "5.8.1" + } + }, + "node_modules/@prisma/get-platform": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.8.1.tgz", + "integrity": "sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag==", + "devOptional": true, + "dependencies": { + "@prisma/debug": "5.8.1" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz", + "integrity": "sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==", + "dev": true + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", + "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + }, + "node_modules/@types/react": { + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz", + "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", + "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", + "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", + "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", + "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", + "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.19.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vercel/analytics": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.2.2.tgz", + "integrity": "sha512-X0rctVWkQV1e5Y300ehVNqpOfSOufo7ieA5PIdna8yX/U7Vjz0GFsGf4qvAhxV02uQ2CVt7GYcrFfddXXK2Y4A==", + "dependencies": { + "server-only": "^0.0.1" + }, + "peerDependencies": { + "next": ">= 13", + "react": "^18 || ^19" + }, + "peerDependenciesMeta": { + "next": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-macros/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001579", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz", + "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "dev": true, + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "dev": true, + "dependencies": { + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "dev": true, + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.642", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.642.tgz", + "integrity": "sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.0.tgz", + "integrity": "sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "14.1.0", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "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.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "dev": true, + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-raw-commits/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-raw-commits/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "dev": true, + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lint-staged": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", + "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", + "dev": true, + "dependencies": { + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", + "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.3.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true + }, + "node_modules/log-update": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "dev": true, + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true, + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.7.tgz", + "integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/next": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", + "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "dependencies": { + "@next/env": "14.2.3", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "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" + }, + "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 + } + } + }, + "node_modules/next/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", + "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", + "dev": true, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@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 + } + } + }, + "node_modules/prisma": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.8.1.tgz", + "integrity": "sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "@prisma/engines": "5.8.1" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/server-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==" + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "dev": true + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "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.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-form-data": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/zod-form-data/-/zod-form-data-2.0.2.tgz", + "integrity": "sha512-sKTi+k0fvkxdakD0V5rq+9WVJA3cuTQUfEmNqvHrTzPLvjfLmkkBLfR0ed3qOi9MScJXTHIDH/jUNnEJ3CBX4g==", + "peerDependencies": { + "zod": ">= 3.11.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..defc972 --- /dev/null +++ b/package.json @@ -0,0 +1,61 @@ +{ + "name": "budgetapp", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "prisma generate && next build", + "start": "next start", + "lint": "next lint", + "format": "prettier --config .prettierrc 'app/' --write", + "audit": "npm audit", + "typecheck": "tsc --noEmit", + "prepare": "husky install", + "migrate": "npx prisma migrate dev", + "push": "npx prisma db push", + "generate": "npx prisma generate", + "reset": "npx prisma db push --force-reset" + }, + "dependencies": { + "@emotion/react": "^11.11.3", + "@emotion/styled": "^11.11.0", + "@mui/lab": "^5.0.0-alpha.170", + "@mui/material": "^5.15.6", + "@prisma/client": "5.8.1", + "@vercel/analytics": "^1.1.2", + "nanoid": "^5.0.4", + "next": "^14.2.3", + "react": "^18", + "react-dom": "^18", + "zod": "^3.22.4", + "zod-form-data": "^2.0.2" + }, + "devDependencies": { + "@commitlint/cli": "^18.5.0", + "@commitlint/config-conventional": "^18.5.0", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "autoprefixer": "^10.0.1", + "eslint": "^8", + "eslint-config-next": "14.1.0", + "eslint-config-prettier": "^9.1.0", + "husky": "^8.0.3", + "lint-staged": "^15.2.0", + "postcss": "^8", + "prettier": "3.2.4", + "prettier-plugin-tailwindcss": "^0.5.11", + "prisma": "5.8.1", + "tailwindcss": "^3.3.0", + "typescript": "^5" + }, + "lint-staged": { + "*.ts": [ + "eslint --quiet --fix" + ], + "*.{json,ts}": [ + "prettier --write --ignore-unknown" + ] + } +} 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/prisma/migrations/20240123185308_add_initial_tables/migration.sql b/prisma/migrations/20240123185308_add_initial_tables/migration.sql new file mode 100644 index 0000000..df4987d --- /dev/null +++ b/prisma/migrations/20240123185308_add_initial_tables/migration.sql @@ -0,0 +1,101 @@ +-- CreateEnum +CREATE TYPE "Currency" AS ENUM ('EUR', 'DKK', 'SGD', 'USD'); + +-- CreateTable +CREATE TABLE "User" ( + "id" TEXT NOT NULL, + "email" TEXT NOT NULL, + "name" TEXT, + "password" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "User_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Profile" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "userId" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Profile_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Item" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "price" DOUBLE PRECISION NOT NULL, + "currency" "Currency" NOT NULL, + "deleted" BOOLEAN NOT NULL DEFAULT false, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "profileId" TEXT NOT NULL, + "tagId" TEXT, + + CONSTRAINT "Item_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ItemComment" ( + "id" TEXT NOT NULL, + "body" TEXT NOT NULL, + "score" INTEGER NOT NULL, + "regret" BOOLEAN NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "itemId" TEXT NOT NULL, + + CONSTRAINT "ItemComment_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Tag" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Tag_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "User_id_key" ON "User"("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); + +-- CreateIndex +CREATE UNIQUE INDEX "Profile_id_key" ON "Profile"("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "Profile_userId_key" ON "Profile"("userId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Item_id_key" ON "Item"("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "ItemComment_id_key" ON "ItemComment"("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "Tag_id_key" ON "Tag"("id"); + +-- CreateIndex +CREATE UNIQUE INDEX "Tag_name_key" ON "Tag"("name"); + +-- AddForeignKey +ALTER TABLE "Profile" ADD CONSTRAINT "Profile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Item" ADD CONSTRAINT "Item_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Item" ADD CONSTRAINT "Item_tagId_fkey" FOREIGN KEY ("tagId") REFERENCES "Tag"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ItemComment" ADD CONSTRAINT "ItemComment_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20240123202859_added_exchange_rates_table_and_fields/migration.sql b/prisma/migrations/20240123202859_added_exchange_rates_table_and_fields/migration.sql new file mode 100644 index 0000000..94888a3 --- /dev/null +++ b/prisma/migrations/20240123202859_added_exchange_rates_table_and_fields/migration.sql @@ -0,0 +1,15 @@ +-- AlterTable +ALTER TABLE "Item" ADD COLUMN "priceEuro" DOUBLE PRECISION; + +-- CreateTable +CREATE TABLE "CurrencyRate" ( + "id" TEXT NOT NULL, + "currency" "Currency" NOT NULL, + "rate" DOUBLE PRECISION NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "CurrencyRate_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "CurrencyRate_id_key" ON "CurrencyRate"("id"); diff --git a/prisma/migrations/20240124161110_change_item_and_comment_tables/migration.sql b/prisma/migrations/20240124161110_change_item_and_comment_tables/migration.sql new file mode 100644 index 0000000..f5709f5 --- /dev/null +++ b/prisma/migrations/20240124161110_change_item_and_comment_tables/migration.sql @@ -0,0 +1,15 @@ +/* + Warnings: + + - You are about to drop the column `updatedAt` on the `Item` table. All the data in the column will be lost. + - You are about to drop the column `updatedAt` on the `ItemComment` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Item" DROP COLUMN "updatedAt"; + +-- AlterTable +ALTER TABLE "ItemComment" DROP COLUMN "updatedAt", +ALTER COLUMN "body" DROP NOT NULL, +ALTER COLUMN "score" DROP NOT NULL, +ALTER COLUMN "regret" SET DEFAULT false; diff --git a/prisma/migrations/20240127091602_connect_tag_to_profile/migration.sql b/prisma/migrations/20240127091602_connect_tag_to_profile/migration.sql new file mode 100644 index 0000000..0162be3 --- /dev/null +++ b/prisma/migrations/20240127091602_connect_tag_to_profile/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - Added the required column `profileId` to the `Tag` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "Tag" ADD COLUMN "profileId" TEXT NOT NULL; + +-- AddForeignKey +ALTER TABLE "Tag" ADD CONSTRAINT "Tag_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20240127100044_remove_constraint_to_profile_user_id/migration.sql b/prisma/migrations/20240127100044_remove_constraint_to_profile_user_id/migration.sql new file mode 100644 index 0000000..4c0d949 --- /dev/null +++ b/prisma/migrations/20240127100044_remove_constraint_to_profile_user_id/migration.sql @@ -0,0 +1,2 @@ +-- DropIndex +DROP INDEX "Profile_userId_key"; diff --git a/prisma/migrations/20240127113811_make_profile_names_unique/migration.sql b/prisma/migrations/20240127113811_make_profile_names_unique/migration.sql new file mode 100644 index 0000000..c90479e --- /dev/null +++ b/prisma/migrations/20240127113811_make_profile_names_unique/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - A unique constraint covering the columns `[name]` on the table `Profile` will be added. If there are existing duplicate values, this will fail. + +*/ +-- CreateIndex +CREATE UNIQUE INDEX "Profile_name_key" ON "Profile"("name"); diff --git a/prisma/migrations/20240127121159_add_cascade_deletion/migration.sql b/prisma/migrations/20240127121159_add_cascade_deletion/migration.sql new file mode 100644 index 0000000..c99b0f3 --- /dev/null +++ b/prisma/migrations/20240127121159_add_cascade_deletion/migration.sql @@ -0,0 +1,23 @@ +-- DropForeignKey +ALTER TABLE "Item" DROP CONSTRAINT "Item_profileId_fkey"; + +-- DropForeignKey +ALTER TABLE "ItemComment" DROP CONSTRAINT "ItemComment_itemId_fkey"; + +-- DropForeignKey +ALTER TABLE "Profile" DROP CONSTRAINT "Profile_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "Tag" DROP CONSTRAINT "Tag_profileId_fkey"; + +-- AddForeignKey +ALTER TABLE "Profile" ADD CONSTRAINT "Profile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Item" ADD CONSTRAINT "Item_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ItemComment" ADD CONSTRAINT "ItemComment_itemId_fkey" FOREIGN KEY ("itemId") REFERENCES "Item"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Tag" ADD CONSTRAINT "Tag_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file diff --git a/prisma/prisma.ts b/prisma/prisma.ts new file mode 100644 index 0000000..bb75fe7 --- /dev/null +++ b/prisma/prisma.ts @@ -0,0 +1,9 @@ +import { PrismaClient } from '@prisma/client'; + +const globalForPrisma = global as unknown as { prisma: PrismaClient }; + +export const prisma = globalForPrisma.prisma || new PrismaClient(); + +if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma; + +export default prisma; diff --git a/prisma/schema.prisma b/prisma/schema.prisma new file mode 100644 index 0000000..d91d334 --- /dev/null +++ b/prisma/schema.prisma @@ -0,0 +1,80 @@ +generator client { + provider = "prisma-client-js" +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") +} + +enum Currency { + EUR + DKK + SGD + USD +} + +model User { + id String @id @unique @default(uuid()) + email String @unique + name String? + password String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Profiles Profile[] +} + +model Profile { + id String @id @unique @default(uuid()) + name String @unique + description String? + User User @relation(fields: [userId], references: [id], onDelete: Cascade) + userId String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Items Item[] + Tag Tag[] +} + +model Item { + id String @id @unique @default(uuid()) + name String + description String? + price Float + currency Currency + priceEuro Float? + deleted Boolean @default(false) + createdAt DateTime @default(now()) + Profile Profile @relation(fields: [profileId], references: [id], onDelete: Cascade) + profileId String + ItemComment ItemComment[] + Tag Tag? @relation(fields: [tagId], references: [id]) + tagId String? +} + +model ItemComment { + id String @id @unique @default(uuid()) + body String? + score Int? + regret Boolean @default(false) + createdAt DateTime @default(now()) + Item Item @relation(fields: [itemId], references: [id], onDelete: Cascade) + itemId String +} + +model Tag { + id String @id @unique @default(uuid()) + name String @unique + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + Profile Profile @relation(fields: [profileId], references: [id], onDelete: Cascade) + profileId String + Items Item[] +} + +model CurrencyRate { + id String @id @unique @default(uuid()) + currency Currency + rate Float + createdAt DateTime @default(now()) +} diff --git a/public/next.svg b/public/next.svg new file mode 100644 index 0000000..5174b28 --- /dev/null +++ b/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tailwind.config.ts b/tailwind.config.ts new file mode 100644 index 0000000..7e4bd91 --- /dev/null +++ b/tailwind.config.ts @@ -0,0 +1,20 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", + "gradient-conic": + "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", + }, + }, + }, + plugins: [], +}; +export default config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..280c02b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "ES5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./app/*"], + "@/contexts/*": ["./contexts/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules", ".next", ".vercel"] +} diff --git a/utils/ApiResponse.ts b/utils/ApiResponse.ts new file mode 100644 index 0000000..f1893e0 --- /dev/null +++ b/utils/ApiResponse.ts @@ -0,0 +1,8 @@ +import { NextResponse } from 'next/server'; + +export function ApiResponse(status: number, message: string) { + const response = new NextResponse(message, { status }); + response.headers.set('Access-Control-Allow-Origin', process.env.HOME_URL!); + + return response; +} diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..b2ec377 --- /dev/null +++ b/vercel.json @@ -0,0 +1,34 @@ +{ + "crons": [], + "headers": [ + { + "source": "/api/(.*)", + "headers": [ + { + "key": "Access-Control-Allow-Methods", + "value": "GET, POST, OPTIONS" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Content-Type, Accept" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=63072000; includeSubDomains; preload" + }, + { + "key": "Content-Security-Policy", + "value": "default-src 'none'" + }, + { + "key": "X-Content-Type-Options", + "value": "nosniff" + }, + { + "key": "X-Frame-Options", + "value": "DENY" + } + ] + } + ] +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..63ff8ce --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6392 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0": + version: 7.24.2 + resolution: "@babel/code-frame@npm:7.24.2" + dependencies: + "@babel/highlight": "npm:^7.24.2" + picocolors: "npm:^1.0.0" + checksum: d1d4cba89475ab6aab7a88242e1fd73b15ecb9f30c109b69752956434d10a26a52cbd37727c4eca104b6d45227bd1dfce39a6a6f4a14c9b2f07f871e968cf406 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.16.7": + version: 7.24.3 + resolution: "@babel/helper-module-imports@npm:7.24.3" + dependencies: + "@babel/types": "npm:^7.24.0" + checksum: 052c188adcd100f5e8b6ff0c9643ddaabc58b6700d3bbbc26804141ad68375a9f97d9d173658d373d31853019e65f62610239e3295cdd58e573bdcb2fded188d + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.24.1": + version: 7.24.1 + resolution: "@babel/helper-string-parser@npm:7.24.1" + checksum: 2f9bfcf8d2f9f083785df0501dbab92770111ece2f90d120352fda6dd2a7d47db11b807d111e6f32aa1ba6d763fe2dc6603d153068d672a5d0ad33ca802632b2 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.5": + version: 7.24.5 + resolution: "@babel/helper-validator-identifier@npm:7.24.5" + checksum: 05f957229d89ce95a137d04e27f7d0680d84ae48b6ad830e399db0779341f7d30290f863a93351b4b3bde2166737f73a286ea42856bb07c8ddaa95600d38645c + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.2": + version: 7.24.5 + resolution: "@babel/highlight@npm:7.24.5" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.5" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: e98047d3ad24608bfa596d000c861a2cc875af897427f2833b91a4e0d4cead07301a7ec15fa26093dcd61e036e2eed2db338ae54f93016fe0dc785fadc4159db + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": + version: 7.24.5 + resolution: "@babel/runtime@npm:7.24.5" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 05730e43e8ba6550eae9fd4fb5e7d9d3cb91140379425abcb2a1ff9cebad518a280d82c4c4b0f57ada26a863106ac54a748d90c775790c0e2cd0ddd85ccdf346 + languageName: node + linkType: hard + +"@babel/types@npm:^7.24.0": + version: 7.24.5 + resolution: "@babel/types@npm:7.24.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.1" + "@babel/helper-validator-identifier": "npm:^7.24.5" + to-fast-properties: "npm:^2.0.0" + checksum: e1284eb046c5e0451b80220d1200e2327e0a8544a2fe45bb62c952e5fdef7099c603d2336b17b6eac3cc046b7a69bfbce67fe56e1c0ea48cd37c65cb88638f2a + languageName: node + linkType: hard + +"@commitlint/cli@npm:^18.5.0": + version: 18.6.1 + resolution: "@commitlint/cli@npm:18.6.1" + dependencies: + "@commitlint/format": "npm:^18.6.1" + "@commitlint/lint": "npm:^18.6.1" + "@commitlint/load": "npm:^18.6.1" + "@commitlint/read": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + execa: "npm:^5.0.0" + lodash.isfunction: "npm:^3.0.9" + resolve-from: "npm:5.0.0" + resolve-global: "npm:1.0.0" + yargs: "npm:^17.0.0" + bin: + commitlint: cli.js + checksum: 4ec3eec2919170aece1295253c70656d48b8f0fcb2a1f2e48819b1913effa1e92a2416a422f1cfa4b90c4b33b7a8b07184b40851bc906ac6b027b11a8927de50 + languageName: node + linkType: hard + +"@commitlint/config-conventional@npm:^18.5.0": + version: 18.6.3 + resolution: "@commitlint/config-conventional@npm:18.6.3" + dependencies: + "@commitlint/types": "npm:^18.6.1" + conventional-changelog-conventionalcommits: "npm:^7.0.2" + checksum: 047f84598f80f7f793bdb0ffc9cf9059c199da6c5bc12ab87084fa933faee08c9290e3331f6f0d7e07c4f0ffb0b5c678e5036025aeabb8e74af296b9146c6354 + languageName: node + linkType: hard + +"@commitlint/config-validator@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/config-validator@npm:18.6.1" + dependencies: + "@commitlint/types": "npm:^18.6.1" + ajv: "npm:^8.11.0" + checksum: 611dec17774e261189b041db180068c7951f6d85d12895497b5fe2408f77eccba32f8cec2bb656a165e99c2b038e806aa2d42e59e68eb0e090eb98b5b3f4e854 + languageName: node + linkType: hard + +"@commitlint/ensure@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/ensure@npm:18.6.1" + dependencies: + "@commitlint/types": "npm:^18.6.1" + lodash.camelcase: "npm:^4.3.0" + lodash.kebabcase: "npm:^4.1.1" + lodash.snakecase: "npm:^4.1.1" + lodash.startcase: "npm:^4.4.0" + lodash.upperfirst: "npm:^4.3.1" + checksum: b7fbc70dbf1c3010f47ab76b1115c28be24b11fe0d01d47e2d64666dee801c8e98961076777f10116c3cbfeed676979d702c98934c342feafc4cdce2ef48f62c + languageName: node + linkType: hard + +"@commitlint/execute-rule@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/execute-rule@npm:18.6.1" + checksum: cdbf397f533ddaf2d90e457d7917ad16e6d8b78fdc79aff583618c42c758159eaaec33bd92e7f5dfefd0d5c6652c5d36d511b5e73cf5a2de12eb018b1e6be5f0 + languageName: node + linkType: hard + +"@commitlint/format@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/format@npm:18.6.1" + dependencies: + "@commitlint/types": "npm:^18.6.1" + chalk: "npm:^4.1.0" + checksum: b72d6d75e34e32c7e1db8e46ff4cf27ba0880d7a72d6371a32faa5461a7f993dd14f006a5c6d66e6d0ccb571339fbaa96aa679d7ce332cdf81e2b4762b714ea2 + languageName: node + linkType: hard + +"@commitlint/is-ignored@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/is-ignored@npm:18.6.1" + dependencies: + "@commitlint/types": "npm:^18.6.1" + semver: "npm:7.6.0" + checksum: 9be99142a2e24db8fa67776351d2ab5d4e0ead013a3317e6e011eaf24a030605c312b8fb404092c38563823a21abf213294bf322bf42a0b60ddaaa4fd791e78c + languageName: node + linkType: hard + +"@commitlint/lint@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/lint@npm:18.6.1" + dependencies: + "@commitlint/is-ignored": "npm:^18.6.1" + "@commitlint/parse": "npm:^18.6.1" + "@commitlint/rules": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + checksum: a1e1648ee04875c0fdc82adbdcded89cbc645649d817ba069b3b0144ff74090d6ac43c2cf86e46615d1268c33cad7019d967ca769fc7c1e4ebd193b1c2363ee6 + languageName: node + linkType: hard + +"@commitlint/load@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/load@npm:18.6.1" + dependencies: + "@commitlint/config-validator": "npm:^18.6.1" + "@commitlint/execute-rule": "npm:^18.6.1" + "@commitlint/resolve-extends": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + chalk: "npm:^4.1.0" + cosmiconfig: "npm:^8.3.6" + cosmiconfig-typescript-loader: "npm:^5.0.0" + lodash.isplainobject: "npm:^4.0.6" + lodash.merge: "npm:^4.6.2" + lodash.uniq: "npm:^4.5.0" + resolve-from: "npm:^5.0.0" + checksum: da4f90c92015016b97bff65b446011185b2701383929ba8f4a6e1307be919cb2c94e3b62906f460edded76c530f0185d13bee8fe20c4a78995bf8f6aae65ae30 + languageName: node + linkType: hard + +"@commitlint/message@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/message@npm:18.6.1" + checksum: 46a81835961e474a924b219aee93754f80c8e1b3ad7e358667f831e67e8631612eed8227a0065486c32c10be8cacaa78f1dedb45e67aa2e31b677d11d1648cbd + languageName: node + linkType: hard + +"@commitlint/parse@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/parse@npm:18.6.1" + dependencies: + "@commitlint/types": "npm:^18.6.1" + conventional-changelog-angular: "npm:^7.0.0" + conventional-commits-parser: "npm:^5.0.0" + checksum: 286bf092436f73730ecd474737b4e53c3c268ade1f01c019a628c54654b3bf3387a151fcb0510dee49dd8d2e4b5ac6f69c62da2183198c0088ee67a06f8ad247 + languageName: node + linkType: hard + +"@commitlint/read@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/read@npm:18.6.1" + dependencies: + "@commitlint/top-level": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + git-raw-commits: "npm:^2.0.11" + minimist: "npm:^1.2.6" + checksum: 92a88348b95ad058a6572484da5593f2471335a784965fed03bec36c786b99a467782aba231127d96c23f03a030d9aed17be197e5392a5f8636b818c3c2907ac + languageName: node + linkType: hard + +"@commitlint/resolve-extends@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/resolve-extends@npm:18.6.1" + dependencies: + "@commitlint/config-validator": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + import-fresh: "npm:^3.0.0" + lodash.mergewith: "npm:^4.6.2" + resolve-from: "npm:^5.0.0" + resolve-global: "npm:^1.0.0" + checksum: 05fbf6742c2b3e719d40c112d37efd3b395aa17daeb1d23913f6a72f1cc2ec3c5ec7f3ba683eef12fe698c7002aa186b05c2fe0d0cefe16ef8e967d10d7c1397 + languageName: node + linkType: hard + +"@commitlint/rules@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/rules@npm:18.6.1" + dependencies: + "@commitlint/ensure": "npm:^18.6.1" + "@commitlint/message": "npm:^18.6.1" + "@commitlint/to-lines": "npm:^18.6.1" + "@commitlint/types": "npm:^18.6.1" + execa: "npm:^5.0.0" + checksum: 6ba0a70295a3bc46304c4ca4212755751c774dc0e16aea25552e632495a585d595993c308e73710bba14d6908dd72de0a5a267f3604710c61746d6c3c7397c83 + languageName: node + linkType: hard + +"@commitlint/to-lines@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/to-lines@npm:18.6.1" + checksum: 93c23ed056fb657618ac77b671d40fd6a90c5ecc3e850adb1715b4e4072b7a41575877e890d4c017c9f215f753ee2fd1189914fc2374d5383a4af4c5123a9f57 + languageName: node + linkType: hard + +"@commitlint/top-level@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/top-level@npm:18.6.1" + dependencies: + find-up: "npm:^5.0.0" + checksum: b3fc8ae12267f9c98e19f254e5eed26861c8805937883266e64397d23ef957bbd5826e53fb9c23bde55e3ae73d2963450dfa99c75425d58fec3f151f8f650cbc + languageName: node + linkType: hard + +"@commitlint/types@npm:^18.6.1": + version: 18.6.1 + resolution: "@commitlint/types@npm:18.6.1" + dependencies: + chalk: "npm:^4.1.0" + checksum: 5728f5cb62bcaad5158dd8982ab5d44c1ea1aee9ac251026cd91b9a4795bb912505c904f75cbd3ae0d1bb7b4dd1e5d84990b76093230018166af8e111b658685 + languageName: node + linkType: hard + +"@emotion/babel-plugin@npm:^11.11.0": + version: 11.11.0 + resolution: "@emotion/babel-plugin@npm:11.11.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.16.7" + "@babel/runtime": "npm:^7.18.3" + "@emotion/hash": "npm:^0.9.1" + "@emotion/memoize": "npm:^0.8.1" + "@emotion/serialize": "npm:^1.1.2" + babel-plugin-macros: "npm:^3.1.0" + convert-source-map: "npm:^1.5.0" + escape-string-regexp: "npm:^4.0.0" + find-root: "npm:^1.1.0" + source-map: "npm:^0.5.7" + stylis: "npm:4.2.0" + checksum: 89cbb6ec0e52c8ee9c2a4b9889ccd4fc3a75d28091d835bfac6d7c4565d3338621e23af0a85f3bcd133e1cae795c692e1dadada015784d4b0554aa5bb111df43 + languageName: node + linkType: hard + +"@emotion/cache@npm:^11.11.0": + version: 11.11.0 + resolution: "@emotion/cache@npm:11.11.0" + dependencies: + "@emotion/memoize": "npm:^0.8.1" + "@emotion/sheet": "npm:^1.2.2" + "@emotion/utils": "npm:^1.2.1" + "@emotion/weak-memoize": "npm:^0.3.1" + stylis: "npm:4.2.0" + checksum: a23ab5ab2fd08e904698106d58ad3536fed51cc1aa0ef228e95bb640eaf11f560dbd91a395477b0d84e1e3c20150263764b4558517cf6576a89d2d6cc5253688 + languageName: node + linkType: hard + +"@emotion/hash@npm:^0.9.1": + version: 0.9.1 + resolution: "@emotion/hash@npm:0.9.1" + checksum: cdafe5da63fc1137f3db6e232fdcde9188b2b47ee66c56c29137199642a4086f42382d866911cfb4833cae2cc00271ab45cad3946b024f67b527bb7fac7f4c9d + languageName: node + linkType: hard + +"@emotion/is-prop-valid@npm:^1.2.2": + version: 1.2.2 + resolution: "@emotion/is-prop-valid@npm:1.2.2" + dependencies: + "@emotion/memoize": "npm:^0.8.1" + checksum: bb1530dcb4e0e5a4fabb219279f2d0bc35796baf66f6241f98b0d03db1985c890a8cafbea268e0edefd5eeda143dbd5c09a54b5fba74cee8c69b98b13194af50 + languageName: node + linkType: hard + +"@emotion/memoize@npm:^0.8.1": + version: 0.8.1 + resolution: "@emotion/memoize@npm:0.8.1" + checksum: dffed372fc3b9fa2ba411e76af22b6bb686fb0cb07694fdfaa6dd2baeb0d5e4968c1a7caa472bfcf06a5997d5e7c7d16b90e993f9a6ffae79a2c3dbdc76dfe78 + languageName: node + linkType: hard + +"@emotion/react@npm:^11.11.3": + version: 11.11.4 + resolution: "@emotion/react@npm:11.11.4" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@emotion/babel-plugin": "npm:^11.11.0" + "@emotion/cache": "npm:^11.11.0" + "@emotion/serialize": "npm:^1.1.3" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" + "@emotion/utils": "npm:^1.2.1" + "@emotion/weak-memoize": "npm:^0.3.1" + hoist-non-react-statics: "npm:^3.3.1" + peerDependencies: + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 6df892fd9e04b5c8c37aacfd7f461631e04e00e845edc3c5b2955ab8ad681abf5cd49584101f579427e08b82f2f88369c78d37ae2fe9360a8f68fd4e51b8e448 + languageName: node + linkType: hard + +"@emotion/serialize@npm:^1.1.2, @emotion/serialize@npm:^1.1.3, @emotion/serialize@npm:^1.1.4": + version: 1.1.4 + resolution: "@emotion/serialize@npm:1.1.4" + dependencies: + "@emotion/hash": "npm:^0.9.1" + "@emotion/memoize": "npm:^0.8.1" + "@emotion/unitless": "npm:^0.8.1" + "@emotion/utils": "npm:^1.2.1" + csstype: "npm:^3.0.2" + checksum: 164d936f72382594c47b9c24e67a51c7fc16b83d9a36b84eec5e4cb9bf7be029218a490ef4b44233a1b53423bdb3905d65b597cde3ebba759d40dab7a4c99121 + languageName: node + linkType: hard + +"@emotion/sheet@npm:^1.2.2": + version: 1.2.2 + resolution: "@emotion/sheet@npm:1.2.2" + checksum: 69827a1bfa43d7b188f1d8cea42163143a36312543fdade5257c459a2b3efd7ce386aac84ba152bc2517a4f7e54384c04800b26adb382bb284ac7e4ad40e584b + languageName: node + linkType: hard + +"@emotion/styled@npm:^11.11.0": + version: 11.11.5 + resolution: "@emotion/styled@npm:11.11.5" + dependencies: + "@babel/runtime": "npm:^7.18.3" + "@emotion/babel-plugin": "npm:^11.11.0" + "@emotion/is-prop-valid": "npm:^1.2.2" + "@emotion/serialize": "npm:^1.1.4" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" + "@emotion/utils": "npm:^1.2.1" + peerDependencies: + "@emotion/react": ^11.0.0-rc.0 + react: ">=16.8.0" + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 27da6ad7f5b374d61cfe6647cc2f93ee3ceb1139a51907050576ee30da0a50a27b0bbed45f76889d560d2a8ccf8bc4a4f7126cad3f00127e107c11093dc0a801 + languageName: node + linkType: hard + +"@emotion/unitless@npm:^0.8.1": + version: 0.8.1 + resolution: "@emotion/unitless@npm:0.8.1" + checksum: a1ed508628288f40bfe6dd17d431ed899c067a899fa293a13afe3aed1d70fac0412b8a215fafab0b42829360db687fecd763e5f01a64ddc4a4b58ec3112ff548 + languageName: node + linkType: hard + +"@emotion/use-insertion-effect-with-fallbacks@npm:^1.0.1": + version: 1.0.1 + resolution: "@emotion/use-insertion-effect-with-fallbacks@npm:1.0.1" + peerDependencies: + react: ">=16.8.0" + checksum: a15b2167940e3a908160687b73fc4fcd81e59ab45136b6967f02c7c419d9a149acd22a416b325c389642d4f1c3d33cf4196cad6b618128b55b7c74f6807a240b + languageName: node + linkType: hard + +"@emotion/utils@npm:^1.2.1": + version: 1.2.1 + resolution: "@emotion/utils@npm:1.2.1" + checksum: db43ca803361740c14dfb1cca1464d10d27f4c8b40d3e8864e6932ccf375d1450778ff4e4eadee03fb97f2aeb18de9fae98294905596a12ff7d4cd1910414d8d + languageName: node + linkType: hard + +"@emotion/weak-memoize@npm:^0.3.1": + version: 0.3.1 + resolution: "@emotion/weak-memoize@npm:0.3.1" + checksum: ed514b3cb94bbacece4ac2450d98898066c0a0698bdeda256e312405ca53634cb83c75889b25cd8bbbe185c80f4c05a1f0a0091e1875460ba6be61d0334f0b8a + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a + languageName: node + linkType: hard + +"@floating-ui/core@npm:^1.0.0": + version: 1.6.2 + resolution: "@floating-ui/core@npm:1.6.2" + dependencies: + "@floating-ui/utils": "npm:^0.2.0" + checksum: db2621dc682e7f043d6f118d087ae6a6bfdacf40b26ede561760dd53548c16e2e7c59031e013e37283801fa307b55e6de65bf3b316b96a054e4a6a7cb937c59e + languageName: node + linkType: hard + +"@floating-ui/dom@npm:^1.0.0": + version: 1.6.5 + resolution: "@floating-ui/dom@npm:1.6.5" + dependencies: + "@floating-ui/core": "npm:^1.0.0" + "@floating-ui/utils": "npm:^0.2.0" + checksum: ebdc14806f786e60df8e7cc2c30bf9cd4d75fe734f06d755588bbdef2f60d0a0f21dffb14abdc58dea96e5577e2e366feca6d66ba962018efd1bc91a3ece4526 + languageName: node + linkType: hard + +"@floating-ui/react-dom@npm:^2.0.8": + version: 2.1.0 + resolution: "@floating-ui/react-dom@npm:2.1.0" + dependencies: + "@floating-ui/dom": "npm:^1.0.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 9ee44dfeb27f585fb1e0114cbe37c72ff5d34149900f4f3013f6b0abf8c3365eab13286c360f97fbe0c44bb91a745e7a4c18b82d111990b45a7a7796dc55e461 + languageName: node + linkType: hard + +"@floating-ui/utils@npm:^0.2.0": + version: 0.2.2 + resolution: "@floating-ui/utils@npm:0.2.2" + checksum: b2becdcafdf395af1641348da0031ff1eaad2bc60c22e14bd3abad4acfe2c8401e03097173d89a2f646a99b75819a78ef21ebb2572cab0042a56dd654b0065cd + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.3 + resolution: "@jridgewell/gen-mapping@npm:0.3.3" + dependencies: + "@jridgewell/set-array": "npm:^1.0.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: 0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.22 + resolution: "@jridgewell/trace-mapping@npm:0.3.22" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 + languageName: node + linkType: hard + +"@mui/base@npm:5.0.0-beta.40": + version: 5.0.0-beta.40 + resolution: "@mui/base@npm:5.0.0-beta.40" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@floating-ui/react-dom": "npm:^2.0.8" + "@mui/types": "npm:^7.2.14" + "@mui/utils": "npm:^5.15.14" + "@popperjs/core": "npm:^2.11.8" + clsx: "npm:^2.1.0" + prop-types: "npm:^15.8.1" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 631b4ee389e23d82c16c5845c2849af43000f52f1def639b9bb5bf39fd09f4eab93787d32950b715a7de7b689faab53bb7c9a78f6fd12b663876cf8128d45de1 + languageName: node + linkType: hard + +"@mui/core-downloads-tracker@npm:^5.15.18": + version: 5.15.18 + resolution: "@mui/core-downloads-tracker@npm:5.15.18" + checksum: 7899df3ce5192f2b876b8e5e645b03701512b9edaf386be07aa81d0d940404fa966776ef3e5e7654f312949f669db60438b864e14f7cece3eec7b5979a7349aa + languageName: node + linkType: hard + +"@mui/lab@npm:^5.0.0-alpha.170": + version: 5.0.0-alpha.170 + resolution: "@mui/lab@npm:5.0.0-alpha.170" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/base": "npm:5.0.0-beta.40" + "@mui/system": "npm:^5.15.15" + "@mui/types": "npm:^7.2.14" + "@mui/utils": "npm:^5.15.14" + clsx: "npm:^2.1.0" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@mui/material": ">=5.15.0" + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 56b095b2aee8cd1a45525fc5d0aac26d29f0111f12fbe05fe4fcf8eca2dedbb447d8d912330b469c35ab553a5776b5e91b9b7a44be5a214253301ec806c9f586 + languageName: node + linkType: hard + +"@mui/material@npm:^5.15.6": + version: 5.15.18 + resolution: "@mui/material@npm:5.15.18" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/base": "npm:5.0.0-beta.40" + "@mui/core-downloads-tracker": "npm:^5.15.18" + "@mui/system": "npm:^5.15.15" + "@mui/types": "npm:^7.2.14" + "@mui/utils": "npm:^5.15.14" + "@types/react-transition-group": "npm:^4.4.10" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + react-is: "npm:^18.2.0" + react-transition-group: "npm:^4.4.5" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 0ae6ec5cb806b8095f16c542be5e0ae059e5e4adccf1cc463865acd0429b7c9b8fc12ce56c12a15ac787f29c173d118ff06af56e1e4c46a040212cd7d203c15d + languageName: node + linkType: hard + +"@mui/private-theming@npm:^5.15.14": + version: 5.15.14 + resolution: "@mui/private-theming@npm:5.15.14" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/utils": "npm:^5.15.14" + prop-types: "npm:^15.8.1" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 28889505874f03e2aeeb147bc5eefcc537825a91ab9c771a5e60ea0df1eab760e900a3a50fec55b25bc9087e9030be37adbe1acdd81a3e2fcca5a1e0cf5979ec + languageName: node + linkType: hard + +"@mui/styled-engine@npm:^5.15.14": + version: 5.15.14 + resolution: "@mui/styled-engine@npm:5.15.14" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@emotion/cache": "npm:^11.11.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.4.1 + "@emotion/styled": ^11.3.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + checksum: 0d262ea0b3c117f865af1cd52b992592c24432e491b35e712159bb49adfd776ee9a532abbc4ab08889f308e75d30082a0fee809119d5d61a82b3277212655319 + languageName: node + linkType: hard + +"@mui/system@npm:^5.15.15": + version: 5.15.15 + resolution: "@mui/system@npm:5.15.15" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@mui/private-theming": "npm:^5.15.14" + "@mui/styled-engine": "npm:^5.15.14" + "@mui/types": "npm:^7.2.14" + "@mui/utils": "npm:^5.15.14" + clsx: "npm:^2.1.0" + csstype: "npm:^3.1.3" + prop-types: "npm:^15.8.1" + peerDependencies: + "@emotion/react": ^11.5.0 + "@emotion/styled": ^11.3.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + "@types/react": + optional: true + checksum: 80724377ee9c0e1604373371bb9b7d566c899009264caf6f638eed224600b91b739f32bef03c6a479dc9348dfc01d7c28cc8d1252454d7dd4a23f59033a8653e + languageName: node + linkType: hard + +"@mui/types@npm:^7.2.14": + version: 7.2.14 + resolution: "@mui/types@npm:7.2.14" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: d4e0a9fce4bddfb5e0b7b6be1b15b591df33bb90ef0087e4bd5fe85f00f62776c7ed0e4698e7fb43213e1f04064aac1695b53ca52aaeaee7dbba248a792bdd1e + languageName: node + linkType: hard + +"@mui/utils@npm:^5.15.14": + version: 5.15.14 + resolution: "@mui/utils@npm:5.15.14" + dependencies: + "@babel/runtime": "npm:^7.23.9" + "@types/prop-types": "npm:^15.7.11" + prop-types: "npm:^15.8.1" + react-is: "npm:^18.2.0" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 36265988477637a011361456b40929de928e215466b72e6c48673a2088610d83e09960a3e0608100448910683079fc80a5e11dbf49b9ce7109dd8e49403ae3b3 + languageName: node + linkType: hard + +"@next/env@npm:14.2.3": + version: 14.2.3 + resolution: "@next/env@npm:14.2.3" + checksum: 25ab3ac2739c8e5ce35e1f50373238c5c428ab6b01d448ba78a6068dcdef88978b64f9a92790c324b2926ccc41390a67107154a0b0fee32fe980a485f4ef20d8 + languageName: node + linkType: hard + +"@next/eslint-plugin-next@npm:14.1.0": + version: 14.1.0 + resolution: "@next/eslint-plugin-next@npm:14.1.0" + dependencies: + glob: "npm:10.3.10" + checksum: d8753d8258bef471ba1296f760b092c0a17e89ddc937bf16b9399725d05b6426e58e3c8eb4efb8e8f027025804ecea3b714a7b7c75682d019e53ea8d181b8632 + languageName: node + linkType: hard + +"@next/swc-darwin-arm64@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-darwin-arm64@npm:14.2.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@next/swc-darwin-x64@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-darwin-x64@npm:14.2.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@next/swc-linux-arm64-gnu@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-linux-arm64-gnu@npm:14.2.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@next/swc-linux-arm64-musl@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-linux-arm64-musl@npm:14.2.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@next/swc-linux-x64-gnu@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-linux-x64-gnu@npm:14.2.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@next/swc-linux-x64-musl@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-linux-x64-musl@npm:14.2.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@next/swc-win32-arm64-msvc@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-win32-arm64-msvc@npm:14.2.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@next/swc-win32-ia32-msvc@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-win32-ia32-msvc@npm:14.2.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@next/swc-win32-x64-msvc@npm:14.2.3": + version: 14.2.3 + resolution: "@next/swc-win32-x64-msvc@npm:14.2.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@popperjs/core@npm:^2.11.8": + version: 2.11.8 + resolution: "@popperjs/core@npm:2.11.8" + checksum: 4681e682abc006d25eb380d0cf3efc7557043f53b6aea7a5057d0d1e7df849a00e281cd8ea79c902a35a414d7919621fc2ba293ecec05f413598e0b23d5a1e63 + languageName: node + linkType: hard + +"@prisma/client@npm:5.8.1": + version: 5.8.1 + resolution: "@prisma/client@npm:5.8.1" + peerDependencies: + prisma: "*" + peerDependenciesMeta: + prisma: + optional: true + checksum: 08a0eb392b1b7773545faa08bb1501352a999b7c215fa16977c61596abdd86b573723c244fbc096d8a42bab9a9bbc31a9d761aa8a85c03d2f94d6a68c04ff17f + languageName: node + linkType: hard + +"@prisma/debug@npm:5.8.1": + version: 5.8.1 + resolution: "@prisma/debug@npm:5.8.1" + checksum: d3f9d6c65e5c9ba7ad9337091b78691677a5fed8b660fedaacbbf29eb0c3dfeaf188c396610eb340aed8e00c80f3dc7789b52d7c1f7cbb8144e9b6b12c0ad1e6 + languageName: node + linkType: hard + +"@prisma/engines-version@npm:5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2": + version: 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 + resolution: "@prisma/engines-version@npm:5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + checksum: 5646f14343fc5d8a6c141c4faf4481c1de84d684d986001cb220e09236c91146c7bddb56c5e6b8a3224eb9bf8c030273f0dfee802246ac8b8846d3e403a3b63b + languageName: node + linkType: hard + +"@prisma/engines@npm:5.8.1": + version: 5.8.1 + resolution: "@prisma/engines@npm:5.8.1" + dependencies: + "@prisma/debug": "npm:5.8.1" + "@prisma/engines-version": "npm:5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + "@prisma/fetch-engine": "npm:5.8.1" + "@prisma/get-platform": "npm:5.8.1" + checksum: b444b09549b20acfcd7e2ccbbb87beaa01247802bbc3b8f8d9ac7aa972df043158f07bfcb50a7caa97b9bc543ec26223e47a1b5529c79eac60123ce51f8faf8d + languageName: node + linkType: hard + +"@prisma/fetch-engine@npm:5.8.1": + version: 5.8.1 + resolution: "@prisma/fetch-engine@npm:5.8.1" + dependencies: + "@prisma/debug": "npm:5.8.1" + "@prisma/engines-version": "npm:5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + "@prisma/get-platform": "npm:5.8.1" + checksum: 1020fbae8dbb6e68bca62ef788fc5e0696e89fc2c77ff94fe6a935f6a9ef1a2be21bb8102fab63d93b2a345b17fe1648305312b9516db62324cf0c58c5caa033 + languageName: node + linkType: hard + +"@prisma/get-platform@npm:5.8.1": + version: 5.8.1 + resolution: "@prisma/get-platform@npm:5.8.1" + dependencies: + "@prisma/debug": "npm:5.8.1" + checksum: c46c8d21892d44d459b2567aef5f9db8d4801adb04e4be08d58d4c0ef3a450eaaa58b868e09fc2b1a05fd7f603fe8b3e2bd5c06ea665d959f3828828509ad535 + languageName: node + linkType: hard + +"@rushstack/eslint-patch@npm:^1.3.3": + version: 1.7.0 + resolution: "@rushstack/eslint-patch@npm:1.7.0" + checksum: ac097ecd3988a448fa1660e5e20791c03ae4af6554388c9fb8cb90abc30325de08e5cda77dc3d86fd08c8573a0c7fcc153bcd36f979f2c91d59ff0b90beb52a7 + languageName: node + linkType: hard + +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: 8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 + languageName: node + linkType: hard + +"@swc/helpers@npm:0.5.5": + version: 0.5.5 + resolution: "@swc/helpers@npm:0.5.5" + dependencies: + "@swc/counter": "npm:^0.1.3" + tslib: "npm:^2.4.0" + checksum: 21a9b9cfe7e00865f9c9f3eb4c1cc5b397143464f7abee76a2c5366e591e06b0155b5aac93fe8269ef8d548df253f6fd931e9ddfc0fd12efd405f90f45506e7d + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.12": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.5 + resolution: "@types/minimist@npm:1.2.5" + checksum: 3f791258d8e99a1d7d0ca2bda1ca6ea5a94e5e7b8fc6cde84dd79b0552da6fb68ade750f0e17718f6587783c24254bbca0357648dd59dc3812c150305cabdc46 + languageName: node + linkType: hard + +"@types/node@npm:^20": + version: 20.11.5 + resolution: "@types/node@npm:20.11.5" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 6d18cec852f5cfbed3ec42b5c01c026e7a3f9da540d6e3d6738d4cee9979fb308cf27b6df7ba40a6553e7bc82e678f0ef53ba6e6ad52e5b86bd97b7783c2a42c + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.4 + resolution: "@types/normalize-package-data@npm:2.4.4" + checksum: aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.11": + version: 15.7.11 + resolution: "@types/prop-types@npm:15.7.11" + checksum: e53423cf9d510515ef8b47ff42f4f1b65a7b7b37c8704e2dbfcb9a60defe0c0e1f3cb1acfdeb466bad44ca938d7c79bffdd51b48ffb659df2432169d0b27a132 + languageName: node + linkType: hard + +"@types/react-dom@npm:^18": + version: 18.2.18 + resolution: "@types/react-dom@npm:18.2.18" + dependencies: + "@types/react": "npm:*" + checksum: 74dba11a1b8156f3a763f3fca1fb4ec1dcd349153279b8bf79210024a69f994bf2cf0728198c047f8130c5318420ea56281b0a4ef84c8ae943cd9a0cac705220 + languageName: node + linkType: hard + +"@types/react-transition-group@npm:^4.4.10": + version: 4.4.10 + resolution: "@types/react-transition-group@npm:4.4.10" + dependencies: + "@types/react": "npm:*" + checksum: 3eb9bca143abc21eb781aa5cb1bded0c9335689d515bf0513fb8e63217b7a8122c6a323ecd5644a06938727e1f467ee061d8df1c93b68825a80ff1b47ab777a2 + languageName: node + linkType: hard + +"@types/react@npm:*, @types/react@npm:^18": + version: 18.2.48 + resolution: "@types/react@npm:18.2.48" + dependencies: + "@types/prop-types": "npm:*" + "@types/scheduler": "npm:*" + csstype: "npm:^3.0.2" + checksum: 7e89f18ea2928b1638f564b156d692894dcb9352a7e0a807873c97e858abe1f23dbd165a25dd088a991344e973fdeef88ba5724bfb64504b74072cbc9c220c3a + languageName: node + linkType: hard + +"@types/scheduler@npm:*": + version: 0.16.8 + resolution: "@types/scheduler@npm:0.16.8" + checksum: f86de504945b8fc41b1f391f847444d542e2e4067cf7e5d9bfeb5d2d2393d3203b1161bc0ef3b1e104d828dabfb60baf06e8d2c27e27ff7e8258e6e618d8c4ec + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.0": + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^6.19.1": + version: 6.21.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.21.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.5.1" + "@typescript-eslint/scope-manager": "npm:6.21.0" + "@typescript-eslint/type-utils": "npm:6.21.0" + "@typescript-eslint/utils": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.4" + natural-compare: "npm:^1.4.0" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: f911a79ee64d642f814a3b6cdb0d324b5f45d9ef955c5033e78903f626b7239b4aa773e464a38c3e667519066169d983538f2bf8e5d00228af587c9d438fb344 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0": + version: 6.19.1 + resolution: "@typescript-eslint/parser@npm:6.19.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:6.19.1" + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/typescript-estree": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 442e860fbc4786fe999205528cc74b31d933008e170a707ddaec0c9e2c374f62c36c8d05d3dd446c9ceb802f2b403806d72c78ffd97867cf1672028b754b6262 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/scope-manager@npm:6.19.1" + dependencies: + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" + checksum: a81315b4a2888343d3be781fe8d6b4c229c656d7bf1bd74bc44a89bba96bb6a10a0319d301f24ca91adb898374eaadbd38979e6567ac9085b5d7076163794281 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/scope-manager@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + checksum: eaf868938d811cbbea33e97e44ba7050d2b6892202cea6a9622c486b85ab1cf801979edf78036179a8ba4ac26f1dfdf7fcc83a68c1ff66be0b3a8e9a9989b526 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/type-utils@npm:6.21.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:6.21.0" + "@typescript-eslint/utils": "npm:6.21.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 7409c97d1c4a4386b488962739c4f1b5b04dc60cf51f8cd88e6b12541f84d84c6b8b67e491a147a2c95f9ec486539bf4519fb9d418411aef6537b9c156468117 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/types@npm:6.19.1" + checksum: b8f75df157ca383e5bd6c07276fbeed6ff775e1354260a1653777749c0d71626fb29be5d36c9570e2c5cfaa5db62deaae20aa4be8a2d7d753782ab66d88e007f + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/types@npm:6.21.0" + checksum: 020631d3223bbcff8a0da3efbdf058220a8f48a3de221563996ad1dcc30d6c08dadc3f7608cc08830d21c0d565efd2db19b557b9528921c78aabb605eef2d74d + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/typescript-estree@npm:6.19.1" + dependencies: + "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/visitor-keys": "npm:6.19.1" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: dec16f873084e9eeb1a696dff82c42164e75908221f7868d900ad7b7fcec6fc62a9a7dddb8bc17c78c19bf35f07acee81b3778b20b9735ffdaeee732ecb643d3 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/visitor-keys": "npm:6.21.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: af1438c60f080045ebb330155a8c9bb90db345d5069cdd5d01b67de502abb7449d6c75500519df829f913a6b3f490ade3e8215279b6bdc63d0fb0ae61034df5f + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/utils@npm:6.21.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@types/json-schema": "npm:^7.0.12" + "@types/semver": "npm:^7.5.0" + "@typescript-eslint/scope-manager": "npm:6.21.0" + "@typescript-eslint/types": "npm:6.21.0" + "@typescript-eslint/typescript-estree": "npm:6.21.0" + semver: "npm:^7.5.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: ab2df3833b2582d4e5467a484d08942b4f2f7208f8e09d67de510008eb8001a9b7460f2f9ba11c12086fd3cdcac0c626761c7995c2c6b5657d5fa6b82030a32d + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:6.19.1": + version: 6.19.1 + resolution: "@typescript-eslint/visitor-keys@npm:6.19.1" + dependencies: + "@typescript-eslint/types": "npm:6.19.1" + eslint-visitor-keys: "npm:^3.4.1" + checksum: b0370a9bc6fd8d243aa8b7ccd1657ec2fbd25ceb7b067aac64322f03aa0f64b97444b13b0946f52a53d6bc5edd43e0b447f72160be4a5b72e073c1d3679b6b4c + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:6.21.0": + version: 6.21.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.21.0" + dependencies: + "@typescript-eslint/types": "npm:6.21.0" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 7395f69739cfa1cb83c1fb2fad30afa2a814756367302fb4facd5893eff66abc807e8d8f63eba94ed3b0fe0c1c996ac9a1680bcbf0f83717acedc3f2bb724fbf + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@vercel/analytics@npm:^1.1.2": + version: 1.2.2 + resolution: "@vercel/analytics@npm:1.2.2" + dependencies: + server-only: "npm:^0.0.1" + peerDependencies: + next: ">= 13" + react: ^18 || ^19 + peerDependenciesMeta: + next: + optional: true + react: + optional: true + checksum: 82c89846356b370574414aa511d5a341535dcc7ba3b0a5eabfc7644df6d52a7b30253247627382faf4a0cc4192715cea718fe91027f7ba35efba80256064a005 + languageName: node + linkType: hard + +"JSONStream@npm:^1.3.5": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: "npm:^1.2.0" + through: "npm:>=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.11.0": + version: 8.13.0 + resolution: "ajv@npm:8.13.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.4.1" + checksum: 14c6497b6f72843986d7344175a1aa0e2c35b1e7f7475e55bc582cddb765fca7e6bf950f465dc7846f817776d9541b706f4b5b3fbedd8dfdeb5fce6f22864264 + languageName: node + linkType: hard + +"ansi-escapes@npm:^6.2.0": + version: 6.2.1 + resolution: "ansi-escapes@npm:6.2.1" + checksum: a2c6f58b044be5f69662ee17073229b492daa2425a7fd99a665db6c22eab6e4ab42752807def7281c1c7acfed48f87f2362dda892f08c2c437f1b39c6b033103 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-query@npm:^5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: "npm:^2.0.3" + checksum: 2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + is-array-buffer: "npm:^3.0.1" + checksum: 12f84f6418b57a954caa41654e5e63e019142a4bbb2c6829ba86d1ba65d31ccfaf1461d1743556fd32b091fac34ff44d9dfbdb001402361c45c373b2c86f5c20 + languageName: node + linkType: hard + +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: 75c9c072faac47bd61779c0c595e912fe660d338504ac70d10e39e1b8a4a0c9c87658703d619b9d1b70d324177ae29dc8d07dda0d0a15d005597bc4c5a59c70c + languageName: node + linkType: hard + +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": + version: 3.1.7 + resolution: "array-includes@npm:3.1.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + is-string: "npm:^1.0.7" + checksum: 692907bd7f19d06dc58ccb761f34b58f5dc0b437d2b47a8fe42a1501849a5cf5c27aed3d521a9702667827c2c85a7e75df00a402c438094d87fc43f39ebf9b2b + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"array.prototype.findlastindex@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.findlastindex@npm:1.2.3" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.1" + checksum: 2c5c4d3f07512d6729f728f6260a314c00f2eb0a243123092661fa1bc65dce90234c3b483b5f978396eccef6f69c50f0bea248448aaf9cdfcd1cedad6217acbb + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + checksum: 67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.1": + version: 1.1.2 + resolution: "array.prototype.tosorted@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + es-shim-unscopables: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.1" + checksum: aa222a0f78e9cdb4ea4d788a11f0acc2b17c2226f0912917e1c89e0f0c4dcdd14414ac88afffbd03025f33501f2649907cfb80664e48aa2af3430c1fb1b0b416 + languageName: node + linkType: hard + +"arraybuffer.prototype.slice@npm:^1.0.2": + version: 1.0.2 + resolution: "arraybuffer.prototype.slice@npm:1.0.2" + dependencies: + array-buffer-byte-length: "npm:^1.0.0" + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + is-array-buffer: "npm:^3.0.2" + is-shared-array-buffer: "npm:^1.0.2" + checksum: 96b6e40e439678ffb7fa266398510074d33c3980fbb475490b69980cca60adec3b0777047ef377068a29862157f83edef42efc64ce48ce38977d04d68de5b7fb + languageName: node + linkType: hard + +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"ast-types-flow@npm:^0.0.8": + version: 0.0.8 + resolution: "ast-types-flow@npm:0.0.8" + checksum: f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e + languageName: node + linkType: hard + +"asynciterator.prototype@npm:^1.0.0": + version: 1.0.0 + resolution: "asynciterator.prototype@npm:1.0.0" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: fb76850e57d931ff59fd16b6cddb79b0d34fe45f400b2c3480d38892e72cd089787401687dbdb7cdb14ece402c275d3e02a648760d1489cd493527129c4c6204 + languageName: node + linkType: hard + +"autoprefixer@npm:^10.0.1": + version: 10.4.17 + resolution: "autoprefixer@npm:10.4.17" + dependencies: + browserslist: "npm:^4.22.2" + caniuse-lite: "npm:^1.0.30001578" + fraction.js: "npm:^4.3.7" + normalize-range: "npm:^0.1.2" + picocolors: "npm:^1.0.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 1d21cc8edb7bf993682094ceed03a32c18f5293f071182a64c2c6defb44bbe91d576ad775d2347469a81997b80cea0bbc4ad3eeb5b12710f9feacf2e6c04bb51 + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: c4df567ca72d2754a6cbad20088f5f98b1065b3360178169fa9b44ea101af62c0f423fc3854fa820fd6895b6b9171b8386e71558203103ff8fc2ad503fdcc660 + languageName: node + linkType: hard + +"axe-core@npm:=4.7.0": + version: 4.7.0 + resolution: "axe-core@npm:4.7.0" + checksum: 89ac5712b5932ac7d23398b4cb5ba081c394a086e343acc68ba49c83472706e18e0799804e8388c779dcdacc465377deb29f2714241d3fbb389cf3a6b275c9ba + languageName: node + linkType: hard + +"axobject-query@npm:^3.2.1": + version: 3.2.1 + resolution: "axobject-query@npm:3.2.1" + dependencies: + dequal: "npm:^2.0.3" + checksum: f7debc2012e456139b57d888c223f6d3cb4b61eb104164a85e3d346273dd6ef0bc9a04b6660ca9407704a14a8e05fa6b6eb9d55f44f348c7210de7ffb350c3a7 + languageName: node + linkType: hard + +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" + dependencies: + "@babel/runtime": "npm:^7.12.5" + cosmiconfig: "npm:^7.0.0" + resolve: "npm:^1.19.0" + checksum: c6dfb15de96f67871d95bd2e8c58b0c81edc08b9b087dc16755e7157f357dc1090a8dc60ebab955e92587a9101f02eba07e730adc253a1e4cf593ca3ebd3839c + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + languageName: node + linkType: hard + +"browserslist@npm:^4.22.2": + version: 4.22.2 + resolution: "browserslist@npm:4.22.2" + dependencies: + caniuse-lite: "npm:^1.0.30001565" + electron-to-chromium: "npm:^1.4.601" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 2a331aab90503130043ca41dd5d281fa1e89d5e076d07a2d75e76bf4d693bd56e73d5abcd8c4f39119da6328d450578c216cf1cd5c99b82d8a90a2ae6271b465 + languageName: node + linkType: hard + +"budgetapp@workspace:.": + version: 0.0.0-use.local + resolution: "budgetapp@workspace:." + dependencies: + "@commitlint/cli": "npm:^18.5.0" + "@commitlint/config-conventional": "npm:^18.5.0" + "@emotion/react": "npm:^11.11.3" + "@emotion/styled": "npm:^11.11.0" + "@mui/lab": "npm:^5.0.0-alpha.170" + "@mui/material": "npm:^5.15.6" + "@prisma/client": "npm:5.8.1" + "@types/node": "npm:^20" + "@types/react": "npm:^18" + "@types/react-dom": "npm:^18" + "@typescript-eslint/eslint-plugin": "npm:^6.19.1" + "@vercel/analytics": "npm:^1.1.2" + autoprefixer: "npm:^10.0.1" + eslint: "npm:^8" + eslint-config-next: "npm:14.1.0" + eslint-config-prettier: "npm:^9.1.0" + husky: "npm:^8.0.3" + lint-staged: "npm:^15.2.0" + nanoid: "npm:^5.0.4" + next: "npm:^14.2.3" + postcss: "npm:^8" + prettier: "npm:3.2.4" + prettier-plugin-tailwindcss: "npm:^0.5.11" + prisma: "npm:5.8.1" + react: "npm:^18" + react-dom: "npm:^18" + tailwindcss: "npm:^3.3.0" + typescript: "npm:^5" + zod: "npm:^3.22.4" + zod-form-data: "npm:^2.0.2" + languageName: unknown + linkType: soft + +"busboy@npm:1.6.0": + version: 1.6.0 + resolution: "busboy@npm:1.6.0" + dependencies: + streamsearch: "npm:^1.1.0" + checksum: fa7e836a2b82699b6e074393428b91ae579d4f9e21f5ac468e1b459a244341d722d2d22d10920cdd849743dbece6dca11d72de939fb75a7448825cf2babfba1f + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.3 + resolution: "cacache@npm:18.0.3" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" + dependencies: + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.1" + set-function-length: "npm:^1.1.1" + checksum: a6172c168fd6dacf744fcde745099218056bd755c50415b592655dcd6562157ed29f130f56c3f6db2250f67e4bd62e5c218cdc56d7bfd76e0bda50770fce2d10 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: "npm:^5.3.1" + map-obj: "npm:^4.0.0" + quick-lru: "npm:^4.0.1" + checksum: bf1a28348c0f285c6c6f68fb98a9d088d3c0269fed0cdff3ea680d5a42df8a067b4de374e7a33e619eb9d5266a448fe66c2dd1f8e0c9209ebc348632882a3526 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001565, caniuse-lite@npm:^1.0.30001578, caniuse-lite@npm:^1.0.30001579": + version: 1.0.30001579 + resolution: "caniuse-lite@npm:1.0.30001579" + checksum: 4003970f8d01a5fa314e39f4a21751dc750a530f3d19aed225e18e8e02892b590b8b0debfa0961eae9bc0e49b77bfb17cf30d2469540e428a8305e3cc9164fb8 + languageName: node + linkType: hard + +"chalk@npm:5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-cursor@npm:4.0.0" + dependencies: + restore-cursor: "npm:^4.0.0" + checksum: e776e8c3c6727300d0539b0d25160b2bb56aed1a63942753ba1826b012f337a6f4b7ace3548402e4f2f13b5e16bfd751be672c44b203205e7eca8be94afec42c + languageName: node + linkType: hard + +"cli-truncate@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-truncate@npm:4.0.0" + dependencies: + slice-ansi: "npm:^5.0.0" + string-width: "npm:^7.0.0" + checksum: d7f0b73e3d9b88cb496e6c086df7410b541b56a43d18ade6a573c9c18bd001b1c3fba1ad578f741a4218fdc794d042385f8ac02c25e1c295a2d8b9f3cb86eb4c + languageName: node + linkType: hard + +"client-only@npm:0.0.1": + version: 0.0.1 + resolution: "client-only@npm:0.0.1" + checksum: 9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clsx@npm:^2.1.0": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colorette@npm:^2.0.20": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"commander@npm:11.1.0": + version: 11.1.0 + resolution: "commander@npm:11.1.0" + checksum: 13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"compare-func@npm:^2.0.0": + version: 2.0.0 + resolution: "compare-func@npm:2.0.0" + dependencies: + array-ify: "npm:^1.0.0" + dot-prop: "npm:^5.1.0" + checksum: 78bd4dd4ed311a79bd264c9e13c36ed564cde657f1390e699e0f04b8eee1fc06ffb8698ce2dfb5fbe7342d509579c82d4e248f08915b708f77f7b72234086cc3 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"conventional-changelog-angular@npm:^7.0.0": + version: 7.0.0 + resolution: "conventional-changelog-angular@npm:7.0.0" + dependencies: + compare-func: "npm:^2.0.0" + checksum: 90e73e25e224059b02951b6703b5f8742dc2a82c1fea62163978e6735fd3ab04350897a8fc6f443ec6b672d6b66e28a0820e833e544a0101f38879e5e6289b7e + languageName: node + linkType: hard + +"conventional-changelog-conventionalcommits@npm:^7.0.2": + version: 7.0.2 + resolution: "conventional-changelog-conventionalcommits@npm:7.0.2" + dependencies: + compare-func: "npm:^2.0.0" + checksum: 3cb1eab35e37fc973cfb3aed0e159f54414e49b222988da1c2aa86cc8a87fe7531491bbb7657fe5fc4dc0e25f5b50e2065ba8ac71cc4c08eed9189102a2b81bd + languageName: node + linkType: hard + +"conventional-commits-parser@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-commits-parser@npm:5.0.0" + dependencies: + JSONStream: "npm:^1.3.5" + is-text-path: "npm:^2.0.0" + meow: "npm:^12.0.1" + split2: "npm:^4.0.0" + bin: + conventional-commits-parser: cli.mjs + checksum: c9e542f4884119a96a6bf3311ff62cdee55762d8547f4c745ae3ebdc50afe4ba7691e165e34827d5cf63283cbd93ab69917afd7922423075b123d5d9a7a82ed2 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.5.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b + languageName: node + linkType: hard + +"cosmiconfig-typescript-loader@npm:^5.0.0": + version: 5.0.0 + resolution: "cosmiconfig-typescript-loader@npm:5.0.0" + dependencies: + jiti: "npm:^1.19.1" + peerDependencies: + "@types/node": "*" + cosmiconfig: ">=8.2" + typescript: ">=4" + checksum: 0eb1a767a589cf092e68729e184d5917ae0b167b6f5d908bc58cee221d66b937430fc58df64029795ef98bb8e85c575da6e3819c5f9679c721de7bdbb4bde719 + languageName: node + linkType: hard + +"cosmiconfig@npm:^7.0.0": + version: 7.1.0 + resolution: "cosmiconfig@npm:7.1.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.2.1" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.10.0" + checksum: b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 + languageName: node + linkType: hard + +"cosmiconfig@npm:^8.3.6": + version: 8.3.6 + resolution: "cosmiconfig@npm:8.3.6" + dependencies: + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + path-type: "npm:^4.0.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 0382a9ed13208f8bfc22ca2f62b364855207dffdb73dc26e150ade78c3093f1cf56172df2dd460c8caf2afa91c0ed4ec8a88c62f8f9cd1cf423d26506aa8797a + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"csstype@npm:^3.0.2, csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.8": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: 4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 + languageName: node + linkType: hard + +"dargs@npm:^7.0.0": + version: 7.0.0 + resolution: "dargs@npm:7.0.0" + checksum: ec7f6a8315a8fa2f8b12d39207615bdf62b4d01f631b96fbe536c8ad5469ab9ed710d55811e564d0d5c1d548fc8cb6cc70bf0939f2415790159f5a75e0f96c92 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 + languageName: node + linkType: hard + +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: "npm:^2.1.1" + checksum: 37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.1 + resolution: "decamelize-keys@npm:1.1.1" + dependencies: + decamelize: "npm:^1.1.0" + map-obj: "npm:^1.0.0" + checksum: 4ca385933127437658338c65fb9aead5f21b28d3dd3ccd7956eb29aab0953b5d3c047fbc207111672220c71ecf7a4d34f36c92851b7bbde6fca1a02c541bdd7d + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: "npm:^1.2.1" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + checksum: 77ef6e0bceb515e05b5913ab635a84d537cee84f8a7c37c77fdcb31fc5b80f6dbe81b33375e4b67d96aa04e6a0d8d4ea099e431d83f089af8d93adfb584bcb94 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"dequal@npm:^2.0.3": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"dom-helpers@npm:^5.0.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": "npm:^7.8.7" + csstype: "npm:^3.0.2" + checksum: f735074d66dd759b36b158fa26e9d00c9388ee0e8c9b16af941c38f014a37fc80782de83afefd621681b19ac0501034b4f1c4a3bff5caa1b8667f0212b5e124c + languageName: node + linkType: hard + +"dot-prop@npm:^5.1.0": + version: 5.3.0 + resolution: "dot-prop@npm:5.3.0" + dependencies: + is-obj: "npm:^2.0.0" + checksum: 93f0d343ef87fe8869320e62f2459f7e70f49c6098d948cc47e060f4a3f827d0ad61e83cb82f2bd90cd5b9571b8d334289978a43c0f98fea4f0e99ee8faa0599 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.601": + version: 1.4.642 + resolution: "electron-to-chromium@npm:1.4.642" + checksum: 1a45c745e4cfa6dd0a756ca7df8295dd227b80a6d3552ccedd9665525aedab53d5335e8b97d64c02a6b10b0c773f8b9c20877875b3a3eb2428330f14d3892f27 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.3.0": + version: 10.3.0 + resolution: "emoji-regex@npm:10.3.0" + checksum: b4838e8dcdceb44cf47f59abe352c25ff4fe7857acaf5fb51097c427f6f75b44d052eb907a7a3b86f86bc4eae3a93f5c2b7460abe79c407307e6212d65c91163 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"enhanced-resolve@npm:^5.12.0": + version: 5.15.0 + resolution: "enhanced-resolve@npm:5.15.0" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 69984a7990913948b4150855aed26a84afb4cb1c5a94fb8e3a65bd00729a73fc2eaff6871fb8e345377f294831afe349615c93560f2f54d61b43cdfdf668f19a + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-abstract@npm:^1.22.1": + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" + dependencies: + array-buffer-byte-length: "npm:^1.0.0" + arraybuffer.prototype.slice: "npm:^1.0.2" + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.5" + es-set-tostringtag: "npm:^2.0.1" + es-to-primitive: "npm:^1.2.1" + function.prototype.name: "npm:^1.1.6" + get-intrinsic: "npm:^1.2.2" + get-symbol-description: "npm:^1.0.0" + globalthis: "npm:^1.0.3" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + internal-slot: "npm:^1.0.5" + is-array-buffer: "npm:^3.0.2" + is-callable: "npm:^1.2.7" + is-negative-zero: "npm:^2.0.2" + is-regex: "npm:^1.1.4" + is-shared-array-buffer: "npm:^1.0.2" + is-string: "npm:^1.0.7" + is-typed-array: "npm:^1.1.12" + is-weakref: "npm:^1.0.2" + object-inspect: "npm:^1.13.1" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.4" + regexp.prototype.flags: "npm:^1.5.1" + safe-array-concat: "npm:^1.0.1" + safe-regex-test: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.8" + string.prototype.trimend: "npm:^1.0.7" + string.prototype.trimstart: "npm:^1.0.7" + typed-array-buffer: "npm:^1.0.0" + typed-array-byte-length: "npm:^1.0.0" + typed-array-byte-offset: "npm:^1.0.0" + typed-array-length: "npm:^1.0.4" + unbox-primitive: "npm:^1.0.2" + which-typed-array: "npm:^1.1.13" + checksum: da31ec43b1c8eb47ba8a17693cac143682a1078b6c3cd883ce0e2062f135f532e93d873694ef439670e1f6ca03195118f43567ba6f33fb0d6c7daae750090236 + languageName: node + linkType: hard + +"es-iterator-helpers@npm:^1.0.12, es-iterator-helpers@npm:^1.0.15": + version: 1.0.15 + resolution: "es-iterator-helpers@npm:1.0.15" + dependencies: + asynciterator.prototype: "npm:^1.0.0" + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.22.1" + es-set-tostringtag: "npm:^2.0.1" + function-bind: "npm:^1.1.1" + get-intrinsic: "npm:^1.2.1" + globalthis: "npm:^1.0.3" + has-property-descriptors: "npm:^1.0.0" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.5" + iterator.prototype: "npm:^1.1.2" + safe-array-concat: "npm:^1.0.1" + checksum: b4c83f94bfe624260d5238092de3173989f76f1416b1d02c388aea3b2024174e5f5f0e864057311ac99790b57e836ca3545b6e77256b26066dac944519f5e6d6 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.1": + version: 2.0.2 + resolution: "es-set-tostringtag@npm:2.0.2" + dependencies: + get-intrinsic: "npm:^1.2.2" + has-tostringtag: "npm:^1.0.0" + hasown: "npm:^2.0.0" + checksum: 176d6bd1be31dd0145dcceee62bb78d4a5db7f81db437615a18308a6f62bcffe45c15081278413455e8cf0aad4ea99079de66f8de389605942dfdacbad74c2d5 + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: "npm:^2.0.0" + checksum: f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: "npm:^1.1.4" + is-date-object: "npm:^1.0.1" + is-symbol: "npm:^1.0.2" + checksum: 0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: afd02e6ca91ffa813e1108b5e7756566173d6bc0d1eb951cb44d6b21702ec17c1cf116cfe75d4a2b02e05acb0b808a7a9387d0d1ca5cf9c04ad03a8445c3e46d + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-next@npm:14.1.0": + version: 14.1.0 + resolution: "eslint-config-next@npm:14.1.0" + dependencies: + "@next/eslint-plugin-next": "npm:14.1.0" + "@rushstack/eslint-patch": "npm:^1.3.3" + "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0" + eslint-import-resolver-node: "npm:^0.3.6" + eslint-import-resolver-typescript: "npm:^3.5.2" + eslint-plugin-import: "npm:^2.28.1" + eslint-plugin-jsx-a11y: "npm:^6.7.1" + eslint-plugin-react: "npm:^7.33.2" + eslint-plugin-react-hooks: "npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: ">=3.3.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 8e3fc5fb99d8d8d03651a44487bd7739fd880cf6698292f548ebdb3886c52b3030758018970401f6220430e7d003a1100a62de47f86f7216d3c86ba0e1cd9cd1 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" + dependencies: + debug: "npm:^3.2.7" + is-core-module: "npm:^2.13.0" + resolve: "npm:^1.22.4" + checksum: 0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 + languageName: node + linkType: hard + +"eslint-import-resolver-typescript@npm:^3.5.2": + version: 3.6.1 + resolution: "eslint-import-resolver-typescript@npm:3.6.1" + dependencies: + debug: "npm:^4.3.4" + enhanced-resolve: "npm:^5.12.0" + eslint-module-utils: "npm:^2.7.4" + fast-glob: "npm:^3.3.1" + get-tsconfig: "npm:^4.5.0" + is-core-module: "npm:^2.11.0" + is-glob: "npm:^4.0.3" + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: cb1cb4389916fe78bf8c8567aae2f69243dbfe624bfe21078c56ad46fa1ebf0634fa7239dd3b2055ab5c27359e4b4c28b69b11fcb3a5df8a9e6f7add8e034d86 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": + version: 2.8.0 + resolution: "eslint-module-utils@npm:2.8.0" + dependencies: + debug: "npm:^3.2.7" + peerDependenciesMeta: + eslint: + optional: true + checksum: c7a8d1a58d76ec8217a8fea49271ec8132d1b9390965a75f6a4ecbc9e5983d742195b46d2e4378231d2186801439fe1aa5700714b0bfd4eb17aac6e1b65309df + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.28.1": + version: 2.29.1 + resolution: "eslint-plugin-import@npm:2.29.1" + dependencies: + array-includes: "npm:^3.1.7" + array.prototype.findlastindex: "npm:^1.2.3" + array.prototype.flat: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.2" + debug: "npm:^3.2.7" + doctrine: "npm:^2.1.0" + eslint-import-resolver-node: "npm:^0.3.9" + eslint-module-utils: "npm:^2.8.0" + hasown: "npm:^2.0.0" + is-core-module: "npm:^2.13.1" + is-glob: "npm:^4.0.3" + minimatch: "npm:^3.1.2" + object.fromentries: "npm:^2.0.7" + object.groupby: "npm:^1.0.1" + object.values: "npm:^1.1.7" + semver: "npm:^6.3.1" + tsconfig-paths: "npm:^3.15.0" + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + checksum: 5f35dfbf4e8e67f741f396987de9504ad125c49f4144508a93282b4ea0127e052bde65ab6def1f31b6ace6d5d430be698333f75bdd7dca3bc14226c92a083196 + languageName: node + linkType: hard + +"eslint-plugin-jsx-a11y@npm:^6.7.1": + version: 6.8.0 + resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" + dependencies: + "@babel/runtime": "npm:^7.23.2" + aria-query: "npm:^5.3.0" + array-includes: "npm:^3.1.7" + array.prototype.flatmap: "npm:^1.3.2" + ast-types-flow: "npm:^0.0.8" + axe-core: "npm:=4.7.0" + axobject-query: "npm:^3.2.1" + damerau-levenshtein: "npm:^1.0.8" + emoji-regex: "npm:^9.2.2" + es-iterator-helpers: "npm:^1.0.15" + hasown: "npm:^2.0.0" + jsx-ast-utils: "npm:^3.3.5" + language-tags: "npm:^1.0.9" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.7" + object.fromentries: "npm:^2.0.7" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: 199b883e526e6f9d7c54cb3f094abc54f11a1ec816db5fb6cae3b938eb0e503acc10ccba91ca7451633a9d0b9abc0ea03601844a8aba5fe88c5e8897c9ac8f49 + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": + version: 4.6.0 + resolution: "eslint-plugin-react-hooks@npm:4.6.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + checksum: 58c7e10ea5792c33346fcf5cb4024e14837035ce412ff99c2dcb7c4f903dc9b17939078f80bfef826301ce326582c396c00e8e0ac9d10ac2cde2b42d33763c65 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.33.2": + version: 7.33.2 + resolution: "eslint-plugin-react@npm:7.33.2" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flatmap: "npm:^1.3.1" + array.prototype.tosorted: "npm:^1.1.1" + doctrine: "npm:^2.1.0" + es-iterator-helpers: "npm:^1.0.12" + estraverse: "npm:^5.3.0" + jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" + minimatch: "npm:^3.1.2" + object.entries: "npm:^1.1.6" + object.fromentries: "npm:^2.0.6" + object.hasown: "npm:^1.1.2" + object.values: "npm:^1.1.6" + prop-types: "npm:^15.8.1" + resolve: "npm:^2.0.0-next.4" + semver: "npm:^6.3.1" + string.prototype.matchall: "npm:^4.0.8" + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + checksum: f9b247861024bafc396c4bd3c9ac946604b3b23077251c98f23602aa22027a0c33a69157fd49564e4ff7f17b3678e5dc366a46c7ec42a09454d7cbce786d5001 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8": + version: 8.56.0 + resolution: "eslint@npm:8.56.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.56.0" + "@humanwhocodes/config-array": "npm:^0.11.13" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + languageName: node + linkType: hard + +"execa@npm:8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.16.0 + resolution: "fastq@npm:1.16.0" + dependencies: + reusify: "npm:^1.0.4" + checksum: 38c1b49adba639af020727284a02af021acab764efd7f088bc31364e8a5b01ce9031eb6c5f7f304019b8267c3b7c236e79d6904884f50f94f83b1700b8a6619a + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + languageName: node + linkType: hard + +"find-root@npm:^1.1.0": + version: 1.1.0 + resolution: "find-root@npm:1.1.0" + checksum: 1abc7f3bf2f8d78ff26d9e00ce9d0f7b32e5ff6d1da2857bcdf4746134c422282b091c672cde0572cac3840713487e0a7a636af9aa1b74cb11894b447a521efa + languageName: node + linkType: hard + +"find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.2.9 + resolution: "flatted@npm:3.2.9" + checksum: 5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: "npm:^1.1.3" + checksum: 22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + languageName: node + linkType: hard + +"fraction.js@npm:^4.3.7": + version: 4.3.7 + resolution: "fraction.js@npm:4.3.7" + checksum: df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + functions-have-names: "npm:^1.2.3" + checksum: 9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.3": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: 33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-east-asian-width@npm:^1.0.0": + version: 1.2.0 + resolution: "get-east-asian-width@npm:1.2.0" + checksum: 914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" + dependencies: + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 4e7fb8adc6172bae7c4fe579569b4d5238b3667c07931cd46b4eee74bbe6ff6b91329bec311a638d8e60f5b51f44fe5445693c6be89ae88d4b5c49f7ff12db0b + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.1.1" + checksum: 23bc3b44c221cdf7669a88230c62f4b9e30393b61eb21ba4400cb3e346801bd8f95fe4330ee78dbae37aecd874646d53e3e76a17a654d0c84c77f6690526d6bb + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.5.0": + version: 4.7.2 + resolution: "get-tsconfig@npm:4.7.2" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 + languageName: node + linkType: hard + +"git-raw-commits@npm:^2.0.11": + version: 2.0.11 + resolution: "git-raw-commits@npm:2.0.11" + dependencies: + dargs: "npm:^7.0.0" + lodash: "npm:^4.17.15" + meow: "npm:^8.0.0" + split2: "npm:^3.0.0" + through2: "npm:^4.0.0" + bin: + git-raw-commits: cli.js + checksum: c9cee7ce11a6703098f028d7e47986d5d3e4147d66640086734d6ee2472296b8711f91b40ad458e95acac1bc33cf2898059f1dc890f91220ff89c5fcc609ab64 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:10.3.10, glob@npm:^10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d + languageName: node + linkType: hard + +"glob@npm:^10.2.2": + version: 10.3.14 + resolution: "glob@npm:10.3.14" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.6" + minimatch: "npm:^9.0.1" + minipass: "npm:^7.0.4" + path-scurry: "npm:^1.11.0" + bin: + glob: dist/esm/bin.mjs + checksum: 19126e53b99c94dea9b3509500e22b325e24d2674523fc95b9fe710f1549ad7e091fbb0704c325c53d3a172fc21a8251acce5395c4f3efd872a2e65a376c82a1 + languageName: node + linkType: hard + +"glob@npm:^7.1.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"global-dirs@npm:^0.1.1": + version: 0.1.1 + resolution: "global-dirs@npm:0.1.1" + dependencies: + ini: "npm:^1.3.4" + checksum: 3608072e58962396c124ad5a1cfb3f99ee76c998654a3432d82977b3c3eeb09dc8a5a2a9849b2b8113906c8d0aad89ce362c22e97cec5fe34405bbf4f3cdbe7a + languageName: node + linkType: hard + +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globalthis@npm:^1.0.3": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" + dependencies: + define-properties: "npm:^1.1.3" + checksum: 0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: febc3343a1ad575aedcc112580835b44a89a89e01f400b4eda6e8110869edfdab0b00cd1bd4c3bfec9475a57e79e0b355aecd5be46454b6a62b9a359af60e564 + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1": + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.2" + checksum: d62ba94b40150b00d621bc64a6aedb5bf0ee495308b4b7ed6bac856043db3cdfb1db553ae81cec91c9d2bd82057ff0e94145e7fa25d5aa5985ed32e0921927f6 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: c8a8fe411f810b23a564bd5546a8f3f0fff6f1b692740eb7a2fdc9df716ef870040806891e2f23ff4653f1083e3895bf12088703dd1a0eac3d9202d3a4768cd0 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 1cdba76b7d13f65198a92b8ca1560ba40edfa09e85d182bf436d928f3588a9ebd260451d569f0ed1b849c4bf54f49c862aa0d0a77f9552b1855bb6deb526c011 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 5d415b114f410661208c95e7ab4879f1cc2765b8daceff4dc8718317d1cb7b9ffa7c5d1eafd9a4389c9aab7445d6ea88e05f3096cb1e529618b55304956b87fc + languageName: node + linkType: hard + +"hoist-non-react-statics@npm:^3.3.1": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" + dependencies: + react-is: "npm:^16.7.0" + checksum: fe0889169e845d738b59b64badf5e55fa3cf20454f9203d1eb088df322d49d4318df774828e789898dcb280e8a5521bb59b3203385662ca5e9218a6ca5820e74 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: 317cbc6b1bbbe23c2a40ae23f3dafe9fa349ce42a89a36f930e3f9c0530c179a3882d2ef1e4141a4c3674d6faaea862138ec55b43ad6f75e387fda2483a13c70 + languageName: node + linkType: hard + +"hosted-git-info@npm:^4.0.1": + version: 4.1.0 + resolution: "hosted-git-info@npm:4.1.0" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 150fbcb001600336d17fdbae803264abed013548eea7946c2264c49ebe2ebd8c4441ba71dd23dd8e18c65de79d637f98b22d4760ba5fb2e0b15d62543d0fff07 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.4 + resolution: "https-proxy-agent@npm:7.0.4" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"husky@npm:^8.0.3": + version: 8.0.3 + resolution: "husky@npm:8.0.3" + bin: + husky: lib/bin.js + checksum: 6722591771c657b91a1abb082e07f6547eca79144d678e586828ae806499d90dce2a6aee08b66183fd8b085f19d20e0990a2ad396961746b4c8bd5bdb619d668 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.0 + resolution: "ignore@npm:5.3.0" + checksum: dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.5": + version: 1.0.6 + resolution: "internal-slot@npm:1.0.6" + dependencies: + get-intrinsic: "npm:^1.2.2" + hasown: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: aa37cafc8ffbf513a340de58f40d5017b4949d99722d7e4f0e24b182455bdd258000d4bb1d7b4adcf9f8979b97049b99fe9defa9db8e18a78071d2637ac143fb + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.0" + is-typed-array: "npm:^1.1.10" + checksum: 40ed13a5f5746ac3ae2f2e463687d9b5a3f5fd0086f970fb4898f0253c2a5ec2e3caea2d664dd8f54761b1c1948609702416921a22faebe160c7640a9217c80e + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 + languageName: node + linkType: hard + +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: "npm:^1.0.1" + checksum: eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.5.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: 81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^4.0.0": + version: 4.0.0 + resolution: "is-fullwidth-code-point@npm:4.0.0" + checksum: df2a717e813567db0f659c306d61f2f804d480752526886954a2a3e2246c7745fd07a52b5fecf2b68caf0a6c79dcdace6166fdf29cc76ed9975cc334f0a018b8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^5.0.0": + version: 5.0.0 + resolution: "is-fullwidth-code-point@npm:5.0.0" + dependencies: + get-east-asian-width: "npm:^1.0.0" + checksum: cd591b27d43d76b05fa65ed03eddce57a16e1eca0b7797ff7255de97019bcaf0219acfc0c4f7af13319e13541f2a53c0ace476f442b13267b9a6a7568f2b65c8 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.10": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-map@npm:^2.0.1": + version: 2.0.2 + resolution: "is-map@npm:2.0.2" + checksum: 119ff9137a37fd131a72fab3f4ab8c9d6a24b0a1ee26b4eff14dc625900d8675a97785eea5f4174265e2006ed076cc24e89f6e57ebd080a48338d914ec9168a5 + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: eda024c158f70f2017f3415e471b818d314da5ef5be68f801b16314d4a4b6304a74cbed778acf9e2f955bb9c1c5f2935c1be0c7c99e1ad12286f45366217b6a3 + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: 85044ed7ba8bd169e2c2af3a178cacb92a97aa75de9569d02efef7f443a824b5e153eba72b9ae3aca6f8ce81955271aa2dc7da67a8b720575d3e38104208cb4e + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c + languageName: node + linkType: hard + +"is-regex@npm:^1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + languageName: node + linkType: hard + +"is-set@npm:^2.0.1": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: 5f8bd1880df8c0004ce694e315e6e1e47a3452014be792880bb274a3b2cdb952fdb60789636ca6e084c7947ca8b7ae03ccaf54c93a7fcfed228af810559e5432 + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: cfeee6f171f1b13e6cbc6f3b6cc44e192b93df39f3fcb31aa66ffb1d2df3b91e05664311659f9701baba62f5e98c83b0673c628e7adc30f55071c4874fcdccec + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + languageName: node + linkType: hard + +"is-text-path@npm:^2.0.0": + version: 2.0.0 + resolution: "is-text-path@npm:2.0.0" + dependencies: + text-extensions: "npm:^2.0.0" + checksum: e3c470e1262a3a54aa0fca1c0300b2659a7aed155714be6b643f88822c03bcfa6659b491f7a05c5acd3c1a3d6d42bab47e1bdd35bcc3a25973c4f26b2928bc1a + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" + dependencies: + which-typed-array: "npm:^1.1.11" + checksum: 9863e9cc7223c6fc1c462a2c3898a7beff6b41b1ee0fabb03b7d278ae7de670b5bcbc8627db56bb66ed60902fa37d53fe5cce0fd2f7d73ac64fe5da6f409b6ae + languageName: node + linkType: hard + +"is-weakmap@npm:^2.0.1": + version: 2.0.1 + resolution: "is-weakmap@npm:2.0.1" + checksum: 9c9fec9efa7bf5030a4a927f33fff2a6976b93646259f92b517d3646c073cc5b98283a162ce75c412b060a46de07032444b530f0a4c9b6e012ef8f1741c3a987 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + checksum: 1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + languageName: node + linkType: hard + +"is-weakset@npm:^2.0.1": + version: 2.0.2 + resolution: "is-weakset@npm:2.0.2" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.1.1" + checksum: ef5136bd446ae4603229b897f73efd0720c6ab3ec6cc05c8d5c4b51aa9f95164713c4cad0a22ff1fedf04865ff86cae4648bc1d5eead4b6388e1150525af1cc1 + languageName: node + linkType: hard + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + reflect.getprototypeof: "npm:^1.0.4" + set-function-name: "npm:^2.0.1" + checksum: a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 + languageName: node + linkType: hard + +"jackspeak@npm:^2.3.5, jackspeak@npm:^2.3.6": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + languageName: node + linkType: hard + +"jiti@npm:^1.19.1": + version: 1.21.0 + resolution: "jiti@npm:1.21.0" + bin: + jiti: bin/jiti.js + checksum: 7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 + languageName: node + linkType: hard + +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" + dependencies: + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1 + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"language-subtag-registry@npm:^0.3.20": + version: 0.3.22 + resolution: "language-subtag-registry@npm:0.3.22" + checksum: d1e09971260a7cd3b9fdeb190d33af0b6e99c8697013537d9aaa15f7856d9d83aee128ba8078e219df0a7cf4b8dd18d1a0c188f6543b500d92a2689d2d114b70 + languageName: node + linkType: hard + +"language-tags@npm:^1.0.9": + version: 1.0.9 + resolution: "language-tags@npm:1.0.9" + dependencies: + language-subtag-registry: "npm:^0.3.20" + checksum: 9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lilconfig@npm:3.0.0, lilconfig@npm:^3.0.0": + version: 3.0.0 + resolution: "lilconfig@npm:3.0.0" + checksum: 7f5ee7a658dc016cacf146815e8d88b06f06f4402823b8b0934e305a57a197f55ccc9c5cd4fb5ea1b2b821c8ccaf2d54abd59602a4931af06eabda332388d3e6 + languageName: node + linkType: hard + +"lilconfig@npm:^2.1.0": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"lint-staged@npm:^15.2.0": + version: 15.2.2 + resolution: "lint-staged@npm:15.2.2" + dependencies: + chalk: "npm:5.3.0" + commander: "npm:11.1.0" + debug: "npm:4.3.4" + execa: "npm:8.0.1" + lilconfig: "npm:3.0.0" + listr2: "npm:8.0.1" + micromatch: "npm:4.0.5" + pidtree: "npm:0.6.0" + string-argv: "npm:0.3.2" + yaml: "npm:2.3.4" + bin: + lint-staged: bin/lint-staged.js + checksum: a1ba6c7ee53e30a0f6ea9a351d95d3d0d2be916a41b561e22907e9ea513eb18cb3dbe65bff3ec13fad15777999efe56b2e2a95427e31d12a9b7e7948c3630ee2 + languageName: node + linkType: hard + +"listr2@npm:8.0.1": + version: 8.0.1 + resolution: "listr2@npm:8.0.1" + dependencies: + cli-truncate: "npm:^4.0.0" + colorette: "npm:^2.0.20" + eventemitter3: "npm:^5.0.1" + log-update: "npm:^6.0.0" + rfdc: "npm:^1.3.0" + wrap-ansi: "npm:^9.0.0" + checksum: b565d6ceb3a4c2dbe0c1735c0fd907afd0d6f89de21aced8e05187b2d88ca2f8f9ebc5d743885396a00f05f13146f6be744d098a56ce0402cf1cd131485a7ff1 + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432 + languageName: node + linkType: hard + +"lodash.isfunction@npm:^3.0.9": + version: 3.0.9 + resolution: "lodash.isfunction@npm:3.0.9" + checksum: e88620922f5f104819496884779ca85bfc542efb2946df661ab3e2cd38da5c8375434c6adbedfc76dd3c2b04075d2ba8ec215cfdedf08ddd2e3c3467e8a26ccd + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.kebabcase@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.kebabcase@npm:4.1.1" + checksum: da5d8f41dbb5bc723d4bf9203d5096ca8da804d6aec3d2b56457156ba6c8d999ff448d347ebd97490da853cb36696ea4da09a431499f1ee8deb17b094ecf4e33 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.mergewith@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.mergewith@npm:4.6.2" + checksum: 4adbed65ff96fd65b0b3861f6899f98304f90fd71e7f1eb36c1270e05d500ee7f5ec44c02ef979b5ddbf75c0a0b9b99c35f0ad58f4011934c4d4e99e5200b3b5 + languageName: node + linkType: hard + +"lodash.snakecase@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.snakecase@npm:4.1.1" + checksum: f0b3f2497eb20eea1a1cfc22d645ecaeb78ac14593eb0a40057977606d2f35f7aaff0913a06553c783b535aafc55b718f523f9eb78f8d5293f492af41002eaf9 + languageName: node + linkType: hard + +"lodash.startcase@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.startcase@npm:4.4.0" + checksum: bd82aa87a45de8080e1c5ee61128c7aee77bf7f1d86f4ff94f4a6d7438fc9e15e5f03374b947be577a93804c8ad6241f0251beaf1452bf716064eeb657b3a9f0 + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 262d400bb0952f112162a320cc4a75dea4f66078b9e7e3075ffbc9c6aa30b3e9df3cf20e7da7d566105e1ccf7804e4fbd7d804eee0b53de05d83f16ffbf41c5e + languageName: node + linkType: hard + +"lodash.upperfirst@npm:^4.3.1": + version: 4.3.1 + resolution: "lodash.upperfirst@npm:4.3.1" + checksum: 435625da4b3ee74e7a1367a780d9107ab0b13ef4359fc074b2a1a40458eb8d91b655af62f6795b7138d493303a98c0285340160341561d6896e4947e077fa975 + languageName: node + linkType: hard + +"lodash@npm:^4.17.15": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-update@npm:^6.0.0": + version: 6.0.0 + resolution: "log-update@npm:6.0.0" + dependencies: + ansi-escapes: "npm:^6.2.0" + cli-cursor: "npm:^4.0.0" + slice-ansi: "npm:^7.0.0" + strip-ansi: "npm:^7.1.0" + wrap-ansi: "npm:^9.0.0" + checksum: e0b3c3401ef49ce3eb17e2f83d644765e4f7988498fc1344eaa4f31ab30e510dcc469a7fb64dc01bd1c8d9237d917598fa677a9818705fb3774c10f6e9d4b27c + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.2.2 + resolution: "lru-cache@npm:10.2.2" + checksum: 402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: ccca88395e7d38671ed9f5652ecf471ecd546924be2fb900836b9da35e068a96687d96a5f93dcdfa94d9a27d649d2f10a84595590f89a347fb4dda47629dcc52 + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: 1c19e1c88513c8abdab25c316367154c6a0a6a0f77e3e8c391bb7c0e093aefed293f539d026dc013d86219e5e4c25f23b0003ea588be2101ccd757bacc12d43b + languageName: node + linkType: hard + +"meow@npm:^12.0.1": + version: 12.1.1 + resolution: "meow@npm:12.1.1" + checksum: a125ca99a32e2306e2f4cbe651a0d27f6eb67918d43a075f6e80b35e9bf372ebf0fc3a9fbc201cbbc9516444b6265fb3c9f80c5b7ebd32f548aa93eb7c28e088 + languageName: node + linkType: hard + +"meow@npm:^8.0.0": + version: 8.1.2 + resolution: "meow@npm:8.1.2" + dependencies: + "@types/minimist": "npm:^1.2.0" + camelcase-keys: "npm:^6.2.2" + decamelize-keys: "npm:^1.1.0" + hard-rejection: "npm:^2.1.0" + minimist-options: "npm:4.1.0" + normalize-package-data: "npm:^3.0.0" + read-pkg-up: "npm:^7.0.1" + redent: "npm:^3.0.0" + trim-newlines: "npm:^3.0.0" + type-fest: "npm:^0.18.0" + yargs-parser: "npm:^20.2.3" + checksum: 9a8d90e616f783650728a90f4ea1e5f763c1c5260369e6596b52430f877f4af8ecbaa8c9d952c93bbefd6d5bda4caed6a96a20ba7d27b511d2971909b01922a2 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:4.0.5, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: "npm:^3.0.2" + picomatch: "npm:^2.3.1" + checksum: 3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: 7e207bd5c20401b292de291f02913230cb1163abca162044f7db1d951fa245b174dc00869d40dd9a9f32a885ad6a5f3e767ee104cf278f399cb4e92d3f582d5c + languageName: node + linkType: hard + +"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: "npm:^1.0.1" + is-plain-obj: "npm:^1.1.0" + kind-of: "npm:^6.0.3" + checksum: 7871f9cdd15d1e7374e5b013e2ceda3d327a06a8c7b38ae16d9ef941e07d985e952c589e57213f7aa90a8744c60aed9524c0d85e501f5478382d9181f2763f54 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 + languageName: node + linkType: hard + +"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": + version: 7.1.1 + resolution: "minipass@npm:7.1.1" + checksum: fdccc2f99c31083f45f881fd1e6971d798e333e078ab3c8988fb818c470fbd5e935388ad9adb286397eba50baebf46ef8ff487c8d3f455a69c6f3efc327bdff9 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"nanoid@npm:^5.0.4": + version: 5.0.7 + resolution: "nanoid@npm:5.0.7" + bin: + nanoid: bin/nanoid.js + checksum: a3fb1c157e3e35378f44e5a7130c70f80c9037f66c9a37285e5e3d8298e8405fcb2399baaa420980b0fe5fd9c2e4186a6a31c3526f21de03cf34c1b459871401 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"next@npm:^14.2.3": + version: 14.2.3 + resolution: "next@npm:14.2.3" + dependencies: + "@next/env": "npm:14.2.3" + "@next/swc-darwin-arm64": "npm:14.2.3" + "@next/swc-darwin-x64": "npm:14.2.3" + "@next/swc-linux-arm64-gnu": "npm:14.2.3" + "@next/swc-linux-arm64-musl": "npm:14.2.3" + "@next/swc-linux-x64-gnu": "npm:14.2.3" + "@next/swc-linux-x64-musl": "npm:14.2.3" + "@next/swc-win32-arm64-msvc": "npm:14.2.3" + "@next/swc-win32-ia32-msvc": "npm:14.2.3" + "@next/swc-win32-x64-msvc": "npm:14.2.3" + "@swc/helpers": "npm:0.5.5" + busboy: "npm:1.6.0" + caniuse-lite: "npm:^1.0.30001579" + graceful-fs: "npm:^4.2.11" + postcss: "npm:8.4.31" + styled-jsx: "npm:5.1.1" + peerDependencies: + "@opentelemetry/api": ^1.1.0 + "@playwright/test": ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + dependenciesMeta: + "@next/swc-darwin-arm64": + optional: true + "@next/swc-darwin-x64": + optional: true + "@next/swc-linux-arm64-gnu": + optional: true + "@next/swc-linux-arm64-musl": + optional: true + "@next/swc-linux-x64-gnu": + optional: true + "@next/swc-linux-x64-musl": + optional: true + "@next/swc-win32-arm64-msvc": + optional: true + "@next/swc-win32-ia32-msvc": + optional: true + "@next/swc-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + "@playwright/test": + optional: true + sass: + optional: true + bin: + next: dist/bin/next + checksum: 2c409154720846d07a7a995cc3bfba24b9ee73c87360ce3266528c8a217f5f1ab6f916cffbe1be83509b4e8d7b1d713921bb5c69338b4ecaa57df3212f79a8c5 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.1.0 + resolution: "node-gyp@npm:10.1.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c + languageName: node + linkType: hard + +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + languageName: node + linkType: hard + +"normalize-package-data@npm:^3.0.0": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: "npm:^4.0.1" + is-core-module: "npm:^2.5.0" + semver: "npm:^7.3.4" + validate-npm-package-license: "npm:^3.0.1" + checksum: e5d0f739ba2c465d41f77c9d950e291ea4af78f8816ddb91c5da62257c40b76d8c83278b0d08ffbcd0f187636ebddad20e181e924873916d03e6e5ea2ef026be + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object.assign@npm:^4.1.4": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" + dependencies: + call-bind: "npm:^1.0.5" + define-properties: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + object-keys: "npm:^1.1.1" + checksum: 60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + languageName: node + linkType: hard + +"object.entries@npm:^1.1.6, object.entries@npm:^1.1.7": + version: 1.1.7 + resolution: "object.entries@npm:1.1.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 3ad1899cc7bf14546bf28f4a9b363ae8690b90948fcfbcac4c808395435d760f26193d9cae95337ce0e3c1e5c1f4fa45f7b46b31b68d389e9e117fce38775d86 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": + version: 2.0.7 + resolution: "object.fromentries@npm:2.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 071745c21f6fc9e6c914691f2532c1fb60ad967e5ddc52801d09958b5de926566299d07ae14466452a7efd29015f9145d6c09c573d93a0dc6f1683ee0ec2b93b + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.1": + version: 1.0.1 + resolution: "object.groupby@npm:1.0.1" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + checksum: 61e41fbf08cc04ed860363db9629eedeaa590fce243c0960e948fd7b11f78a9d4350065c339936d118a2dd8775d7259e26207340cc8ce688bec66cb615fec6fe + languageName: node + linkType: hard + +"object.hasown@npm:^1.1.2": + version: 1.1.3 + resolution: "object.hasown@npm:1.1.3" + dependencies: + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 8a41ba4fb1208a85c2275e9b5098071beacc24345b9a71ab98ef0a1c61b34dc74c6b460ff1e1884c33843d8f2553df64a10eec2b74b3ed009e3b2710c826bd2c + languageName: node + linkType: hard + +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": + version: 1.1.7 + resolution: "object.values@npm:1.1.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: e869d6a37fb7afdd0054dea49036d6ccebb84854a8848a093bbd1bc516f53e690bba88f0bc3e83fdfa74c601469ee6989c9b13359cda9604144c6e732fad3b6b + languageName: node + linkType: hard + +"once@npm:^1.3.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": "npm:^1.2.3" + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + checksum: 66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: "npm:^9.1.1 || ^10.0.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.0": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: 20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pidtree@npm:0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + +"postcss-import@npm:^15.1.0": + version: 15.1.0 + resolution: "postcss-import@npm:15.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-js@npm:4.0.1" + dependencies: + camelcase-css: "npm:^2.0.1" + peerDependencies: + postcss: ^8.4.21 + checksum: af35d55cb873b0797d3b42529514f5318f447b134541844285c9ac31a17497297eb72296902967911bb737a75163441695737300ce2794e3bd8c70c13a3b106e + languageName: node + linkType: hard + +"postcss-load-config@npm:^4.0.1": + version: 4.0.2 + resolution: "postcss-load-config@npm:4.0.2" + dependencies: + lilconfig: "npm:^3.0.0" + yaml: "npm:^2.3.4" + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 3d7939acb3570b0e4b4740e483d6e555a3e2de815219cb8a3c8fc03f575a6bde667443aa93369c0be390af845cb84471bf623e24af833260de3a105b78d42519 + languageName: node + linkType: hard + +"postcss-nested@npm:^6.0.1": + version: 6.0.1 + resolution: "postcss-nested@npm:6.0.1" + dependencies: + postcss-selector-parser: "npm:^6.0.11" + peerDependencies: + postcss: ^8.2.14 + checksum: 2a50aa36d5d103c2e471954830489f4c024deed94fa066169101db55171368d5f80b32446b584029e0471feee409293d0b6b1d8ede361f6675ba097e477b3cbd + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.11": + version: 6.0.15 + resolution: "postcss-selector-parser@npm:6.0.15" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 48b425d6cef497bcf6b7d136f6fd95cfca43026955e07ec9290d3c15457de3a862dbf251dd36f42c07a0d5b5ab6f31e41acefeff02528995a989b955505e440b + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:8.4.31": + version: 8.4.31 + resolution: "postcss@npm:8.4.31" + dependencies: + nanoid: "npm:^3.3.6" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf + languageName: node + linkType: hard + +"postcss@npm:^8, postcss@npm:^8.4.23": + version: 8.4.33 + resolution: "postcss@npm:8.4.33" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 16eda83458fcd8a91bece287b5920c7f57164c3ea293e6c80d0ea71ce7843007bcd8592260a5160b9a7f02693e6ac93e2495b02d8c7596d3f3f72c1447e3ba79 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-plugin-tailwindcss@npm:^0.5.11": + version: 0.5.14 + resolution: "prettier-plugin-tailwindcss@npm:0.5.14" + 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 + checksum: 9857873cb8cb0d9b7b895806e7f6265617a08805691125d282767dffb1cb3d2c4c662f2b9168ef391edc40dff1b81beb99eee488f96544e01b8924db694f2299 + languageName: node + linkType: hard + +"prettier@npm:3.2.4": + version: 3.2.4 + resolution: "prettier@npm:3.2.4" + bin: + prettier: bin/prettier.cjs + checksum: 88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 + languageName: node + linkType: hard + +"prisma@npm:5.8.1": + version: 5.8.1 + resolution: "prisma@npm:5.8.1" + dependencies: + "@prisma/engines": "npm:5.8.1" + bin: + prisma: build/index.js + checksum: 30b7cfd54829ece68ed3b4cfb7616d25744bcb2dfda7fadb39be59d49958f50c8dd62455d738ca7b4fff7edf710e21e50ae98f9d86fbd04c156e9b7f27fcec9f + languageName: node + linkType: hard + +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.13.1" + checksum: 59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: f9b1596fa7595a35c2f9d913ac312fede13d37dc8a747a51557ab36e11ce113bbe88ef4c0154968845559a7709cb6a7e7cbe75f7972182451cd45e7f057a334d + languageName: node + linkType: hard + +"react-dom@npm:^18": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.0" + peerDependencies: + react: ^18.2.0 + checksum: 66dfc5f93e13d0674e78ef41f92ed21dfb80f9c4ac4ac25a4b51046d41d4d2186abc915b897f69d3d0ebbffe6184e7c5876f2af26bfa956f179225d921be713a + languageName: node + linkType: hard + +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1 + languageName: node + linkType: hard + +"react-is@npm:^18.2.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"react-transition-group@npm:^4.4.5": + version: 4.4.5 + resolution: "react-transition-group@npm:4.4.5" + dependencies: + "@babel/runtime": "npm:^7.5.5" + dom-helpers: "npm:^5.0.1" + loose-envify: "npm:^1.4.0" + prop-types: "npm:^15.6.2" + peerDependencies: + react: ">=16.6.0" + react-dom: ">=16.6.0" + checksum: 2ba754ba748faefa15f87c96dfa700d5525054a0141de8c75763aae6734af0740e77e11261a1e8f4ffc08fd9ab78510122e05c21c2d79066c38bb6861a886c82 + languageName: node + linkType: hard + +"react@npm:^18": + version: 18.2.0 + resolution: "react@npm:18.2.0" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: b562d9b569b0cb315e44b48099f7712283d93df36b19a39a67c254c6686479d3980b7f013dc931f4a5a3ae7645eae6386b4aa5eea933baa54ecd0f9acb0902b8 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: "npm:^2.3.0" + checksum: 90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: "npm:^4.1.0" + read-pkg: "npm:^5.2.0" + type-fest: "npm:^0.8.1" + checksum: 82b3ac9fd7c6ca1bdc1d7253eb1091a98ff3d195ee0a45386582ce3e69f90266163c34121e6a0a02f1630073a6c0585f7880b3865efcae9c452fa667f02ca385 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": "npm:^2.4.0" + normalize-package-data: "npm:^2.5.0" + parse-json: "npm:^5.0.0" + type-fest: "npm:^0.6.0" + checksum: b51a17d4b51418e777029e3a7694c9bd6c578a5ab99db544764a0b0f2c7c0f58f8a6bc101f86a6fceb8ba6d237d67c89acf6170f6b98695d0420ddc86cf109fb + languageName: node + linkType: hard + +"readable-stream@npm:3, readable-stream@npm:^3.0.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: "npm:^4.0.0" + strip-indent: "npm:^3.0.0" + checksum: d64a6b5c0b50eb3ddce3ab770f866658a2b9998c678f797919ceb1b586bab9259b311407280bd80b804e2a7c7539b19238ae6a2a20c843f1a7fcff21d48c2eae + languageName: node + linkType: hard + +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.4 + resolution: "reflect.getprototypeof@npm:1.0.4" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + globalthis: "npm:^1.0.3" + which-builtin-type: "npm:^1.1.3" + checksum: 02104cdd22658b637efe6b1df73658edab539268347327c8250a72d0cb273dcdf280c284e2d94155d22601d022d16be1a816a8616d679e447cbcbde9860d15cb + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + set-function-name: "npm:^2.0.0" + checksum: 1de7d214c0a726c7c874a7023e47b0e27b9f7fdb64175bfe1861189de1704aaeca05c3d26c35aa375432289b99946f3cf86651a92a8f7601b90d8c226a23bcd8 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-global@npm:1.0.0, resolve-global@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-global@npm:1.0.0" + dependencies: + global-dirs: "npm:^0.1.1" + checksum: fda6ba81a07a0124756ce956dd871ca83763973326d8617143dab38d9c9afc666926604bfe8f0bfd046a9a285347568f32ceb3d4c55a1cb9de5614cca001a21c + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.19.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.4": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^2.0.0-next.4#optional!builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + languageName: node + linkType: hard + +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 6f7da8c5e422ac26aa38354870b1afac09963572cf2879443540449068cb43476e9cbccf6f8de3e0171e0d6f7f533c2bc1a0a008003c9a525bbc098e89041318 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.3.0": + version: 1.3.1 + resolution: "rfdc@npm:1.3.1" + checksum: 69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.0.1": + version: 1.1.0 + resolution: "safe-array-concat@npm:1.1.0" + dependencies: + call-bind: "npm:^1.0.5" + get-intrinsic: "npm:^1.2.2" + has-symbols: "npm:^1.0.3" + isarray: "npm:^2.0.5" + checksum: 833d3d950fc7507a60075f9bfaf41ec6dac7c50c7a9d62b1e6b071ecc162185881f92e594ff95c1a18301c881352dd6fd236d56999d5819559db7b92da9c28af + languageName: node + linkType: hard + +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.0.0": + version: 1.0.2 + resolution: "safe-regex-test@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.5" + get-intrinsic: "npm:^1.2.2" + is-regex: "npm:^1.1.4" + checksum: c24df9c3cbd9e6a6800f02411a12ce2bd642be22ce6ad03f796e7b3f3851d9eb1fb8d1fab48278b04fabe75dd279c10bc07a45e39543aa72407fbd8a31174958 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.0": + version: 0.23.0 + resolution: "scheduler@npm:0.23.0" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: b777f7ca0115e6d93e126ac490dbd82642d14983b3079f58f35519d992fa46260be7d6e6cede433a92db70306310c6f5f06e144f0e40c484199e09c1f7be53dd + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:7.6.0, semver@npm:^7.3.4, semver@npm:^7.5.4": + version: 7.6.0 + resolution: "semver@npm:7.6.0" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + languageName: node + linkType: hard + +"server-only@npm:^0.0.1": + version: 0.0.1 + resolution: "server-only@npm:0.0.1" + checksum: 4704f0ef85da0be981af6d4ed8e739d39bcfd265b9c246a684060acda5642d0fdc6daffc2308e71e2682c5f508090978802eae0a77623c9b90a49f9ae68048d6 + languageName: node + linkType: hard + +"set-function-length@npm:^1.1.1": + version: 1.2.0 + resolution: "set-function-length@npm:1.2.0" + dependencies: + define-data-property: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.2" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.1" + checksum: b4fdf68bbfa9944284a9469c04e0d9cdb7924942fab75cd11fb61e8a7518f0d40bbbbc1b46871f648a93b97d170d8047fe3492cdadff066a8a8ae4ce68d0564a + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: "npm:^1.0.1" + functions-have-names: "npm:^1.2.3" + has-property-descriptors: "npm:^1.0.0" + checksum: 6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: "npm:^1.0.0" + get-intrinsic: "npm:^1.0.2" + object-inspect: "npm:^1.9.0" + checksum: 054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slice-ansi@npm:^5.0.0": + version: 5.0.0 + resolution: "slice-ansi@npm:5.0.0" + dependencies: + ansi-styles: "npm:^6.0.0" + is-fullwidth-code-point: "npm:^4.0.0" + checksum: 2d4d40b2a9d5cf4e8caae3f698fe24ae31a4d778701724f578e984dcb485ec8c49f0c04dab59c401821e80fcdfe89cace9c66693b0244e40ec485d72e543914f + languageName: node + linkType: hard + +"slice-ansi@npm:^7.0.0": + version: 7.1.0 + resolution: "slice-ansi@npm:7.1.0" + dependencies: + ansi-styles: "npm:^6.2.1" + is-fullwidth-code-point: "npm:^5.0.0" + checksum: 631c971d4abf56cf880f034d43fcc44ff883624867bf11ecbd538c47343911d734a4656d7bc02362b40b89d765652a7f935595441e519b59e2ad3f4d5d6fe7ca + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.3 + resolution: "socks-proxy-agent@npm:8.0.3" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.7.1" + checksum: 4950529affd8ccd6951575e21c1b7be8531b24d924aa4df3ee32df506af34b618c4e50d261f4cc603f1bfd8d426915b7d629966c8ce45b05fb5ad8c8b9a6459d + languageName: node + linkType: hard + +"socks@npm:^2.7.1": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: 32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 + languageName: node + linkType: hard + +"source-map@npm:^0.5.7": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 49208f008618b9119208b0dadc9208a3a55053f4fd6a0ae8116861bd22696fc50f4142a35ebfdb389e05ccf2de8ad142573fefc9e26f670522d899f7b2fe7386 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.5.0 + resolution: "spdx-exceptions@npm:2.5.0" + checksum: 37217b7762ee0ea0d8b7d0c29fd48b7e4dfb94096b109d6255b589c561f57da93bf4e328c0290046115961b9209a8051ad9f525e48d433082fc79f496a4ea940 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 6f8a41c87759fa184a58713b86c6a8b028250f158159f1d03ed9d1b6ee4d9eefdc74181c8ddc581a341aa971c3e7b79e30b59c23b05d2436d5de1c30bdef7171 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.17 + resolution: "spdx-license-ids@npm:3.0.17" + checksum: ddf9477b5afc70f1a7d3bf91f0b8e8a1c1b0fa65d2d9a8b5c991b1a2ba91b693d8b9749700119d5ce7f3fbf307ac421087ff43d321db472605e98a5804f80eac + languageName: node + linkType: hard + +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: "npm:^3.0.0" + checksum: 2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e + languageName: node + linkType: hard + +"split2@npm:^4.0.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"streamsearch@npm:^1.1.0": + version: 1.1.0 + resolution: "streamsearch@npm:1.1.0" + checksum: fbd9aecc2621364384d157f7e59426f4bfd385e8b424b5aaa79c83a6f5a1c8fd2e4e3289e95de1eb3511cb96bb333d6281a9919fafce760e4edb35b2cd2facab + languageName: node + linkType: hard + +"string-argv@npm:0.3.2": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string-width@npm:^7.0.0": + version: 7.1.0 + resolution: "string-width@npm:7.1.0" + dependencies: + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 68a99fbc3bd3d8eb42886ff38dce819767dee55f606f74dfa4687a07dfd21262745d9683df0aa53bf81a5dd47c13da921a501925b974bec66a7ddd634fef0634 + languageName: node + linkType: hard + +"string.prototype.matchall@npm:^4.0.8": + version: 4.0.10 + resolution: "string.prototype.matchall@npm:4.0.10" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.5" + regexp.prototype.flags: "npm:^1.5.0" + set-function-name: "npm:^2.0.0" + side-channel: "npm:^1.0.4" + checksum: cd7495fb0de16d43efeee3887b98701941f3817bd5f09351ad1825b023d307720c86394d56d56380563d97767ab25bf5448db239fcecbb85c28e2180f23e324a + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" + dependencies: + call-bind: "npm:^1.0.2" + define-properties: "npm:^1.2.0" + es-abstract: "npm:^1.22.1" + checksum: 0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: "npm:^1.0.0" + checksum: ae0deaf41c8d1001c5d4fbe16cb553865c1863da4fae036683b474fa926af9fc121e155cb3fc57a68262b2ae7d5b8420aa752c97a6428c315d00efe2a3875679 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"styled-jsx@npm:5.1.1": + version: 5.1.1 + resolution: "styled-jsx@npm:5.1.1" + dependencies: + client-only: "npm:0.0.1" + peerDependencies: + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0" + peerDependenciesMeta: + "@babel/core": + optional: true + babel-plugin-macros: + optional: true + checksum: 42655cdadfa5388f8a48bb282d6b450df7d7b8cf066ac37038bd0499d3c9f084815ebd9ff9dfa12a218fd4441338851db79603498d7557207009c1cf4d609835 + languageName: node + linkType: hard + +"stylis@npm:4.2.0": + version: 4.2.0 + resolution: "stylis@npm:4.2.0" + checksum: a7128ad5a8ed72652c6eba46bed4f416521bc9745a460ef5741edc725252cebf36ee45e33a8615a7057403c93df0866ab9ee955960792db210bb80abd5ac6543 + languageName: node + linkType: hard + +"sucrase@npm:^3.32.0": + version: 3.35.0 + resolution: "sucrase@npm:3.35.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + glob: "npm:^10.3.10" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.3.0": + version: 3.4.1 + resolution: "tailwindcss@npm:3.4.1" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.5.3" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.0" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.19.1" + lilconfig: "npm:^2.1.0" + micromatch: "npm:^4.0.5" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.0.0" + postcss: "npm:^8.4.23" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.1" + postcss-nested: "npm:^6.0.1" + postcss-selector-parser: "npm:^6.0.11" + resolve: "npm:^1.22.2" + sucrase: "npm:^3.32.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: eec3d758f1cd4f51ab3b4c201927c3ecd18e55f8ac94256af60276aaf8d1df78f9dddb5e9fb1e057dfa7cea3c1356add4994cc3d42da9739df874e67047e656f + languageName: node + linkType: hard + +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"text-extensions@npm:^2.0.0": + version: 2.4.0 + resolution: "text-extensions@npm:2.4.0" + checksum: 6790e7ee72ad4d54f2e96c50a13e158bb57ce840dddc770e80960ed1550115c57bdc2cee45d5354d7b4f269636f5ca06aab4d6e0281556c841389aa837b23fcb + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"through2@npm:^4.0.0": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: "npm:3" + checksum: 3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c + languageName: node + linkType: hard + +"through@npm:>=2.2.7 <3": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: 03cfefde6c59ff57138412b8c6be922ecc5aec30694d784f2a65ef8dcbd47faef580b7de0c949345abdc56ec4b4abf64dd1e5aea619b200316e471a3dd5bf1f6 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.0.1": + version: 1.0.3 + resolution: "ts-api-utils@npm:1.0.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 9408338819c3aca2a709f0bc54e3f874227901506cacb1163612a6c8a43df224174feb965a5eafdae16f66fc68fd7bfee8d3275d0fa73fbb8699e03ed26520c9 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.15.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tslib@npm:^2.4.0": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: 303f5ecf40d03e1d5b635ce7660de3b33c18ed8ebc65d64920c02974d9e684c72483c23f9084587e9dd6466a2ece1da42ddc95b412a461794dd30baca95e2bac + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 0c585c26416fce9ecb5691873a1301b5aff54673c7999b6f925691ed01f5b9232db408cdbb0bd003d19f5ae284322523f44092d1f81ca0a48f11f7cf0be8cd38 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: dffbb99329da2aa840f506d376c863bd55f5636f4741ad6e65e82f5ce47e6914108f44f340a0b74009b0cb5d09d6752ae83203e53e98b1192cf80ecee5651636 + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.1" + is-typed-array: "npm:^1.1.10" + checksum: ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + has-proto: "npm:^1.0.1" + is-typed-array: "npm:^1.1.10" + checksum: 6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + has-proto: "npm:^1.0.1" + is-typed-array: "npm:^1.1.10" + checksum: 4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5 + languageName: node + linkType: hard + +"typed-array-length@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-length@npm:1.0.4" + dependencies: + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + is-typed-array: "npm:^1.1.9" + checksum: c5163c0103d07fefc8a2ad0fc151f9ca9a1f6422098c00f695d55f9896e4d63614cd62cf8d8a031c6cee5f418e8980a533796597174da4edff075b3d275a7e23 + languageName: node + linkType: hard + +"typescript@npm:^5": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: "npm:^1.0.2" + has-bigints: "npm:^1.0.2" + has-symbols: "npm:^1.0.3" + which-boxed-primitive: "npm:^1.0.2" + checksum: 81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: "npm:^1.0.1" + is-boolean-object: "npm:^1.1.0" + is-number-object: "npm:^1.0.4" + is-string: "npm:^1.0.5" + is-symbol: "npm:^1.0.3" + checksum: 0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + languageName: node + linkType: hard + +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: "npm:^1.1.5" + has-tostringtag: "npm:^1.0.0" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.0.5" + is-finalizationregistry: "npm:^1.0.2" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.1.4" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.0.2" + which-collection: "npm:^1.0.1" + which-typed-array: "npm:^1.1.9" + checksum: 2b7b234df3443b52f4fbd2b65b731804de8d30bcc4210ec84107ef377a81923cea7f2763b7fb78b394175cea59118bf3c41b9ffd2d643cb1d748ef93b33b6bd4 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.1": + version: 1.0.1 + resolution: "which-collection@npm:1.0.1" + dependencies: + is-map: "npm:^2.0.1" + is-set: "npm:^2.0.1" + is-weakmap: "npm:^2.0.1" + is-weakset: "npm:^2.0.1" + checksum: 249f913e1758ed2f06f00706007d87dc22090a80591a56917376e70ecf8fc9ab6c41d98e1c87208bb9648676f65d4b09c0e4d23c56c7afb0f0a73a27d701df5d + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.9": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.4" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.0" + checksum: 9f5f1c42918df3d5b91c4315ed0051d5d874370998bf095c9ae0df374f0881f85094e3c384b8fb08ab7b4d4f54ba81c0aff75da6226e7c0589b83dfbec1cd4c9 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrap-ansi@npm:^9.0.0": + version: 9.0.0 + resolution: "wrap-ansi@npm:9.0.0" + dependencies: + ansi-styles: "npm:^6.2.1" + string-width: "npm:^7.0.0" + strip-ansi: "npm:^7.1.0" + checksum: a139b818da9573677548dd463bd626a5a5286271211eb6e4e82f34a4f643191d74e6d4a9bb0a3c26ec90e6f904f679e0569674ac099ea12378a8b98e20706066 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yaml@npm:2.3.4, yaml@npm:^2.3.4": + version: 2.3.4 + resolution: "yaml@npm:2.3.4" + checksum: cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1 + languageName: node + linkType: hard + +"yaml@npm:^1.10.0": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.3": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.0.0": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"zod-form-data@npm:^2.0.2": + version: 2.0.2 + resolution: "zod-form-data@npm:2.0.2" + peerDependencies: + zod: ">= 3.11.0" + checksum: 962ad1d3f9ffead8c794b7adefdd3192ebb6483b3cd3b9f9295d5ffb517d15889b33994576ec2a4c56785e3bc0b4843aa007299d4a6c29bc750a367715174794 + languageName: node + linkType: hard + +"zod@npm:^3.22.4": + version: 3.23.8 + resolution: "zod@npm:3.23.8" + checksum: 8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69 + languageName: node + linkType: hard