├── .eslintrc.json
├── src
├── app
│ ├── globals.css
│ ├── favicon.ico
│ ├── SavedAlbums.tsx
│ ├── Counter.tsx
│ ├── page.tsx
│ ├── layout.tsx
│ ├── AlbumProvider.tsx
│ ├── chat.tsx
│ ├── Album.tsx
│ ├── action.tsx
│ └── spotify.ts
├── lib
│ └── utils.ts
└── components
│ ├── theme-provider.tsx
│ └── ui
│ ├── label.tsx
│ ├── input.tsx
│ ├── button.tsx
│ ├── tabs.tsx
│ └── card.tsx
├── postcss.config.js
├── next.config.js
├── components.json
├── .gitignore
├── tailwind.config.ts
├── public
├── vercel.svg
└── next.svg
├── tsconfig.json
├── package.json
├── README.md
├── tailwind.config.js
└── pnpm-lock.yaml
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/src/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jherr/streaming-sa-spotify/HEAD/src/app/favicon.ico
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { type ClassValue, clsx } from "clsx"
2 | import { twMerge } from "tailwind-merge"
3 |
4 | export function cn(...inputs: ClassValue[]) {
5 | return twMerge(clsx(inputs))
6 | }
7 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | images: {
4 | remotePatterns: [
5 | {
6 | protocol: "https",
7 | hostname: "i.scdn.co",
8 | port: "",
9 | pathname: "/**",
10 | },
11 | ],
12 | },
13 | };
14 |
15 | module.exports = nextConfig;
16 |
--------------------------------------------------------------------------------
/src/components/theme-provider.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import * as React from "react";
4 | import { ThemeProvider as NextThemesProvider } from "next-themes";
5 | import { type ThemeProviderProps } from "next-themes/dist/types";
6 |
7 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
8 | return {children};
9 | }
10 |
--------------------------------------------------------------------------------
/components.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://ui.shadcn.com/schema.json",
3 | "style": "default",
4 | "rsc": true,
5 | "tsx": true,
6 | "tailwind": {
7 | "config": "tailwind.config.js",
8 | "css": "src/app/globals.css",
9 | "baseColor": "slate",
10 | "cssVariables": true
11 | },
12 | "aliases": {
13 | "components": "@/components",
14 | "utils": "@/lib/utils"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 | .yarn/install-state.gz
8 |
9 | # testing
10 | /coverage
11 |
12 | # next.js
13 | /.next/
14 | /out/
15 |
16 | # production
17 | /build
18 |
19 | # misc
20 | .DS_Store
21 | *.pem
22 |
23 | # debug
24 | npm-debug.log*
25 | yarn-debug.log*
26 | yarn-error.log*
27 |
28 | # local env files
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/src/app/SavedAlbums.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import { useAlbumsContext } from "./AlbumProvider";
3 | import Album from "./Album";
4 |
5 | export default function SavedCode() {
6 | const [albums] = useAlbumsContext();
7 | return (
8 | <>
9 |
Saved Albums
10 |
11 | {albums.map((album) => (
12 |
15 | ))}
16 |
17 | >
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/src/app/Counter.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import { useState } from "react";
3 |
4 | export default function Counter() {
5 | const [count, setCount] = useState(0);
6 | return (
7 |
8 |
Counter
9 |
You clicked {count} times
10 |
16 |
17 | );
18 | }
19 |
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import type { Config } from 'tailwindcss'
2 |
3 | const config: Config = {
4 | content: [
5 | './src/pages/**/*.{js,ts,jsx,tsx,mdx}',
6 | './src/components/**/*.{js,ts,jsx,tsx,mdx}',
7 | './src/app/**/*.{js,ts,jsx,tsx,mdx}',
8 | ],
9 | theme: {
10 | extend: {
11 | backgroundImage: {
12 | 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
13 | 'gradient-conic':
14 | 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
15 | },
16 | },
17 | },
18 | plugins: [],
19 | }
20 | export default config
21 |
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | import AlbumsProvider from "./AlbumProvider";
2 | import SavedAlbums from "./SavedAlbums";
3 | import { handler } from "./action";
4 | import { Chat } from "./chat";
5 |
6 | export const runtime = "edge";
7 |
8 | export default function Page() {
9 | return (
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | );
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "plugins": [
17 | {
18 | "name": "next"
19 | }
20 | ],
21 | "paths": {
22 | "@/*": ["./src/*"]
23 | }
24 | },
25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
26 | "exclude": ["node_modules"]
27 | }
28 |
--------------------------------------------------------------------------------
/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import { ThemeProvider } from "@/components/theme-provider";
3 | import "./globals.css";
4 |
5 | export const metadata: Metadata = {
6 | title: "Create Next App",
7 | description: "Generated by create next app",
8 | };
9 |
10 | export default function RootLayout({
11 | children,
12 | }: {
13 | children: React.ReactNode;
14 | }) {
15 | return (
16 |
17 |
18 |
24 | {children}
25 |
26 |
27 |
28 | );
29 | }
30 |
--------------------------------------------------------------------------------
/src/components/ui/label.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as LabelPrimitive from "@radix-ui/react-label"
5 | import { cva, type VariantProps } from "class-variance-authority"
6 |
7 | import { cn } from "@/lib/utils"
8 |
9 | const labelVariants = cva(
10 | "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
11 | )
12 |
13 | const Label = React.forwardRef<
14 | React.ElementRef,
15 | React.ComponentPropsWithoutRef &
16 | VariantProps
17 | >(({ className, ...props }, ref) => (
18 |
23 | ))
24 | Label.displayName = LabelPrimitive.Root.displayName
25 |
26 | export { Label }
27 |
--------------------------------------------------------------------------------
/src/components/ui/input.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 |
3 | import { cn } from "@/lib/utils"
4 |
5 | export interface InputProps
6 | extends React.InputHTMLAttributes {}
7 |
8 | const Input = React.forwardRef(
9 | ({ className, type, ...props }, ref) => {
10 | return (
11 |
20 | )
21 | }
22 | )
23 | Input.displayName = "Input"
24 |
25 | export { Input }
26 |
--------------------------------------------------------------------------------
/src/app/AlbumProvider.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import { createContext, useState, useContext } from "react";
3 |
4 | export interface AlbumInfo {
5 | url: string;
6 | image: {
7 | url: string;
8 | width: number;
9 | height: number;
10 | };
11 | name: string;
12 | artist: string;
13 | release_date: string;
14 | }
15 |
16 | const useAlbums = () => useState([]);
17 |
18 | const AlbumsContext = createContext | null>(null);
19 |
20 | export const useAlbumsContext = () => {
21 | const context = useContext(AlbumsContext);
22 | if (context === null) {
23 | throw new Error("useAlbumsContext must be used within an AlbumsContext");
24 | }
25 | return context;
26 | };
27 |
28 | export default function AlbumsProvider({
29 | children,
30 | }: {
31 | children: React.ReactNode;
32 | }) {
33 | const blocks = useAlbums();
34 | return (
35 | {children}
36 | );
37 | }
38 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "streaming-sa-test-1",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "predev": "rm -fr .next",
7 | "dev": "next dev",
8 | "build": "next build",
9 | "start": "next start",
10 | "lint": "next lint"
11 | },
12 | "dependencies": {
13 | "@radix-ui/react-label": "^2.0.2",
14 | "@radix-ui/react-slot": "^1.0.2",
15 | "@radix-ui/react-tabs": "^1.0.4",
16 | "ai": "^2.2.25",
17 | "async-mutex": "^0.4.0",
18 | "babel-plugin-prismjs": "^2.1.0",
19 | "class-variance-authority": "^0.7.0",
20 | "clsx": "^2.0.0",
21 | "fs": "0.0.1-security",
22 | "lucide-react": "^0.293.0",
23 | "next": "14.0.4-canary.17",
24 | "next-themes": "^0.2.1",
25 | "openai": "^4.20.0",
26 | "prismjs": "^1.29.0",
27 | "react": "^18",
28 | "react-dom": "^18",
29 | "tailwind-merge": "^2.0.0",
30 | "tailwindcss-animate": "^1.0.7"
31 | },
32 | "devDependencies": {
33 | "@types/node": "^20",
34 | "@types/react": "^18",
35 | "@types/react-dom": "^18",
36 | "autoprefixer": "^10.0.1",
37 | "eslint": "^8",
38 | "eslint-config-next": "14.0.4-canary.17",
39 | "postcss": "^8",
40 | "tailwindcss": "^3.3.0",
41 | "typescript": "^5"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/chat.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import { Label } from "@/components/ui/label";
3 | import { Input } from "@/components/ui/input";
4 | import { Button } from "@/components/ui/button";
5 | import { useChat } from "ai/react";
6 |
7 | export function Chat({ handler }: { handler: any }) {
8 | const { messages, input, handleInputChange, handleSubmit } = useChat({
9 | api: handler,
10 | });
11 |
12 | return (
13 |
14 |
31 |
32 | {messages.map((m, index) => (
33 | -
34 | {/* {m.role === "user" ? "User: " : "AI: "} */}
35 | {m.role === "user" ? m.content : m.ui}
36 |
37 | ))}
38 |
39 |
40 | );
41 | }
42 |
--------------------------------------------------------------------------------
/src/app/Album.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 | import Image from "next/image";
3 | import {
4 | Card,
5 | CardContent,
6 | CardDescription,
7 | CardHeader,
8 | CardTitle,
9 | CardFooter,
10 | } from "@/components/ui/card";
11 | import { Button } from "@/components/ui/button";
12 | import { buttonVariants } from "@/components/ui/button";
13 |
14 | import { useAlbumsContext } from "./AlbumProvider";
15 | import type { AlbumInfo } from "./AlbumProvider";
16 |
17 | export default function Album({
18 | url,
19 | image,
20 | name,
21 | artist,
22 | release_date,
23 | allowAdd,
24 | }: AlbumInfo & {
25 | allowAdd?: boolean;
26 | }) {
27 | const albums = useAlbumsContext();
28 | const onAdd = () => {
29 | albums[1]((prev) => [
30 | ...prev,
31 | {
32 | url,
33 | image,
34 | name,
35 | artist,
36 | release_date,
37 | },
38 | ]);
39 | };
40 |
41 | return (
42 |
43 |
44 | {name}
45 |
46 | {artist} - ${release_date}
47 |
48 |
49 |
50 |
51 |
57 |
58 |
59 |
60 | {allowAdd && (
61 |
69 | )}
70 |
71 |
72 | );
73 | }
74 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | You'll need to have these environment variables:
6 |
7 | - SPOTIFY_CLIENT_ID - The Spotify client ID
8 | - SPOTIFY_CLIENT_SECRET - The Spotify client secret
9 | - OPENAI_API_KEY - Your OpenAI key
10 |
11 | Follow the [Getting Started](https://developer.spotify.com/documentation/web-api) on the Spotify site to create a new App with "web api" permissions to get the client ID and secret.
12 |
13 | First, run the development server:
14 |
15 | ```bash
16 | npm run dev
17 | # or
18 | yarn dev
19 | # or
20 | pnpm dev
21 | # or
22 | bun dev
23 | ```
24 |
25 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
26 |
27 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
28 |
29 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
30 |
31 | ## Learn More
32 |
33 | To learn more about Next.js, take a look at the following resources:
34 |
35 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
36 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
37 |
38 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
39 |
40 | ## Deploy on Vercel
41 |
42 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
43 |
44 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
45 |
--------------------------------------------------------------------------------
/src/components/ui/button.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 | import { Slot } from "@radix-ui/react-slot"
3 | import { cva, type VariantProps } from "class-variance-authority"
4 |
5 | import { cn } from "@/lib/utils"
6 |
7 | const buttonVariants = cva(
8 | "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
9 | {
10 | variants: {
11 | variant: {
12 | default: "bg-primary text-primary-foreground hover:bg-primary/90",
13 | destructive:
14 | "bg-destructive text-destructive-foreground hover:bg-destructive/90",
15 | outline:
16 | "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17 | secondary:
18 | "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19 | ghost: "hover:bg-accent hover:text-accent-foreground",
20 | link: "text-primary underline-offset-4 hover:underline",
21 | },
22 | size: {
23 | default: "h-10 px-4 py-2",
24 | sm: "h-9 rounded-md px-3",
25 | lg: "h-11 rounded-md px-8",
26 | icon: "h-10 w-10",
27 | },
28 | },
29 | defaultVariants: {
30 | variant: "default",
31 | size: "default",
32 | },
33 | }
34 | )
35 |
36 | export interface ButtonProps
37 | extends React.ButtonHTMLAttributes,
38 | VariantProps {
39 | asChild?: boolean
40 | }
41 |
42 | const Button = React.forwardRef(
43 | ({ className, variant, size, asChild = false, ...props }, ref) => {
44 | const Comp = asChild ? Slot : "button"
45 | return (
46 |
51 | )
52 | }
53 | )
54 | Button.displayName = "Button"
55 |
56 | export { Button, buttonVariants }
57 |
--------------------------------------------------------------------------------
/src/components/ui/tabs.tsx:
--------------------------------------------------------------------------------
1 | "use client"
2 |
3 | import * as React from "react"
4 | import * as TabsPrimitive from "@radix-ui/react-tabs"
5 |
6 | import { cn } from "@/lib/utils"
7 |
8 | const Tabs = TabsPrimitive.Root
9 |
10 | const TabsList = React.forwardRef<
11 | React.ElementRef,
12 | React.ComponentPropsWithoutRef
13 | >(({ className, ...props }, ref) => (
14 |
22 | ))
23 | TabsList.displayName = TabsPrimitive.List.displayName
24 |
25 | const TabsTrigger = React.forwardRef<
26 | React.ElementRef,
27 | React.ComponentPropsWithoutRef
28 | >(({ className, ...props }, ref) => (
29 |
37 | ))
38 | TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
39 |
40 | const TabsContent = React.forwardRef<
41 | React.ElementRef,
42 | React.ComponentPropsWithoutRef
43 | >(({ className, ...props }, ref) => (
44 |
52 | ))
53 | TabsContent.displayName = TabsPrimitive.Content.displayName
54 |
55 | export { Tabs, TabsList, TabsTrigger, TabsContent }
56 |
--------------------------------------------------------------------------------
/src/components/ui/card.tsx:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 |
3 | import { cn } from "@/lib/utils"
4 |
5 | const Card = React.forwardRef<
6 | HTMLDivElement,
7 | React.HTMLAttributes
8 | >(({ className, ...props }, ref) => (
9 |
17 | ))
18 | Card.displayName = "Card"
19 |
20 | const CardHeader = React.forwardRef<
21 | HTMLDivElement,
22 | React.HTMLAttributes
23 | >(({ className, ...props }, ref) => (
24 |
29 | ))
30 | CardHeader.displayName = "CardHeader"
31 |
32 | const CardTitle = React.forwardRef<
33 | HTMLParagraphElement,
34 | React.HTMLAttributes
35 | >(({ className, ...props }, ref) => (
36 |
44 | ))
45 | CardTitle.displayName = "CardTitle"
46 |
47 | const CardDescription = React.forwardRef<
48 | HTMLParagraphElement,
49 | React.HTMLAttributes
50 | >(({ className, ...props }, ref) => (
51 |
56 | ))
57 | CardDescription.displayName = "CardDescription"
58 |
59 | const CardContent = React.forwardRef<
60 | HTMLDivElement,
61 | React.HTMLAttributes
62 | >(({ className, ...props }, ref) => (
63 |
64 | ))
65 | CardContent.displayName = "CardContent"
66 |
67 | const CardFooter = React.forwardRef<
68 | HTMLDivElement,
69 | React.HTMLAttributes
70 | >(({ className, ...props }, ref) => (
71 |
76 | ))
77 | CardFooter.displayName = "CardFooter"
78 |
79 | export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
80 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | darkMode: ["class"],
4 | content: [
5 | "./pages/**/*.{ts,tsx}",
6 | "./components/**/*.{ts,tsx}",
7 | "./app/**/*.{ts,tsx}",
8 | "./src/**/*.{ts,tsx}",
9 | ],
10 | safelist: ["w-1/2", "p-2"],
11 | theme: {
12 | container: {
13 | center: true,
14 | padding: "2rem",
15 | screens: {
16 | "2xl": "1400px",
17 | },
18 | },
19 | extend: {
20 | colors: {
21 | border: "hsl(var(--border))",
22 | input: "hsl(var(--input))",
23 | ring: "hsl(var(--ring))",
24 | background: "hsl(var(--background))",
25 | foreground: "hsl(var(--foreground))",
26 | primary: {
27 | DEFAULT: "hsl(var(--primary))",
28 | foreground: "hsl(var(--primary-foreground))",
29 | },
30 | secondary: {
31 | DEFAULT: "hsl(var(--secondary))",
32 | foreground: "hsl(var(--secondary-foreground))",
33 | },
34 | destructive: {
35 | DEFAULT: "hsl(var(--destructive))",
36 | foreground: "hsl(var(--destructive-foreground))",
37 | },
38 | muted: {
39 | DEFAULT: "hsl(var(--muted))",
40 | foreground: "hsl(var(--muted-foreground))",
41 | },
42 | accent: {
43 | DEFAULT: "hsl(var(--accent))",
44 | foreground: "hsl(var(--accent-foreground))",
45 | },
46 | popover: {
47 | DEFAULT: "hsl(var(--popover))",
48 | foreground: "hsl(var(--popover-foreground))",
49 | },
50 | card: {
51 | DEFAULT: "hsl(var(--card))",
52 | foreground: "hsl(var(--card-foreground))",
53 | },
54 | },
55 | borderRadius: {
56 | lg: "var(--radius)",
57 | md: "calc(var(--radius) - 2px)",
58 | sm: "calc(var(--radius) - 4px)",
59 | },
60 | keyframes: {
61 | "accordion-down": {
62 | from: { height: 0 },
63 | to: { height: "var(--radix-accordion-content-height)" },
64 | },
65 | "accordion-up": {
66 | from: { height: "var(--radix-accordion-content-height)" },
67 | to: { height: 0 },
68 | },
69 | },
70 | animation: {
71 | "accordion-down": "accordion-down 0.2s ease-out",
72 | "accordion-up": "accordion-up 0.2s ease-out",
73 | },
74 | },
75 | },
76 | plugins: [require("tailwindcss-animate")],
77 | };
78 |
--------------------------------------------------------------------------------
/src/app/action.tsx:
--------------------------------------------------------------------------------
1 | "use server";
2 |
3 | import React from "react";
4 | import OpenAI from "openai";
5 | import { OpenAIStream, experimental_StreamingReactResponse, Message } from "ai";
6 | // import Counter from "./Counter";
7 | import { getAlbumInfo } from "./spotify";
8 | import Album from "./Album";
9 |
10 | const openai = new OpenAI({
11 | apiKey: process.env.OPENAI_API_KEY!,
12 | });
13 |
14 | const getAlbums = (aiResponse: string) => {
15 | const albums = aiResponse.split("\n");
16 | return albums
17 | .map((l) => {
18 | if (l.match(/\(\d+\)$/)) {
19 | const [album, artist] = l
20 | .replace(/\(\d+\)$/, "")
21 | .replace(/-\s+/, "")
22 | .split(/ - /);
23 | return {
24 | artist: artist.trim(),
25 | album: album.replace(/\"/g, "").trim(),
26 | };
27 | }
28 | return null;
29 | })
30 | .filter((v) => v) as { artist: string; album: string }[];
31 | };
32 |
33 | export async function handler({ messages }: { messages: Message[] }) {
34 | const response = await openai.chat.completions.create({
35 | model: "gpt-3.5-turbo",
36 | stream: true,
37 | messages: messages.map((m) => ({
38 | role: m.role as "user" | "assistant",
39 | content:
40 | m.role === "user"
41 | ? `bullet list in the format "- album - artist (year)" of three music albums from 1970-2000 with beautiful album covers in the theme of "${m.content}"`
42 | : m.content,
43 | })),
44 | });
45 |
46 | const stream = OpenAIStream(response);
47 |
48 | return new experimental_StreamingReactResponse(stream, {
49 | ui: async (params) => {
50 | const data = await Promise.all(
51 | getAlbums(params.content).map(({ artist, album }) =>
52 | getAlbumInfo(artist, album).then((info) => ({
53 | url: info?.albums?.items[0]?.external_urls?.spotify,
54 | image: info?.albums?.items[0]?.images?.[0],
55 | name: info?.albums?.items[0]?.name,
56 | release_date: info?.albums?.items[0]?.release_date,
57 | artist: info?.albums?.items[0]?.artists?.[0]?.name,
58 | }))
59 | )
60 | );
61 | return (
62 |
63 | {data
64 | .filter((album) => album?.image?.url)
65 | .map((album) => (
66 |
69 | ))}
70 |
71 | );
72 | },
73 | });
74 | }
75 |
--------------------------------------------------------------------------------
/src/app/spotify.ts:
--------------------------------------------------------------------------------
1 | import { Buffer } from "buffer";
2 | import { Mutex } from "async-mutex";
3 |
4 | interface Album {
5 | href: string;
6 | items: {
7 | album_type: string;
8 | artists: {
9 | external_urls: {
10 | spotify: string;
11 | };
12 | href: string;
13 | id: string;
14 | name: string;
15 | type: string;
16 | uri: string;
17 | }[];
18 | available_markets: string[];
19 | external_urls: {
20 | spotify: string;
21 | };
22 | href: string;
23 | id: string;
24 | images: {
25 | height: number;
26 | url: string;
27 | width: number;
28 | }[];
29 | name: string;
30 | release_date: string;
31 | release_date_precision: string;
32 | total_tracks: number;
33 | type: string;
34 | uri: string;
35 | }[];
36 | limit: number;
37 | next: string;
38 | offset: number;
39 | previous?: any;
40 | total: number;
41 | }
42 |
43 | interface SpotifyResult {
44 | albums: Album;
45 | }
46 |
47 | let cachedToken: Promise | null = null;
48 |
49 | const tokenMutex = new Mutex();
50 |
51 | async function getToken() {
52 | return tokenMutex.runExclusive(async () => {
53 | if (!cachedToken) {
54 | console.log("Fetching Spotify token");
55 | const creds = `${process.env.SPOTIFY_CLIENT_ID}:${process.env.SPOTIFY_CLIENT_SECRET}`;
56 | const encodedCreds = Buffer.from(creds).toString("base64");
57 |
58 | cachedToken = await fetch("https://accounts.spotify.com/api/token", {
59 | method: "POST",
60 | headers: {
61 | Authorization: `Basic ${encodedCreds}`,
62 | "Content-Type": "application/x-www-form-urlencoded",
63 | },
64 | body: "grant_type=client_credentials",
65 | })
66 | .then((res) => res.json())
67 | .then((res) => res.access_token);
68 | }
69 | return cachedToken;
70 | });
71 | }
72 |
73 | const albumCache: Record> = {};
74 |
75 | const albumMutex = new Mutex();
76 |
77 | export async function getAlbumInfo(artist: string, album: string) {
78 | const token = await getToken();
79 | return albumMutex.runExclusive(async () => {
80 | const cacheKey = `${artist}:${album}`;
81 | if (!albumCache[cacheKey]) {
82 | console.log("Fetching album info for ", cacheKey);
83 | albumCache[cacheKey] = fetch(
84 | `https://api.spotify.com/v1/search?q=${encodeURIComponent(
85 | `${album} by ${artist}`
86 | )}&type=album&limit=1&offset=0`,
87 | {
88 | headers: {
89 | Authorization: `Bearer ${token}`,
90 | "Content-Type": "application/json",
91 | },
92 | }
93 | ).then((res) => res.json());
94 | }
95 |
96 | return albumCache[cacheKey];
97 | });
98 | }
99 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@radix-ui/react-label':
9 | specifier: ^2.0.2
10 | version: 2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
11 | '@radix-ui/react-slot':
12 | specifier: ^1.0.2
13 | version: 1.0.2(@types/react@18.2.38)(react@18.2.0)
14 | '@radix-ui/react-tabs':
15 | specifier: ^1.0.4
16 | version: 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
17 | ai:
18 | specifier: ^2.2.25
19 | version: 2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9)
20 | async-mutex:
21 | specifier: ^0.4.0
22 | version: 0.4.0
23 | babel-plugin-prismjs:
24 | specifier: ^2.1.0
25 | version: 2.1.0(prismjs@1.29.0)
26 | class-variance-authority:
27 | specifier: ^0.7.0
28 | version: 0.7.0
29 | clsx:
30 | specifier: ^2.0.0
31 | version: 2.0.0
32 | fs:
33 | specifier: 0.0.1-security
34 | version: 0.0.1-security
35 | lucide-react:
36 | specifier: ^0.293.0
37 | version: 0.293.0(react@18.2.0)
38 | next:
39 | specifier: 14.0.4-canary.17
40 | version: 14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0)
41 | next-themes:
42 | specifier: ^0.2.1
43 | version: 0.2.1(next@14.0.4-canary.17)(react-dom@18.2.0)(react@18.2.0)
44 | openai:
45 | specifier: ^4.20.0
46 | version: 4.20.0
47 | prismjs:
48 | specifier: ^1.29.0
49 | version: 1.29.0
50 | react:
51 | specifier: ^18
52 | version: 18.2.0
53 | react-dom:
54 | specifier: ^18
55 | version: 18.2.0(react@18.2.0)
56 | tailwind-merge:
57 | specifier: ^2.0.0
58 | version: 2.0.0
59 | tailwindcss-animate:
60 | specifier: ^1.0.7
61 | version: 1.0.7(tailwindcss@3.3.5)
62 |
63 | devDependencies:
64 | '@types/node':
65 | specifier: ^20
66 | version: 20.10.0
67 | '@types/react':
68 | specifier: ^18
69 | version: 18.2.38
70 | '@types/react-dom':
71 | specifier: ^18
72 | version: 18.2.17
73 | autoprefixer:
74 | specifier: ^10.0.1
75 | version: 10.4.16(postcss@8.4.31)
76 | eslint:
77 | specifier: ^8
78 | version: 8.54.0
79 | eslint-config-next:
80 | specifier: 14.0.4-canary.17
81 | version: 14.0.4-canary.17(eslint@8.54.0)(typescript@5.3.2)
82 | postcss:
83 | specifier: ^8
84 | version: 8.4.31
85 | tailwindcss:
86 | specifier: ^3.3.0
87 | version: 3.3.5
88 | typescript:
89 | specifier: ^5
90 | version: 5.3.2
91 |
92 | packages:
93 |
94 | /@aashutoshrathi/word-wrap@1.2.6:
95 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
96 | engines: {node: '>=0.10.0'}
97 | dev: true
98 |
99 | /@alloc/quick-lru@5.2.0:
100 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
101 | engines: {node: '>=10'}
102 |
103 | /@ampproject/remapping@2.2.1:
104 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
105 | engines: {node: '>=6.0.0'}
106 | dependencies:
107 | '@jridgewell/gen-mapping': 0.3.3
108 | '@jridgewell/trace-mapping': 0.3.20
109 | dev: false
110 |
111 | /@babel/helper-string-parser@7.23.4:
112 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
113 | engines: {node: '>=6.9.0'}
114 | dev: false
115 |
116 | /@babel/helper-validator-identifier@7.22.20:
117 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
118 | engines: {node: '>=6.9.0'}
119 | dev: false
120 |
121 | /@babel/parser@7.23.4:
122 | resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==}
123 | engines: {node: '>=6.0.0'}
124 | hasBin: true
125 | dependencies:
126 | '@babel/types': 7.23.4
127 | dev: false
128 |
129 | /@babel/runtime@7.23.4:
130 | resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==}
131 | engines: {node: '>=6.9.0'}
132 | dependencies:
133 | regenerator-runtime: 0.14.0
134 |
135 | /@babel/types@7.23.4:
136 | resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==}
137 | engines: {node: '>=6.9.0'}
138 | dependencies:
139 | '@babel/helper-string-parser': 7.23.4
140 | '@babel/helper-validator-identifier': 7.22.20
141 | to-fast-properties: 2.0.0
142 | dev: false
143 |
144 | /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
145 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
146 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
147 | peerDependencies:
148 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
149 | dependencies:
150 | eslint: 8.54.0
151 | eslint-visitor-keys: 3.4.3
152 | dev: true
153 |
154 | /@eslint-community/regexpp@4.10.0:
155 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
156 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
157 | dev: true
158 |
159 | /@eslint/eslintrc@2.1.3:
160 | resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
161 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
162 | dependencies:
163 | ajv: 6.12.6
164 | debug: 4.3.4
165 | espree: 9.6.1
166 | globals: 13.23.0
167 | ignore: 5.3.0
168 | import-fresh: 3.3.0
169 | js-yaml: 4.1.0
170 | minimatch: 3.1.2
171 | strip-json-comments: 3.1.1
172 | transitivePeerDependencies:
173 | - supports-color
174 | dev: true
175 |
176 | /@eslint/js@8.54.0:
177 | resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
178 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
179 | dev: true
180 |
181 | /@humanwhocodes/config-array@0.11.13:
182 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
183 | engines: {node: '>=10.10.0'}
184 | dependencies:
185 | '@humanwhocodes/object-schema': 2.0.1
186 | debug: 4.3.4
187 | minimatch: 3.1.2
188 | transitivePeerDependencies:
189 | - supports-color
190 | dev: true
191 |
192 | /@humanwhocodes/module-importer@1.0.1:
193 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
194 | engines: {node: '>=12.22'}
195 | dev: true
196 |
197 | /@humanwhocodes/object-schema@2.0.1:
198 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
199 | dev: true
200 |
201 | /@jridgewell/gen-mapping@0.3.3:
202 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
203 | engines: {node: '>=6.0.0'}
204 | dependencies:
205 | '@jridgewell/set-array': 1.1.2
206 | '@jridgewell/sourcemap-codec': 1.4.15
207 | '@jridgewell/trace-mapping': 0.3.20
208 |
209 | /@jridgewell/resolve-uri@3.1.1:
210 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
211 | engines: {node: '>=6.0.0'}
212 |
213 | /@jridgewell/set-array@1.1.2:
214 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
215 | engines: {node: '>=6.0.0'}
216 |
217 | /@jridgewell/sourcemap-codec@1.4.15:
218 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
219 |
220 | /@jridgewell/trace-mapping@0.3.20:
221 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
222 | dependencies:
223 | '@jridgewell/resolve-uri': 3.1.1
224 | '@jridgewell/sourcemap-codec': 1.4.15
225 |
226 | /@next/env@14.0.4-canary.17:
227 | resolution: {integrity: sha512-5YDCijl+6+zTzd+CpNCwhLwpwaIeiH4g+ATHN+sAwAZYv6LPRSjISYYso7LaUx86lUSmEVSdH8Nfl5N/4P4vdw==}
228 | dev: false
229 |
230 | /@next/eslint-plugin-next@14.0.4-canary.17:
231 | resolution: {integrity: sha512-K1i9iS68SCWfhc7GuzdU/mirnMnN8VACUtDA+JOs4VICqgJOVUut6Ddtv+XBF2Apb7qq9O2r1mG4vnGll0A6mQ==}
232 | dependencies:
233 | glob: 7.1.7
234 | dev: true
235 |
236 | /@next/swc-darwin-arm64@14.0.4-canary.17:
237 | resolution: {integrity: sha512-nncEc4DYfz6YLZMwwDLFg0LnceU9GG4M5I/fBdjFyySgj1NTEZ8Ixdn309rTl5rjPg49R9yCw7vVCixMd0WF7A==}
238 | engines: {node: '>= 10'}
239 | cpu: [arm64]
240 | os: [darwin]
241 | requiresBuild: true
242 | dev: false
243 | optional: true
244 |
245 | /@next/swc-darwin-x64@14.0.4-canary.17:
246 | resolution: {integrity: sha512-hpPViY7TKYKZtGUaKz5IOICFVDXsCsZnmIY+oTe0pVo4gTZ9fbnKZmC3CdLSxht8tHycQ2aohbfrM975vnbz9A==}
247 | engines: {node: '>= 10'}
248 | cpu: [x64]
249 | os: [darwin]
250 | requiresBuild: true
251 | dev: false
252 | optional: true
253 |
254 | /@next/swc-linux-arm64-gnu@14.0.4-canary.17:
255 | resolution: {integrity: sha512-gcwen6B0inzL4K+k9lFtIRVM9qfYngSZF/EWs2LLqNXoR+pxpmRyZUlYgR1in9gKmHxDVni1hg0x2YXmkYHx+A==}
256 | engines: {node: '>= 10'}
257 | cpu: [arm64]
258 | os: [linux]
259 | requiresBuild: true
260 | dev: false
261 | optional: true
262 |
263 | /@next/swc-linux-arm64-musl@14.0.4-canary.17:
264 | resolution: {integrity: sha512-xopjpTP3l6Cz0X4lvlimmLjKRL7qqy36kT++n8g09jjtSl8qsvporG6629azNC5VI+B/koHlX4WI9xkLzm7UmQ==}
265 | engines: {node: '>= 10'}
266 | cpu: [arm64]
267 | os: [linux]
268 | requiresBuild: true
269 | dev: false
270 | optional: true
271 |
272 | /@next/swc-linux-x64-gnu@14.0.4-canary.17:
273 | resolution: {integrity: sha512-rVoyQyJo3EFO5FzKpYMhkJ2gAikAz8WPm/SAFZ6oSJz3u9/PXfvmG9U7J+XFRE9MxGoX1i2MCaR/+i/m2AbKlA==}
274 | engines: {node: '>= 10'}
275 | cpu: [x64]
276 | os: [linux]
277 | requiresBuild: true
278 | dev: false
279 | optional: true
280 |
281 | /@next/swc-linux-x64-musl@14.0.4-canary.17:
282 | resolution: {integrity: sha512-yuDsRAidXeAAdgBlE9saI6vGcNZ0ObSrwmK+It1hlaRg4o43w3jPVPo2i8NFk5EA+bC0IZn9TK3FoiC8WHph9g==}
283 | engines: {node: '>= 10'}
284 | cpu: [x64]
285 | os: [linux]
286 | requiresBuild: true
287 | dev: false
288 | optional: true
289 |
290 | /@next/swc-win32-arm64-msvc@14.0.4-canary.17:
291 | resolution: {integrity: sha512-QgwX3rbsEvsnbyMRIuRyvTWATjyFZLNz/KIj9ZmK6/4druBcHrJL5n2NDOFmDGFjOyCHT/RX7m6WJbQzjvRp2Q==}
292 | engines: {node: '>= 10'}
293 | cpu: [arm64]
294 | os: [win32]
295 | requiresBuild: true
296 | dev: false
297 | optional: true
298 |
299 | /@next/swc-win32-ia32-msvc@14.0.4-canary.17:
300 | resolution: {integrity: sha512-pReqq5u2XOP6yCStJBiBeO0nCzMOhAkNtIPHHFGw3YridoBs6PeEM8Sd83tzOjowtZWOUcO+r7zAotK2h5+xvw==}
301 | engines: {node: '>= 10'}
302 | cpu: [ia32]
303 | os: [win32]
304 | requiresBuild: true
305 | dev: false
306 | optional: true
307 |
308 | /@next/swc-win32-x64-msvc@14.0.4-canary.17:
309 | resolution: {integrity: sha512-kmEnEH+A4pfhH3PHzGoDsIR6ZD5BcWrZMQgR+6DLpjTGEW+bB6M+KGyKklNXf21w8hzhkmkoRw44Y/nklpq70A==}
310 | engines: {node: '>= 10'}
311 | cpu: [x64]
312 | os: [win32]
313 | requiresBuild: true
314 | dev: false
315 | optional: true
316 |
317 | /@nodelib/fs.scandir@2.1.5:
318 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
319 | engines: {node: '>= 8'}
320 | dependencies:
321 | '@nodelib/fs.stat': 2.0.5
322 | run-parallel: 1.2.0
323 |
324 | /@nodelib/fs.stat@2.0.5:
325 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
326 | engines: {node: '>= 8'}
327 |
328 | /@nodelib/fs.walk@1.2.8:
329 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
330 | engines: {node: '>= 8'}
331 | dependencies:
332 | '@nodelib/fs.scandir': 2.1.5
333 | fastq: 1.15.0
334 |
335 | /@radix-ui/primitive@1.0.1:
336 | resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
337 | dependencies:
338 | '@babel/runtime': 7.23.4
339 | dev: false
340 |
341 | /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
342 | resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
343 | peerDependencies:
344 | '@types/react': '*'
345 | '@types/react-dom': '*'
346 | react: ^16.8 || ^17.0 || ^18.0
347 | react-dom: ^16.8 || ^17.0 || ^18.0
348 | peerDependenciesMeta:
349 | '@types/react':
350 | optional: true
351 | '@types/react-dom':
352 | optional: true
353 | dependencies:
354 | '@babel/runtime': 7.23.4
355 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0)
356 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0)
357 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
358 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.38)(react@18.2.0)
359 | '@types/react': 18.2.38
360 | '@types/react-dom': 18.2.17
361 | react: 18.2.0
362 | react-dom: 18.2.0(react@18.2.0)
363 | dev: false
364 |
365 | /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.38)(react@18.2.0):
366 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
367 | peerDependencies:
368 | '@types/react': '*'
369 | react: ^16.8 || ^17.0 || ^18.0
370 | peerDependenciesMeta:
371 | '@types/react':
372 | optional: true
373 | dependencies:
374 | '@babel/runtime': 7.23.4
375 | '@types/react': 18.2.38
376 | react: 18.2.0
377 | dev: false
378 |
379 | /@radix-ui/react-context@1.0.1(@types/react@18.2.38)(react@18.2.0):
380 | resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
381 | peerDependencies:
382 | '@types/react': '*'
383 | react: ^16.8 || ^17.0 || ^18.0
384 | peerDependenciesMeta:
385 | '@types/react':
386 | optional: true
387 | dependencies:
388 | '@babel/runtime': 7.23.4
389 | '@types/react': 18.2.38
390 | react: 18.2.0
391 | dev: false
392 |
393 | /@radix-ui/react-direction@1.0.1(@types/react@18.2.38)(react@18.2.0):
394 | resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
395 | peerDependencies:
396 | '@types/react': '*'
397 | react: ^16.8 || ^17.0 || ^18.0
398 | peerDependenciesMeta:
399 | '@types/react':
400 | optional: true
401 | dependencies:
402 | '@babel/runtime': 7.23.4
403 | '@types/react': 18.2.38
404 | react: 18.2.0
405 | dev: false
406 |
407 | /@radix-ui/react-id@1.0.1(@types/react@18.2.38)(react@18.2.0):
408 | resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
409 | peerDependencies:
410 | '@types/react': '*'
411 | react: ^16.8 || ^17.0 || ^18.0
412 | peerDependenciesMeta:
413 | '@types/react':
414 | optional: true
415 | dependencies:
416 | '@babel/runtime': 7.23.4
417 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.38)(react@18.2.0)
418 | '@types/react': 18.2.38
419 | react: 18.2.0
420 | dev: false
421 |
422 | /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
423 | resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==}
424 | peerDependencies:
425 | '@types/react': '*'
426 | '@types/react-dom': '*'
427 | react: ^16.8 || ^17.0 || ^18.0
428 | react-dom: ^16.8 || ^17.0 || ^18.0
429 | peerDependenciesMeta:
430 | '@types/react':
431 | optional: true
432 | '@types/react-dom':
433 | optional: true
434 | dependencies:
435 | '@babel/runtime': 7.23.4
436 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
437 | '@types/react': 18.2.38
438 | '@types/react-dom': 18.2.17
439 | react: 18.2.0
440 | react-dom: 18.2.0(react@18.2.0)
441 | dev: false
442 |
443 | /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
444 | resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
445 | peerDependencies:
446 | '@types/react': '*'
447 | '@types/react-dom': '*'
448 | react: ^16.8 || ^17.0 || ^18.0
449 | react-dom: ^16.8 || ^17.0 || ^18.0
450 | peerDependenciesMeta:
451 | '@types/react':
452 | optional: true
453 | '@types/react-dom':
454 | optional: true
455 | dependencies:
456 | '@babel/runtime': 7.23.4
457 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0)
458 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.38)(react@18.2.0)
459 | '@types/react': 18.2.38
460 | '@types/react-dom': 18.2.17
461 | react: 18.2.0
462 | react-dom: 18.2.0(react@18.2.0)
463 | dev: false
464 |
465 | /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
466 | resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
467 | peerDependencies:
468 | '@types/react': '*'
469 | '@types/react-dom': '*'
470 | react: ^16.8 || ^17.0 || ^18.0
471 | react-dom: ^16.8 || ^17.0 || ^18.0
472 | peerDependenciesMeta:
473 | '@types/react':
474 | optional: true
475 | '@types/react-dom':
476 | optional: true
477 | dependencies:
478 | '@babel/runtime': 7.23.4
479 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.38)(react@18.2.0)
480 | '@types/react': 18.2.38
481 | '@types/react-dom': 18.2.17
482 | react: 18.2.0
483 | react-dom: 18.2.0(react@18.2.0)
484 | dev: false
485 |
486 | /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
487 | resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==}
488 | peerDependencies:
489 | '@types/react': '*'
490 | '@types/react-dom': '*'
491 | react: ^16.8 || ^17.0 || ^18.0
492 | react-dom: ^16.8 || ^17.0 || ^18.0
493 | peerDependenciesMeta:
494 | '@types/react':
495 | optional: true
496 | '@types/react-dom':
497 | optional: true
498 | dependencies:
499 | '@babel/runtime': 7.23.4
500 | '@radix-ui/primitive': 1.0.1
501 | '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
502 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0)
503 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0)
504 | '@radix-ui/react-direction': 1.0.1(@types/react@18.2.38)(react@18.2.0)
505 | '@radix-ui/react-id': 1.0.1(@types/react@18.2.38)(react@18.2.0)
506 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
507 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.38)(react@18.2.0)
508 | '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.38)(react@18.2.0)
509 | '@types/react': 18.2.38
510 | '@types/react-dom': 18.2.17
511 | react: 18.2.0
512 | react-dom: 18.2.0(react@18.2.0)
513 | dev: false
514 |
515 | /@radix-ui/react-slot@1.0.2(@types/react@18.2.38)(react@18.2.0):
516 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
517 | peerDependencies:
518 | '@types/react': '*'
519 | react: ^16.8 || ^17.0 || ^18.0
520 | peerDependenciesMeta:
521 | '@types/react':
522 | optional: true
523 | dependencies:
524 | '@babel/runtime': 7.23.4
525 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.38)(react@18.2.0)
526 | '@types/react': 18.2.38
527 | react: 18.2.0
528 | dev: false
529 |
530 | /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0):
531 | resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==}
532 | peerDependencies:
533 | '@types/react': '*'
534 | '@types/react-dom': '*'
535 | react: ^16.8 || ^17.0 || ^18.0
536 | react-dom: ^16.8 || ^17.0 || ^18.0
537 | peerDependenciesMeta:
538 | '@types/react':
539 | optional: true
540 | '@types/react-dom':
541 | optional: true
542 | dependencies:
543 | '@babel/runtime': 7.23.4
544 | '@radix-ui/primitive': 1.0.1
545 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.38)(react@18.2.0)
546 | '@radix-ui/react-direction': 1.0.1(@types/react@18.2.38)(react@18.2.0)
547 | '@radix-ui/react-id': 1.0.1(@types/react@18.2.38)(react@18.2.0)
548 | '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
549 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
550 | '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.17)(@types/react@18.2.38)(react-dom@18.2.0)(react@18.2.0)
551 | '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.38)(react@18.2.0)
552 | '@types/react': 18.2.38
553 | '@types/react-dom': 18.2.17
554 | react: 18.2.0
555 | react-dom: 18.2.0(react@18.2.0)
556 | dev: false
557 |
558 | /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.38)(react@18.2.0):
559 | resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
560 | peerDependencies:
561 | '@types/react': '*'
562 | react: ^16.8 || ^17.0 || ^18.0
563 | peerDependenciesMeta:
564 | '@types/react':
565 | optional: true
566 | dependencies:
567 | '@babel/runtime': 7.23.4
568 | '@types/react': 18.2.38
569 | react: 18.2.0
570 | dev: false
571 |
572 | /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.38)(react@18.2.0):
573 | resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
574 | peerDependencies:
575 | '@types/react': '*'
576 | react: ^16.8 || ^17.0 || ^18.0
577 | peerDependenciesMeta:
578 | '@types/react':
579 | optional: true
580 | dependencies:
581 | '@babel/runtime': 7.23.4
582 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.38)(react@18.2.0)
583 | '@types/react': 18.2.38
584 | react: 18.2.0
585 | dev: false
586 |
587 | /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.38)(react@18.2.0):
588 | resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
589 | peerDependencies:
590 | '@types/react': '*'
591 | react: ^16.8 || ^17.0 || ^18.0
592 | peerDependenciesMeta:
593 | '@types/react':
594 | optional: true
595 | dependencies:
596 | '@babel/runtime': 7.23.4
597 | '@types/react': 18.2.38
598 | react: 18.2.0
599 | dev: false
600 |
601 | /@rushstack/eslint-patch@1.6.0:
602 | resolution: {integrity: sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==}
603 | dev: true
604 |
605 | /@swc/helpers@0.5.2:
606 | resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
607 | dependencies:
608 | tslib: 2.6.2
609 | dev: false
610 |
611 | /@types/estree@1.0.5:
612 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
613 | dev: false
614 |
615 | /@types/json5@0.0.29:
616 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
617 | dev: true
618 |
619 | /@types/node-fetch@2.6.9:
620 | resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==}
621 | dependencies:
622 | '@types/node': 20.10.0
623 | form-data: 4.0.0
624 | dev: false
625 |
626 | /@types/node@18.18.13:
627 | resolution: {integrity: sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g==}
628 | dependencies:
629 | undici-types: 5.26.5
630 | dev: false
631 |
632 | /@types/node@20.10.0:
633 | resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==}
634 | dependencies:
635 | undici-types: 5.26.5
636 |
637 | /@types/prop-types@15.7.11:
638 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
639 |
640 | /@types/react-dom@18.2.17:
641 | resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==}
642 | dependencies:
643 | '@types/react': 18.2.38
644 |
645 | /@types/react@18.2.38:
646 | resolution: {integrity: sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==}
647 | dependencies:
648 | '@types/prop-types': 15.7.11
649 | '@types/scheduler': 0.16.8
650 | csstype: 3.1.2
651 |
652 | /@types/scheduler@0.16.8:
653 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
654 |
655 | /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.3.2):
656 | resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==}
657 | engines: {node: ^16.0.0 || >=18.0.0}
658 | peerDependencies:
659 | eslint: ^7.0.0 || ^8.0.0
660 | typescript: '*'
661 | peerDependenciesMeta:
662 | typescript:
663 | optional: true
664 | dependencies:
665 | '@typescript-eslint/scope-manager': 6.12.0
666 | '@typescript-eslint/types': 6.12.0
667 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2)
668 | '@typescript-eslint/visitor-keys': 6.12.0
669 | debug: 4.3.4
670 | eslint: 8.54.0
671 | typescript: 5.3.2
672 | transitivePeerDependencies:
673 | - supports-color
674 | dev: true
675 |
676 | /@typescript-eslint/scope-manager@6.12.0:
677 | resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==}
678 | engines: {node: ^16.0.0 || >=18.0.0}
679 | dependencies:
680 | '@typescript-eslint/types': 6.12.0
681 | '@typescript-eslint/visitor-keys': 6.12.0
682 | dev: true
683 |
684 | /@typescript-eslint/types@6.12.0:
685 | resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==}
686 | engines: {node: ^16.0.0 || >=18.0.0}
687 | dev: true
688 |
689 | /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2):
690 | resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==}
691 | engines: {node: ^16.0.0 || >=18.0.0}
692 | peerDependencies:
693 | typescript: '*'
694 | peerDependenciesMeta:
695 | typescript:
696 | optional: true
697 | dependencies:
698 | '@typescript-eslint/types': 6.12.0
699 | '@typescript-eslint/visitor-keys': 6.12.0
700 | debug: 4.3.4
701 | globby: 11.1.0
702 | is-glob: 4.0.3
703 | semver: 7.5.4
704 | ts-api-utils: 1.0.3(typescript@5.3.2)
705 | typescript: 5.3.2
706 | transitivePeerDependencies:
707 | - supports-color
708 | dev: true
709 |
710 | /@typescript-eslint/visitor-keys@6.12.0:
711 | resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==}
712 | engines: {node: ^16.0.0 || >=18.0.0}
713 | dependencies:
714 | '@typescript-eslint/types': 6.12.0
715 | eslint-visitor-keys: 3.4.3
716 | dev: true
717 |
718 | /@ungap/structured-clone@1.2.0:
719 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
720 | dev: true
721 |
722 | /@vue/compiler-core@3.3.9:
723 | resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==}
724 | dependencies:
725 | '@babel/parser': 7.23.4
726 | '@vue/shared': 3.3.9
727 | estree-walker: 2.0.2
728 | source-map-js: 1.0.2
729 | dev: false
730 |
731 | /@vue/compiler-dom@3.3.9:
732 | resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==}
733 | dependencies:
734 | '@vue/compiler-core': 3.3.9
735 | '@vue/shared': 3.3.9
736 | dev: false
737 |
738 | /@vue/compiler-sfc@3.3.9:
739 | resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==}
740 | dependencies:
741 | '@babel/parser': 7.23.4
742 | '@vue/compiler-core': 3.3.9
743 | '@vue/compiler-dom': 3.3.9
744 | '@vue/compiler-ssr': 3.3.9
745 | '@vue/reactivity-transform': 3.3.9
746 | '@vue/shared': 3.3.9
747 | estree-walker: 2.0.2
748 | magic-string: 0.30.5
749 | postcss: 8.4.31
750 | source-map-js: 1.0.2
751 | dev: false
752 |
753 | /@vue/compiler-ssr@3.3.9:
754 | resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==}
755 | dependencies:
756 | '@vue/compiler-dom': 3.3.9
757 | '@vue/shared': 3.3.9
758 | dev: false
759 |
760 | /@vue/reactivity-transform@3.3.9:
761 | resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==}
762 | dependencies:
763 | '@babel/parser': 7.23.4
764 | '@vue/compiler-core': 3.3.9
765 | '@vue/shared': 3.3.9
766 | estree-walker: 2.0.2
767 | magic-string: 0.30.5
768 | dev: false
769 |
770 | /@vue/reactivity@3.3.9:
771 | resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==}
772 | dependencies:
773 | '@vue/shared': 3.3.9
774 | dev: false
775 |
776 | /@vue/runtime-core@3.3.9:
777 | resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==}
778 | dependencies:
779 | '@vue/reactivity': 3.3.9
780 | '@vue/shared': 3.3.9
781 | dev: false
782 |
783 | /@vue/runtime-dom@3.3.9:
784 | resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==}
785 | dependencies:
786 | '@vue/runtime-core': 3.3.9
787 | '@vue/shared': 3.3.9
788 | csstype: 3.1.2
789 | dev: false
790 |
791 | /@vue/server-renderer@3.3.9(vue@3.3.9):
792 | resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==}
793 | peerDependencies:
794 | vue: 3.3.9
795 | dependencies:
796 | '@vue/compiler-ssr': 3.3.9
797 | '@vue/shared': 3.3.9
798 | vue: 3.3.9(typescript@5.3.2)
799 | dev: false
800 |
801 | /@vue/shared@3.3.9:
802 | resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==}
803 | dev: false
804 |
805 | /abort-controller@3.0.0:
806 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
807 | engines: {node: '>=6.5'}
808 | dependencies:
809 | event-target-shim: 5.0.1
810 | dev: false
811 |
812 | /acorn-jsx@5.3.2(acorn@8.11.2):
813 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
814 | peerDependencies:
815 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
816 | dependencies:
817 | acorn: 8.11.2
818 | dev: true
819 |
820 | /acorn@8.11.2:
821 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
822 | engines: {node: '>=0.4.0'}
823 | hasBin: true
824 |
825 | /agentkeepalive@4.5.0:
826 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
827 | engines: {node: '>= 8.0.0'}
828 | dependencies:
829 | humanize-ms: 1.2.1
830 | dev: false
831 |
832 | /ai@2.2.25(react@18.2.0)(solid-js@1.8.6)(svelte@4.2.7)(vue@3.3.9):
833 | resolution: {integrity: sha512-iXu3pzPpDPBGDir8hz86FAJmJTynMfBH4V/DXyR3GGeaHOfjdrErlcMm862CSalR6PDMwDOSCQVwJqtdnvIncQ==}
834 | engines: {node: '>=14.6'}
835 | peerDependencies:
836 | react: ^18.2.0
837 | solid-js: ^1.7.7
838 | svelte: ^3.0.0 || ^4.0.0
839 | vue: ^3.3.4
840 | peerDependenciesMeta:
841 | react:
842 | optional: true
843 | solid-js:
844 | optional: true
845 | svelte:
846 | optional: true
847 | vue:
848 | optional: true
849 | dependencies:
850 | eventsource-parser: 1.0.0
851 | nanoid: 3.3.6
852 | react: 18.2.0
853 | solid-js: 1.8.6
854 | solid-swr-store: 0.10.7(solid-js@1.8.6)(swr-store@0.10.6)
855 | sswr: 2.0.0(svelte@4.2.7)
856 | svelte: 4.2.7
857 | swr: 2.2.0(react@18.2.0)
858 | swr-store: 0.10.6
859 | swrv: 1.0.4(vue@3.3.9)
860 | vue: 3.3.9(typescript@5.3.2)
861 | dev: false
862 |
863 | /ajv@6.12.6:
864 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
865 | dependencies:
866 | fast-deep-equal: 3.1.3
867 | fast-json-stable-stringify: 2.1.0
868 | json-schema-traverse: 0.4.1
869 | uri-js: 4.4.1
870 | dev: true
871 |
872 | /ansi-regex@5.0.1:
873 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
874 | engines: {node: '>=8'}
875 | dev: true
876 |
877 | /ansi-styles@4.3.0:
878 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
879 | engines: {node: '>=8'}
880 | dependencies:
881 | color-convert: 2.0.1
882 | dev: true
883 |
884 | /any-promise@1.3.0:
885 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
886 |
887 | /anymatch@3.1.3:
888 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
889 | engines: {node: '>= 8'}
890 | dependencies:
891 | normalize-path: 3.0.0
892 | picomatch: 2.3.1
893 |
894 | /arg@5.0.2:
895 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
896 |
897 | /argparse@2.0.1:
898 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
899 | dev: true
900 |
901 | /aria-query@5.3.0:
902 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
903 | dependencies:
904 | dequal: 2.0.3
905 |
906 | /array-buffer-byte-length@1.0.0:
907 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
908 | dependencies:
909 | call-bind: 1.0.5
910 | is-array-buffer: 3.0.2
911 | dev: true
912 |
913 | /array-includes@3.1.7:
914 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
915 | engines: {node: '>= 0.4'}
916 | dependencies:
917 | call-bind: 1.0.5
918 | define-properties: 1.2.1
919 | es-abstract: 1.22.3
920 | get-intrinsic: 1.2.2
921 | is-string: 1.0.7
922 | dev: true
923 |
924 | /array-union@2.1.0:
925 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
926 | engines: {node: '>=8'}
927 | dev: true
928 |
929 | /array.prototype.findlastindex@1.2.3:
930 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
931 | engines: {node: '>= 0.4'}
932 | dependencies:
933 | call-bind: 1.0.5
934 | define-properties: 1.2.1
935 | es-abstract: 1.22.3
936 | es-shim-unscopables: 1.0.2
937 | get-intrinsic: 1.2.2
938 | dev: true
939 |
940 | /array.prototype.flat@1.3.2:
941 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
942 | engines: {node: '>= 0.4'}
943 | dependencies:
944 | call-bind: 1.0.5
945 | define-properties: 1.2.1
946 | es-abstract: 1.22.3
947 | es-shim-unscopables: 1.0.2
948 | dev: true
949 |
950 | /array.prototype.flatmap@1.3.2:
951 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
952 | engines: {node: '>= 0.4'}
953 | dependencies:
954 | call-bind: 1.0.5
955 | define-properties: 1.2.1
956 | es-abstract: 1.22.3
957 | es-shim-unscopables: 1.0.2
958 | dev: true
959 |
960 | /array.prototype.tosorted@1.1.2:
961 | resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
962 | dependencies:
963 | call-bind: 1.0.5
964 | define-properties: 1.2.1
965 | es-abstract: 1.22.3
966 | es-shim-unscopables: 1.0.2
967 | get-intrinsic: 1.2.2
968 | dev: true
969 |
970 | /arraybuffer.prototype.slice@1.0.2:
971 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
972 | engines: {node: '>= 0.4'}
973 | dependencies:
974 | array-buffer-byte-length: 1.0.0
975 | call-bind: 1.0.5
976 | define-properties: 1.2.1
977 | es-abstract: 1.22.3
978 | get-intrinsic: 1.2.2
979 | is-array-buffer: 3.0.2
980 | is-shared-array-buffer: 1.0.2
981 | dev: true
982 |
983 | /ast-types-flow@0.0.8:
984 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
985 | dev: true
986 |
987 | /async-mutex@0.4.0:
988 | resolution: {integrity: sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==}
989 | dependencies:
990 | tslib: 2.6.2
991 | dev: false
992 |
993 | /asynciterator.prototype@1.0.0:
994 | resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
995 | dependencies:
996 | has-symbols: 1.0.3
997 | dev: true
998 |
999 | /asynckit@0.4.0:
1000 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
1001 | dev: false
1002 |
1003 | /autoprefixer@10.4.16(postcss@8.4.31):
1004 | resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
1005 | engines: {node: ^10 || ^12 || >=14}
1006 | hasBin: true
1007 | peerDependencies:
1008 | postcss: ^8.1.0
1009 | dependencies:
1010 | browserslist: 4.22.1
1011 | caniuse-lite: 1.0.30001564
1012 | fraction.js: 4.3.7
1013 | normalize-range: 0.1.2
1014 | picocolors: 1.0.0
1015 | postcss: 8.4.31
1016 | postcss-value-parser: 4.2.0
1017 | dev: true
1018 |
1019 | /available-typed-arrays@1.0.5:
1020 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
1021 | engines: {node: '>= 0.4'}
1022 | dev: true
1023 |
1024 | /axe-core@4.7.0:
1025 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
1026 | engines: {node: '>=4'}
1027 | dev: true
1028 |
1029 | /axobject-query@3.2.1:
1030 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
1031 | dependencies:
1032 | dequal: 2.0.3
1033 |
1034 | /babel-plugin-prismjs@2.1.0(prismjs@1.29.0):
1035 | resolution: {integrity: sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g==}
1036 | peerDependencies:
1037 | prismjs: ^1.18.0
1038 | dependencies:
1039 | prismjs: 1.29.0
1040 | dev: false
1041 |
1042 | /balanced-match@1.0.2:
1043 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1044 |
1045 | /base-64@0.1.0:
1046 | resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==}
1047 | dev: false
1048 |
1049 | /binary-extensions@2.2.0:
1050 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
1051 | engines: {node: '>=8'}
1052 |
1053 | /brace-expansion@1.1.11:
1054 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1055 | dependencies:
1056 | balanced-match: 1.0.2
1057 | concat-map: 0.0.1
1058 |
1059 | /braces@3.0.2:
1060 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1061 | engines: {node: '>=8'}
1062 | dependencies:
1063 | fill-range: 7.0.1
1064 |
1065 | /browserslist@4.22.1:
1066 | resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
1067 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1068 | hasBin: true
1069 | dependencies:
1070 | caniuse-lite: 1.0.30001564
1071 | electron-to-chromium: 1.4.594
1072 | node-releases: 2.0.13
1073 | update-browserslist-db: 1.0.13(browserslist@4.22.1)
1074 | dev: true
1075 |
1076 | /busboy@1.6.0:
1077 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
1078 | engines: {node: '>=10.16.0'}
1079 | dependencies:
1080 | streamsearch: 1.1.0
1081 | dev: false
1082 |
1083 | /call-bind@1.0.5:
1084 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
1085 | dependencies:
1086 | function-bind: 1.1.2
1087 | get-intrinsic: 1.2.2
1088 | set-function-length: 1.1.1
1089 | dev: true
1090 |
1091 | /callsites@3.1.0:
1092 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1093 | engines: {node: '>=6'}
1094 | dev: true
1095 |
1096 | /camelcase-css@2.0.1:
1097 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
1098 | engines: {node: '>= 6'}
1099 |
1100 | /caniuse-lite@1.0.30001564:
1101 | resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==}
1102 |
1103 | /chalk@4.1.2:
1104 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1105 | engines: {node: '>=10'}
1106 | dependencies:
1107 | ansi-styles: 4.3.0
1108 | supports-color: 7.2.0
1109 | dev: true
1110 |
1111 | /charenc@0.0.2:
1112 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
1113 | dev: false
1114 |
1115 | /chokidar@3.5.3:
1116 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
1117 | engines: {node: '>= 8.10.0'}
1118 | dependencies:
1119 | anymatch: 3.1.3
1120 | braces: 3.0.2
1121 | glob-parent: 5.1.2
1122 | is-binary-path: 2.1.0
1123 | is-glob: 4.0.3
1124 | normalize-path: 3.0.0
1125 | readdirp: 3.6.0
1126 | optionalDependencies:
1127 | fsevents: 2.3.3
1128 |
1129 | /class-variance-authority@0.7.0:
1130 | resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
1131 | dependencies:
1132 | clsx: 2.0.0
1133 | dev: false
1134 |
1135 | /client-only@0.0.1:
1136 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
1137 | dev: false
1138 |
1139 | /clsx@2.0.0:
1140 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
1141 | engines: {node: '>=6'}
1142 | dev: false
1143 |
1144 | /code-red@1.0.4:
1145 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
1146 | dependencies:
1147 | '@jridgewell/sourcemap-codec': 1.4.15
1148 | '@types/estree': 1.0.5
1149 | acorn: 8.11.2
1150 | estree-walker: 3.0.3
1151 | periscopic: 3.1.0
1152 | dev: false
1153 |
1154 | /color-convert@2.0.1:
1155 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1156 | engines: {node: '>=7.0.0'}
1157 | dependencies:
1158 | color-name: 1.1.4
1159 | dev: true
1160 |
1161 | /color-name@1.1.4:
1162 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1163 | dev: true
1164 |
1165 | /combined-stream@1.0.8:
1166 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
1167 | engines: {node: '>= 0.8'}
1168 | dependencies:
1169 | delayed-stream: 1.0.0
1170 | dev: false
1171 |
1172 | /commander@4.1.1:
1173 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1174 | engines: {node: '>= 6'}
1175 |
1176 | /concat-map@0.0.1:
1177 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1178 |
1179 | /cross-spawn@7.0.3:
1180 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1181 | engines: {node: '>= 8'}
1182 | dependencies:
1183 | path-key: 3.1.1
1184 | shebang-command: 2.0.0
1185 | which: 2.0.2
1186 | dev: true
1187 |
1188 | /crypt@0.0.2:
1189 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
1190 | dev: false
1191 |
1192 | /css-tree@2.3.1:
1193 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
1194 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
1195 | dependencies:
1196 | mdn-data: 2.0.30
1197 | source-map-js: 1.0.2
1198 | dev: false
1199 |
1200 | /cssesc@3.0.0:
1201 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1202 | engines: {node: '>=4'}
1203 | hasBin: true
1204 |
1205 | /csstype@3.1.2:
1206 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
1207 |
1208 | /damerau-levenshtein@1.0.8:
1209 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
1210 | dev: true
1211 |
1212 | /debug@3.2.7:
1213 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
1214 | peerDependencies:
1215 | supports-color: '*'
1216 | peerDependenciesMeta:
1217 | supports-color:
1218 | optional: true
1219 | dependencies:
1220 | ms: 2.1.3
1221 | dev: true
1222 |
1223 | /debug@4.3.4:
1224 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1225 | engines: {node: '>=6.0'}
1226 | peerDependencies:
1227 | supports-color: '*'
1228 | peerDependenciesMeta:
1229 | supports-color:
1230 | optional: true
1231 | dependencies:
1232 | ms: 2.1.2
1233 | dev: true
1234 |
1235 | /deep-is@0.1.4:
1236 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1237 | dev: true
1238 |
1239 | /define-data-property@1.1.1:
1240 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
1241 | engines: {node: '>= 0.4'}
1242 | dependencies:
1243 | get-intrinsic: 1.2.2
1244 | gopd: 1.0.1
1245 | has-property-descriptors: 1.0.1
1246 | dev: true
1247 |
1248 | /define-properties@1.2.1:
1249 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
1250 | engines: {node: '>= 0.4'}
1251 | dependencies:
1252 | define-data-property: 1.1.1
1253 | has-property-descriptors: 1.0.1
1254 | object-keys: 1.1.1
1255 | dev: true
1256 |
1257 | /delayed-stream@1.0.0:
1258 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1259 | engines: {node: '>=0.4.0'}
1260 | dev: false
1261 |
1262 | /dequal@2.0.3:
1263 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1264 | engines: {node: '>=6'}
1265 |
1266 | /didyoumean@1.2.2:
1267 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1268 |
1269 | /digest-fetch@1.3.0:
1270 | resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==}
1271 | dependencies:
1272 | base-64: 0.1.0
1273 | md5: 2.3.0
1274 | dev: false
1275 |
1276 | /dir-glob@3.0.1:
1277 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1278 | engines: {node: '>=8'}
1279 | dependencies:
1280 | path-type: 4.0.0
1281 | dev: true
1282 |
1283 | /dlv@1.1.3:
1284 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1285 |
1286 | /doctrine@2.1.0:
1287 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
1288 | engines: {node: '>=0.10.0'}
1289 | dependencies:
1290 | esutils: 2.0.3
1291 | dev: true
1292 |
1293 | /doctrine@3.0.0:
1294 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1295 | engines: {node: '>=6.0.0'}
1296 | dependencies:
1297 | esutils: 2.0.3
1298 | dev: true
1299 |
1300 | /electron-to-chromium@1.4.594:
1301 | resolution: {integrity: sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==}
1302 | dev: true
1303 |
1304 | /emoji-regex@9.2.2:
1305 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1306 | dev: true
1307 |
1308 | /enhanced-resolve@5.15.0:
1309 | resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
1310 | engines: {node: '>=10.13.0'}
1311 | dependencies:
1312 | graceful-fs: 4.2.11
1313 | tapable: 2.2.1
1314 | dev: true
1315 |
1316 | /es-abstract@1.22.3:
1317 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
1318 | engines: {node: '>= 0.4'}
1319 | dependencies:
1320 | array-buffer-byte-length: 1.0.0
1321 | arraybuffer.prototype.slice: 1.0.2
1322 | available-typed-arrays: 1.0.5
1323 | call-bind: 1.0.5
1324 | es-set-tostringtag: 2.0.2
1325 | es-to-primitive: 1.2.1
1326 | function.prototype.name: 1.1.6
1327 | get-intrinsic: 1.2.2
1328 | get-symbol-description: 1.0.0
1329 | globalthis: 1.0.3
1330 | gopd: 1.0.1
1331 | has-property-descriptors: 1.0.1
1332 | has-proto: 1.0.1
1333 | has-symbols: 1.0.3
1334 | hasown: 2.0.0
1335 | internal-slot: 1.0.6
1336 | is-array-buffer: 3.0.2
1337 | is-callable: 1.2.7
1338 | is-negative-zero: 2.0.2
1339 | is-regex: 1.1.4
1340 | is-shared-array-buffer: 1.0.2
1341 | is-string: 1.0.7
1342 | is-typed-array: 1.1.12
1343 | is-weakref: 1.0.2
1344 | object-inspect: 1.13.1
1345 | object-keys: 1.1.1
1346 | object.assign: 4.1.4
1347 | regexp.prototype.flags: 1.5.1
1348 | safe-array-concat: 1.0.1
1349 | safe-regex-test: 1.0.0
1350 | string.prototype.trim: 1.2.8
1351 | string.prototype.trimend: 1.0.7
1352 | string.prototype.trimstart: 1.0.7
1353 | typed-array-buffer: 1.0.0
1354 | typed-array-byte-length: 1.0.0
1355 | typed-array-byte-offset: 1.0.0
1356 | typed-array-length: 1.0.4
1357 | unbox-primitive: 1.0.2
1358 | which-typed-array: 1.1.13
1359 | dev: true
1360 |
1361 | /es-iterator-helpers@1.0.15:
1362 | resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
1363 | dependencies:
1364 | asynciterator.prototype: 1.0.0
1365 | call-bind: 1.0.5
1366 | define-properties: 1.2.1
1367 | es-abstract: 1.22.3
1368 | es-set-tostringtag: 2.0.2
1369 | function-bind: 1.1.2
1370 | get-intrinsic: 1.2.2
1371 | globalthis: 1.0.3
1372 | has-property-descriptors: 1.0.1
1373 | has-proto: 1.0.1
1374 | has-symbols: 1.0.3
1375 | internal-slot: 1.0.6
1376 | iterator.prototype: 1.1.2
1377 | safe-array-concat: 1.0.1
1378 | dev: true
1379 |
1380 | /es-set-tostringtag@2.0.2:
1381 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
1382 | engines: {node: '>= 0.4'}
1383 | dependencies:
1384 | get-intrinsic: 1.2.2
1385 | has-tostringtag: 1.0.0
1386 | hasown: 2.0.0
1387 | dev: true
1388 |
1389 | /es-shim-unscopables@1.0.2:
1390 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
1391 | dependencies:
1392 | hasown: 2.0.0
1393 | dev: true
1394 |
1395 | /es-to-primitive@1.2.1:
1396 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1397 | engines: {node: '>= 0.4'}
1398 | dependencies:
1399 | is-callable: 1.2.7
1400 | is-date-object: 1.0.5
1401 | is-symbol: 1.0.4
1402 | dev: true
1403 |
1404 | /escalade@3.1.1:
1405 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1406 | engines: {node: '>=6'}
1407 | dev: true
1408 |
1409 | /escape-string-regexp@4.0.0:
1410 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1411 | engines: {node: '>=10'}
1412 | dev: true
1413 |
1414 | /eslint-config-next@14.0.4-canary.17(eslint@8.54.0)(typescript@5.3.2):
1415 | resolution: {integrity: sha512-d22MoZUobf4/KsgZlX5VOrpToewaoRVW7MIYNKluZal4I7y4eSFqMJqe/7nfZ7svwd4xSWHSss66XfmRRo+npg==}
1416 | peerDependencies:
1417 | eslint: ^7.23.0 || ^8.0.0
1418 | typescript: '>=3.3.1'
1419 | peerDependenciesMeta:
1420 | typescript:
1421 | optional: true
1422 | dependencies:
1423 | '@next/eslint-plugin-next': 14.0.4-canary.17
1424 | '@rushstack/eslint-patch': 1.6.0
1425 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1426 | eslint: 8.54.0
1427 | eslint-import-resolver-node: 0.3.9
1428 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0)
1429 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1430 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.54.0)
1431 | eslint-plugin-react: 7.33.2(eslint@8.54.0)
1432 | eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0)
1433 | typescript: 5.3.2
1434 | transitivePeerDependencies:
1435 | - eslint-import-resolver-webpack
1436 | - supports-color
1437 | dev: true
1438 |
1439 | /eslint-import-resolver-node@0.3.9:
1440 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1441 | dependencies:
1442 | debug: 3.2.7
1443 | is-core-module: 2.13.1
1444 | resolve: 1.22.8
1445 | transitivePeerDependencies:
1446 | - supports-color
1447 | dev: true
1448 |
1449 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0):
1450 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
1451 | engines: {node: ^14.18.0 || >=16.0.0}
1452 | peerDependencies:
1453 | eslint: '*'
1454 | eslint-plugin-import: '*'
1455 | dependencies:
1456 | debug: 4.3.4
1457 | enhanced-resolve: 5.15.0
1458 | eslint: 8.54.0
1459 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1460 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1461 | fast-glob: 3.3.2
1462 | get-tsconfig: 4.7.2
1463 | is-core-module: 2.13.1
1464 | is-glob: 4.0.3
1465 | transitivePeerDependencies:
1466 | - '@typescript-eslint/parser'
1467 | - eslint-import-resolver-node
1468 | - eslint-import-resolver-webpack
1469 | - supports-color
1470 | dev: true
1471 |
1472 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0):
1473 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
1474 | engines: {node: '>=4'}
1475 | peerDependencies:
1476 | '@typescript-eslint/parser': '*'
1477 | eslint: '*'
1478 | eslint-import-resolver-node: '*'
1479 | eslint-import-resolver-typescript: '*'
1480 | eslint-import-resolver-webpack: '*'
1481 | peerDependenciesMeta:
1482 | '@typescript-eslint/parser':
1483 | optional: true
1484 | eslint:
1485 | optional: true
1486 | eslint-import-resolver-node:
1487 | optional: true
1488 | eslint-import-resolver-typescript:
1489 | optional: true
1490 | eslint-import-resolver-webpack:
1491 | optional: true
1492 | dependencies:
1493 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1494 | debug: 3.2.7
1495 | eslint: 8.54.0
1496 | eslint-import-resolver-node: 0.3.9
1497 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0)
1498 | transitivePeerDependencies:
1499 | - supports-color
1500 | dev: true
1501 |
1502 | /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0):
1503 | resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
1504 | engines: {node: '>=4'}
1505 | peerDependencies:
1506 | '@typescript-eslint/parser': '*'
1507 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
1508 | peerDependenciesMeta:
1509 | '@typescript-eslint/parser':
1510 | optional: true
1511 | dependencies:
1512 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2)
1513 | array-includes: 3.1.7
1514 | array.prototype.findlastindex: 1.2.3
1515 | array.prototype.flat: 1.3.2
1516 | array.prototype.flatmap: 1.3.2
1517 | debug: 3.2.7
1518 | doctrine: 2.1.0
1519 | eslint: 8.54.0
1520 | eslint-import-resolver-node: 0.3.9
1521 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0)
1522 | hasown: 2.0.0
1523 | is-core-module: 2.13.1
1524 | is-glob: 4.0.3
1525 | minimatch: 3.1.2
1526 | object.fromentries: 2.0.7
1527 | object.groupby: 1.0.1
1528 | object.values: 1.1.7
1529 | semver: 6.3.1
1530 | tsconfig-paths: 3.14.2
1531 | transitivePeerDependencies:
1532 | - eslint-import-resolver-typescript
1533 | - eslint-import-resolver-webpack
1534 | - supports-color
1535 | dev: true
1536 |
1537 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.54.0):
1538 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
1539 | engines: {node: '>=4.0'}
1540 | peerDependencies:
1541 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1542 | dependencies:
1543 | '@babel/runtime': 7.23.4
1544 | aria-query: 5.3.0
1545 | array-includes: 3.1.7
1546 | array.prototype.flatmap: 1.3.2
1547 | ast-types-flow: 0.0.8
1548 | axe-core: 4.7.0
1549 | axobject-query: 3.2.1
1550 | damerau-levenshtein: 1.0.8
1551 | emoji-regex: 9.2.2
1552 | es-iterator-helpers: 1.0.15
1553 | eslint: 8.54.0
1554 | hasown: 2.0.0
1555 | jsx-ast-utils: 3.3.5
1556 | language-tags: 1.0.9
1557 | minimatch: 3.1.2
1558 | object.entries: 1.1.7
1559 | object.fromentries: 2.0.7
1560 | dev: true
1561 |
1562 | /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0):
1563 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1564 | engines: {node: '>=10'}
1565 | peerDependencies:
1566 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1567 | dependencies:
1568 | eslint: 8.54.0
1569 | dev: true
1570 |
1571 | /eslint-plugin-react@7.33.2(eslint@8.54.0):
1572 | resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
1573 | engines: {node: '>=4'}
1574 | peerDependencies:
1575 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1576 | dependencies:
1577 | array-includes: 3.1.7
1578 | array.prototype.flatmap: 1.3.2
1579 | array.prototype.tosorted: 1.1.2
1580 | doctrine: 2.1.0
1581 | es-iterator-helpers: 1.0.15
1582 | eslint: 8.54.0
1583 | estraverse: 5.3.0
1584 | jsx-ast-utils: 3.3.5
1585 | minimatch: 3.1.2
1586 | object.entries: 1.1.7
1587 | object.fromentries: 2.0.7
1588 | object.hasown: 1.1.3
1589 | object.values: 1.1.7
1590 | prop-types: 15.8.1
1591 | resolve: 2.0.0-next.5
1592 | semver: 6.3.1
1593 | string.prototype.matchall: 4.0.10
1594 | dev: true
1595 |
1596 | /eslint-scope@7.2.2:
1597 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1598 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1599 | dependencies:
1600 | esrecurse: 4.3.0
1601 | estraverse: 5.3.0
1602 | dev: true
1603 |
1604 | /eslint-visitor-keys@3.4.3:
1605 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1606 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1607 | dev: true
1608 |
1609 | /eslint@8.54.0:
1610 | resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
1611 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1612 | hasBin: true
1613 | dependencies:
1614 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
1615 | '@eslint-community/regexpp': 4.10.0
1616 | '@eslint/eslintrc': 2.1.3
1617 | '@eslint/js': 8.54.0
1618 | '@humanwhocodes/config-array': 0.11.13
1619 | '@humanwhocodes/module-importer': 1.0.1
1620 | '@nodelib/fs.walk': 1.2.8
1621 | '@ungap/structured-clone': 1.2.0
1622 | ajv: 6.12.6
1623 | chalk: 4.1.2
1624 | cross-spawn: 7.0.3
1625 | debug: 4.3.4
1626 | doctrine: 3.0.0
1627 | escape-string-regexp: 4.0.0
1628 | eslint-scope: 7.2.2
1629 | eslint-visitor-keys: 3.4.3
1630 | espree: 9.6.1
1631 | esquery: 1.5.0
1632 | esutils: 2.0.3
1633 | fast-deep-equal: 3.1.3
1634 | file-entry-cache: 6.0.1
1635 | find-up: 5.0.0
1636 | glob-parent: 6.0.2
1637 | globals: 13.23.0
1638 | graphemer: 1.4.0
1639 | ignore: 5.3.0
1640 | imurmurhash: 0.1.4
1641 | is-glob: 4.0.3
1642 | is-path-inside: 3.0.3
1643 | js-yaml: 4.1.0
1644 | json-stable-stringify-without-jsonify: 1.0.1
1645 | levn: 0.4.1
1646 | lodash.merge: 4.6.2
1647 | minimatch: 3.1.2
1648 | natural-compare: 1.4.0
1649 | optionator: 0.9.3
1650 | strip-ansi: 6.0.1
1651 | text-table: 0.2.0
1652 | transitivePeerDependencies:
1653 | - supports-color
1654 | dev: true
1655 |
1656 | /espree@9.6.1:
1657 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1658 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1659 | dependencies:
1660 | acorn: 8.11.2
1661 | acorn-jsx: 5.3.2(acorn@8.11.2)
1662 | eslint-visitor-keys: 3.4.3
1663 | dev: true
1664 |
1665 | /esquery@1.5.0:
1666 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1667 | engines: {node: '>=0.10'}
1668 | dependencies:
1669 | estraverse: 5.3.0
1670 | dev: true
1671 |
1672 | /esrecurse@4.3.0:
1673 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1674 | engines: {node: '>=4.0'}
1675 | dependencies:
1676 | estraverse: 5.3.0
1677 | dev: true
1678 |
1679 | /estraverse@5.3.0:
1680 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1681 | engines: {node: '>=4.0'}
1682 | dev: true
1683 |
1684 | /estree-walker@2.0.2:
1685 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1686 | dev: false
1687 |
1688 | /estree-walker@3.0.3:
1689 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1690 | dependencies:
1691 | '@types/estree': 1.0.5
1692 | dev: false
1693 |
1694 | /esutils@2.0.3:
1695 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1696 | engines: {node: '>=0.10.0'}
1697 | dev: true
1698 |
1699 | /event-target-shim@5.0.1:
1700 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
1701 | engines: {node: '>=6'}
1702 | dev: false
1703 |
1704 | /eventsource-parser@1.0.0:
1705 | resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==}
1706 | engines: {node: '>=14.18'}
1707 | dev: false
1708 |
1709 | /fast-deep-equal@3.1.3:
1710 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1711 | dev: true
1712 |
1713 | /fast-glob@3.3.2:
1714 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1715 | engines: {node: '>=8.6.0'}
1716 | dependencies:
1717 | '@nodelib/fs.stat': 2.0.5
1718 | '@nodelib/fs.walk': 1.2.8
1719 | glob-parent: 5.1.2
1720 | merge2: 1.4.1
1721 | micromatch: 4.0.5
1722 |
1723 | /fast-json-stable-stringify@2.1.0:
1724 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1725 | dev: true
1726 |
1727 | /fast-levenshtein@2.0.6:
1728 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1729 | dev: true
1730 |
1731 | /fastq@1.15.0:
1732 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1733 | dependencies:
1734 | reusify: 1.0.4
1735 |
1736 | /file-entry-cache@6.0.1:
1737 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1738 | engines: {node: ^10.12.0 || >=12.0.0}
1739 | dependencies:
1740 | flat-cache: 3.2.0
1741 | dev: true
1742 |
1743 | /fill-range@7.0.1:
1744 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1745 | engines: {node: '>=8'}
1746 | dependencies:
1747 | to-regex-range: 5.0.1
1748 |
1749 | /find-up@5.0.0:
1750 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1751 | engines: {node: '>=10'}
1752 | dependencies:
1753 | locate-path: 6.0.0
1754 | path-exists: 4.0.0
1755 | dev: true
1756 |
1757 | /flat-cache@3.2.0:
1758 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1759 | engines: {node: ^10.12.0 || >=12.0.0}
1760 | dependencies:
1761 | flatted: 3.2.9
1762 | keyv: 4.5.4
1763 | rimraf: 3.0.2
1764 | dev: true
1765 |
1766 | /flatted@3.2.9:
1767 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
1768 | dev: true
1769 |
1770 | /for-each@0.3.3:
1771 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1772 | dependencies:
1773 | is-callable: 1.2.7
1774 | dev: true
1775 |
1776 | /form-data-encoder@1.7.2:
1777 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
1778 | dev: false
1779 |
1780 | /form-data@4.0.0:
1781 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1782 | engines: {node: '>= 6'}
1783 | dependencies:
1784 | asynckit: 0.4.0
1785 | combined-stream: 1.0.8
1786 | mime-types: 2.1.35
1787 | dev: false
1788 |
1789 | /formdata-node@4.4.1:
1790 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
1791 | engines: {node: '>= 12.20'}
1792 | dependencies:
1793 | node-domexception: 1.0.0
1794 | web-streams-polyfill: 4.0.0-beta.3
1795 | dev: false
1796 |
1797 | /fraction.js@4.3.7:
1798 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1799 | dev: true
1800 |
1801 | /fs.realpath@1.0.0:
1802 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1803 |
1804 | /fs@0.0.1-security:
1805 | resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==}
1806 | dev: false
1807 |
1808 | /fsevents@2.3.3:
1809 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1810 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1811 | os: [darwin]
1812 | requiresBuild: true
1813 | optional: true
1814 |
1815 | /function-bind@1.1.2:
1816 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1817 |
1818 | /function.prototype.name@1.1.6:
1819 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1820 | engines: {node: '>= 0.4'}
1821 | dependencies:
1822 | call-bind: 1.0.5
1823 | define-properties: 1.2.1
1824 | es-abstract: 1.22.3
1825 | functions-have-names: 1.2.3
1826 | dev: true
1827 |
1828 | /functions-have-names@1.2.3:
1829 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1830 | dev: true
1831 |
1832 | /get-intrinsic@1.2.2:
1833 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
1834 | dependencies:
1835 | function-bind: 1.1.2
1836 | has-proto: 1.0.1
1837 | has-symbols: 1.0.3
1838 | hasown: 2.0.0
1839 | dev: true
1840 |
1841 | /get-symbol-description@1.0.0:
1842 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1843 | engines: {node: '>= 0.4'}
1844 | dependencies:
1845 | call-bind: 1.0.5
1846 | get-intrinsic: 1.2.2
1847 | dev: true
1848 |
1849 | /get-tsconfig@4.7.2:
1850 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
1851 | dependencies:
1852 | resolve-pkg-maps: 1.0.0
1853 | dev: true
1854 |
1855 | /glob-parent@5.1.2:
1856 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1857 | engines: {node: '>= 6'}
1858 | dependencies:
1859 | is-glob: 4.0.3
1860 |
1861 | /glob-parent@6.0.2:
1862 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1863 | engines: {node: '>=10.13.0'}
1864 | dependencies:
1865 | is-glob: 4.0.3
1866 |
1867 | /glob-to-regexp@0.4.1:
1868 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
1869 | dev: false
1870 |
1871 | /glob@7.1.6:
1872 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1873 | dependencies:
1874 | fs.realpath: 1.0.0
1875 | inflight: 1.0.6
1876 | inherits: 2.0.4
1877 | minimatch: 3.1.2
1878 | once: 1.4.0
1879 | path-is-absolute: 1.0.1
1880 |
1881 | /glob@7.1.7:
1882 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1883 | dependencies:
1884 | fs.realpath: 1.0.0
1885 | inflight: 1.0.6
1886 | inherits: 2.0.4
1887 | minimatch: 3.1.2
1888 | once: 1.4.0
1889 | path-is-absolute: 1.0.1
1890 | dev: true
1891 |
1892 | /glob@7.2.3:
1893 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1894 | dependencies:
1895 | fs.realpath: 1.0.0
1896 | inflight: 1.0.6
1897 | inherits: 2.0.4
1898 | minimatch: 3.1.2
1899 | once: 1.4.0
1900 | path-is-absolute: 1.0.1
1901 | dev: true
1902 |
1903 | /globals@13.23.0:
1904 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
1905 | engines: {node: '>=8'}
1906 | dependencies:
1907 | type-fest: 0.20.2
1908 | dev: true
1909 |
1910 | /globalthis@1.0.3:
1911 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1912 | engines: {node: '>= 0.4'}
1913 | dependencies:
1914 | define-properties: 1.2.1
1915 | dev: true
1916 |
1917 | /globby@11.1.0:
1918 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1919 | engines: {node: '>=10'}
1920 | dependencies:
1921 | array-union: 2.1.0
1922 | dir-glob: 3.0.1
1923 | fast-glob: 3.3.2
1924 | ignore: 5.3.0
1925 | merge2: 1.4.1
1926 | slash: 3.0.0
1927 | dev: true
1928 |
1929 | /gopd@1.0.1:
1930 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1931 | dependencies:
1932 | get-intrinsic: 1.2.2
1933 | dev: true
1934 |
1935 | /graceful-fs@4.2.11:
1936 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1937 |
1938 | /graphemer@1.4.0:
1939 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1940 | dev: true
1941 |
1942 | /has-bigints@1.0.2:
1943 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1944 | dev: true
1945 |
1946 | /has-flag@4.0.0:
1947 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1948 | engines: {node: '>=8'}
1949 | dev: true
1950 |
1951 | /has-property-descriptors@1.0.1:
1952 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
1953 | dependencies:
1954 | get-intrinsic: 1.2.2
1955 | dev: true
1956 |
1957 | /has-proto@1.0.1:
1958 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1959 | engines: {node: '>= 0.4'}
1960 | dev: true
1961 |
1962 | /has-symbols@1.0.3:
1963 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1964 | engines: {node: '>= 0.4'}
1965 | dev: true
1966 |
1967 | /has-tostringtag@1.0.0:
1968 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1969 | engines: {node: '>= 0.4'}
1970 | dependencies:
1971 | has-symbols: 1.0.3
1972 | dev: true
1973 |
1974 | /hasown@2.0.0:
1975 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
1976 | engines: {node: '>= 0.4'}
1977 | dependencies:
1978 | function-bind: 1.1.2
1979 |
1980 | /humanize-ms@1.2.1:
1981 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
1982 | dependencies:
1983 | ms: 2.1.3
1984 | dev: false
1985 |
1986 | /ignore@5.3.0:
1987 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
1988 | engines: {node: '>= 4'}
1989 | dev: true
1990 |
1991 | /import-fresh@3.3.0:
1992 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1993 | engines: {node: '>=6'}
1994 | dependencies:
1995 | parent-module: 1.0.1
1996 | resolve-from: 4.0.0
1997 | dev: true
1998 |
1999 | /imurmurhash@0.1.4:
2000 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
2001 | engines: {node: '>=0.8.19'}
2002 | dev: true
2003 |
2004 | /inflight@1.0.6:
2005 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
2006 | dependencies:
2007 | once: 1.4.0
2008 | wrappy: 1.0.2
2009 |
2010 | /inherits@2.0.4:
2011 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
2012 |
2013 | /internal-slot@1.0.6:
2014 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
2015 | engines: {node: '>= 0.4'}
2016 | dependencies:
2017 | get-intrinsic: 1.2.2
2018 | hasown: 2.0.0
2019 | side-channel: 1.0.4
2020 | dev: true
2021 |
2022 | /is-array-buffer@3.0.2:
2023 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
2024 | dependencies:
2025 | call-bind: 1.0.5
2026 | get-intrinsic: 1.2.2
2027 | is-typed-array: 1.1.12
2028 | dev: true
2029 |
2030 | /is-async-function@2.0.0:
2031 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
2032 | engines: {node: '>= 0.4'}
2033 | dependencies:
2034 | has-tostringtag: 1.0.0
2035 | dev: true
2036 |
2037 | /is-bigint@1.0.4:
2038 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
2039 | dependencies:
2040 | has-bigints: 1.0.2
2041 | dev: true
2042 |
2043 | /is-binary-path@2.1.0:
2044 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
2045 | engines: {node: '>=8'}
2046 | dependencies:
2047 | binary-extensions: 2.2.0
2048 |
2049 | /is-boolean-object@1.1.2:
2050 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
2051 | engines: {node: '>= 0.4'}
2052 | dependencies:
2053 | call-bind: 1.0.5
2054 | has-tostringtag: 1.0.0
2055 | dev: true
2056 |
2057 | /is-buffer@1.1.6:
2058 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
2059 | dev: false
2060 |
2061 | /is-callable@1.2.7:
2062 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
2063 | engines: {node: '>= 0.4'}
2064 | dev: true
2065 |
2066 | /is-core-module@2.13.1:
2067 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
2068 | dependencies:
2069 | hasown: 2.0.0
2070 |
2071 | /is-date-object@1.0.5:
2072 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
2073 | engines: {node: '>= 0.4'}
2074 | dependencies:
2075 | has-tostringtag: 1.0.0
2076 | dev: true
2077 |
2078 | /is-extglob@2.1.1:
2079 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
2080 | engines: {node: '>=0.10.0'}
2081 |
2082 | /is-finalizationregistry@1.0.2:
2083 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
2084 | dependencies:
2085 | call-bind: 1.0.5
2086 | dev: true
2087 |
2088 | /is-generator-function@1.0.10:
2089 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
2090 | engines: {node: '>= 0.4'}
2091 | dependencies:
2092 | has-tostringtag: 1.0.0
2093 | dev: true
2094 |
2095 | /is-glob@4.0.3:
2096 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
2097 | engines: {node: '>=0.10.0'}
2098 | dependencies:
2099 | is-extglob: 2.1.1
2100 |
2101 | /is-map@2.0.2:
2102 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
2103 | dev: true
2104 |
2105 | /is-negative-zero@2.0.2:
2106 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
2107 | engines: {node: '>= 0.4'}
2108 | dev: true
2109 |
2110 | /is-number-object@1.0.7:
2111 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
2112 | engines: {node: '>= 0.4'}
2113 | dependencies:
2114 | has-tostringtag: 1.0.0
2115 | dev: true
2116 |
2117 | /is-number@7.0.0:
2118 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
2119 | engines: {node: '>=0.12.0'}
2120 |
2121 | /is-path-inside@3.0.3:
2122 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
2123 | engines: {node: '>=8'}
2124 | dev: true
2125 |
2126 | /is-reference@3.0.2:
2127 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
2128 | dependencies:
2129 | '@types/estree': 1.0.5
2130 | dev: false
2131 |
2132 | /is-regex@1.1.4:
2133 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
2134 | engines: {node: '>= 0.4'}
2135 | dependencies:
2136 | call-bind: 1.0.5
2137 | has-tostringtag: 1.0.0
2138 | dev: true
2139 |
2140 | /is-set@2.0.2:
2141 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
2142 | dev: true
2143 |
2144 | /is-shared-array-buffer@1.0.2:
2145 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
2146 | dependencies:
2147 | call-bind: 1.0.5
2148 | dev: true
2149 |
2150 | /is-string@1.0.7:
2151 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
2152 | engines: {node: '>= 0.4'}
2153 | dependencies:
2154 | has-tostringtag: 1.0.0
2155 | dev: true
2156 |
2157 | /is-symbol@1.0.4:
2158 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
2159 | engines: {node: '>= 0.4'}
2160 | dependencies:
2161 | has-symbols: 1.0.3
2162 | dev: true
2163 |
2164 | /is-typed-array@1.1.12:
2165 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
2166 | engines: {node: '>= 0.4'}
2167 | dependencies:
2168 | which-typed-array: 1.1.13
2169 | dev: true
2170 |
2171 | /is-weakmap@2.0.1:
2172 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
2173 | dev: true
2174 |
2175 | /is-weakref@1.0.2:
2176 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
2177 | dependencies:
2178 | call-bind: 1.0.5
2179 | dev: true
2180 |
2181 | /is-weakset@2.0.2:
2182 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
2183 | dependencies:
2184 | call-bind: 1.0.5
2185 | get-intrinsic: 1.2.2
2186 | dev: true
2187 |
2188 | /isarray@2.0.5:
2189 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
2190 | dev: true
2191 |
2192 | /isexe@2.0.0:
2193 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
2194 | dev: true
2195 |
2196 | /iterator.prototype@1.1.2:
2197 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
2198 | dependencies:
2199 | define-properties: 1.2.1
2200 | get-intrinsic: 1.2.2
2201 | has-symbols: 1.0.3
2202 | reflect.getprototypeof: 1.0.4
2203 | set-function-name: 2.0.1
2204 | dev: true
2205 |
2206 | /jiti@1.21.0:
2207 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
2208 | hasBin: true
2209 |
2210 | /js-tokens@4.0.0:
2211 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
2212 |
2213 | /js-yaml@4.1.0:
2214 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
2215 | hasBin: true
2216 | dependencies:
2217 | argparse: 2.0.1
2218 | dev: true
2219 |
2220 | /json-buffer@3.0.1:
2221 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
2222 | dev: true
2223 |
2224 | /json-schema-traverse@0.4.1:
2225 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
2226 | dev: true
2227 |
2228 | /json-stable-stringify-without-jsonify@1.0.1:
2229 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
2230 | dev: true
2231 |
2232 | /json5@1.0.2:
2233 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
2234 | hasBin: true
2235 | dependencies:
2236 | minimist: 1.2.8
2237 | dev: true
2238 |
2239 | /jsx-ast-utils@3.3.5:
2240 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
2241 | engines: {node: '>=4.0'}
2242 | dependencies:
2243 | array-includes: 3.1.7
2244 | array.prototype.flat: 1.3.2
2245 | object.assign: 4.1.4
2246 | object.values: 1.1.7
2247 | dev: true
2248 |
2249 | /keyv@4.5.4:
2250 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
2251 | dependencies:
2252 | json-buffer: 3.0.1
2253 | dev: true
2254 |
2255 | /language-subtag-registry@0.3.22:
2256 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
2257 | dev: true
2258 |
2259 | /language-tags@1.0.9:
2260 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
2261 | engines: {node: '>=0.10'}
2262 | dependencies:
2263 | language-subtag-registry: 0.3.22
2264 | dev: true
2265 |
2266 | /levn@0.4.1:
2267 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
2268 | engines: {node: '>= 0.8.0'}
2269 | dependencies:
2270 | prelude-ls: 1.2.1
2271 | type-check: 0.4.0
2272 | dev: true
2273 |
2274 | /lilconfig@2.1.0:
2275 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
2276 | engines: {node: '>=10'}
2277 |
2278 | /lilconfig@3.0.0:
2279 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
2280 | engines: {node: '>=14'}
2281 |
2282 | /lines-and-columns@1.2.4:
2283 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
2284 |
2285 | /locate-character@3.0.0:
2286 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
2287 | dev: false
2288 |
2289 | /locate-path@6.0.0:
2290 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
2291 | engines: {node: '>=10'}
2292 | dependencies:
2293 | p-locate: 5.0.0
2294 | dev: true
2295 |
2296 | /lodash.merge@4.6.2:
2297 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
2298 | dev: true
2299 |
2300 | /loose-envify@1.4.0:
2301 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
2302 | hasBin: true
2303 | dependencies:
2304 | js-tokens: 4.0.0
2305 |
2306 | /lru-cache@6.0.0:
2307 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
2308 | engines: {node: '>=10'}
2309 | dependencies:
2310 | yallist: 4.0.0
2311 | dev: true
2312 |
2313 | /lucide-react@0.293.0(react@18.2.0):
2314 | resolution: {integrity: sha512-g3AN0EYITCpAjNgLHrKrFWvIJzZy0Y9OPBaonyKw1cM+nZE6piOM+TiuQdYfha7oa76TMiDaWXQHE44CEqsrzw==}
2315 | peerDependencies:
2316 | react: ^16.5.1 || ^17.0.0 || ^18.0.0
2317 | dependencies:
2318 | react: 18.2.0
2319 | dev: false
2320 |
2321 | /magic-string@0.30.5:
2322 | resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
2323 | engines: {node: '>=12'}
2324 | dependencies:
2325 | '@jridgewell/sourcemap-codec': 1.4.15
2326 | dev: false
2327 |
2328 | /md5@2.3.0:
2329 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
2330 | dependencies:
2331 | charenc: 0.0.2
2332 | crypt: 0.0.2
2333 | is-buffer: 1.1.6
2334 | dev: false
2335 |
2336 | /mdn-data@2.0.30:
2337 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
2338 | dev: false
2339 |
2340 | /merge2@1.4.1:
2341 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
2342 | engines: {node: '>= 8'}
2343 |
2344 | /micromatch@4.0.5:
2345 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
2346 | engines: {node: '>=8.6'}
2347 | dependencies:
2348 | braces: 3.0.2
2349 | picomatch: 2.3.1
2350 |
2351 | /mime-db@1.52.0:
2352 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
2353 | engines: {node: '>= 0.6'}
2354 | dev: false
2355 |
2356 | /mime-types@2.1.35:
2357 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
2358 | engines: {node: '>= 0.6'}
2359 | dependencies:
2360 | mime-db: 1.52.0
2361 | dev: false
2362 |
2363 | /minimatch@3.1.2:
2364 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2365 | dependencies:
2366 | brace-expansion: 1.1.11
2367 |
2368 | /minimist@1.2.8:
2369 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
2370 | dev: true
2371 |
2372 | /ms@2.1.2:
2373 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2374 | dev: true
2375 |
2376 | /ms@2.1.3:
2377 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2378 |
2379 | /mz@2.7.0:
2380 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
2381 | dependencies:
2382 | any-promise: 1.3.0
2383 | object-assign: 4.1.1
2384 | thenify-all: 1.6.0
2385 |
2386 | /nanoid@3.3.6:
2387 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
2388 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2389 | hasBin: true
2390 | dev: false
2391 |
2392 | /nanoid@3.3.7:
2393 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
2394 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2395 | hasBin: true
2396 |
2397 | /natural-compare@1.4.0:
2398 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
2399 | dev: true
2400 |
2401 | /next-themes@0.2.1(next@14.0.4-canary.17)(react-dom@18.2.0)(react@18.2.0):
2402 | resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==}
2403 | peerDependencies:
2404 | next: '*'
2405 | react: '*'
2406 | react-dom: '*'
2407 | dependencies:
2408 | next: 14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0)
2409 | react: 18.2.0
2410 | react-dom: 18.2.0(react@18.2.0)
2411 | dev: false
2412 |
2413 | /next@14.0.4-canary.17(react-dom@18.2.0)(react@18.2.0):
2414 | resolution: {integrity: sha512-hbzyQsirzI7RONtnMHK36fqZHq/qKHsxz/GBX1m2qrEc2hIl0efgLiSjn/z6Vy8CUsH+V1HK6vv/qm0DxyqpKQ==}
2415 | engines: {node: '>=18.17.0'}
2416 | hasBin: true
2417 | peerDependencies:
2418 | '@opentelemetry/api': ^1.1.0
2419 | react: ^18.2.0
2420 | react-dom: ^18.2.0
2421 | sass: ^1.3.0
2422 | peerDependenciesMeta:
2423 | '@opentelemetry/api':
2424 | optional: true
2425 | sass:
2426 | optional: true
2427 | dependencies:
2428 | '@next/env': 14.0.4-canary.17
2429 | '@swc/helpers': 0.5.2
2430 | busboy: 1.6.0
2431 | caniuse-lite: 1.0.30001564
2432 | postcss: 8.4.31
2433 | react: 18.2.0
2434 | react-dom: 18.2.0(react@18.2.0)
2435 | styled-jsx: 5.1.1(react@18.2.0)
2436 | watchpack: 2.4.0
2437 | optionalDependencies:
2438 | '@next/swc-darwin-arm64': 14.0.4-canary.17
2439 | '@next/swc-darwin-x64': 14.0.4-canary.17
2440 | '@next/swc-linux-arm64-gnu': 14.0.4-canary.17
2441 | '@next/swc-linux-arm64-musl': 14.0.4-canary.17
2442 | '@next/swc-linux-x64-gnu': 14.0.4-canary.17
2443 | '@next/swc-linux-x64-musl': 14.0.4-canary.17
2444 | '@next/swc-win32-arm64-msvc': 14.0.4-canary.17
2445 | '@next/swc-win32-ia32-msvc': 14.0.4-canary.17
2446 | '@next/swc-win32-x64-msvc': 14.0.4-canary.17
2447 | transitivePeerDependencies:
2448 | - '@babel/core'
2449 | - babel-plugin-macros
2450 | dev: false
2451 |
2452 | /node-domexception@1.0.0:
2453 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
2454 | engines: {node: '>=10.5.0'}
2455 | dev: false
2456 |
2457 | /node-fetch@2.7.0:
2458 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
2459 | engines: {node: 4.x || >=6.0.0}
2460 | peerDependencies:
2461 | encoding: ^0.1.0
2462 | peerDependenciesMeta:
2463 | encoding:
2464 | optional: true
2465 | dependencies:
2466 | whatwg-url: 5.0.0
2467 | dev: false
2468 |
2469 | /node-releases@2.0.13:
2470 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
2471 | dev: true
2472 |
2473 | /normalize-path@3.0.0:
2474 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2475 | engines: {node: '>=0.10.0'}
2476 |
2477 | /normalize-range@0.1.2:
2478 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
2479 | engines: {node: '>=0.10.0'}
2480 | dev: true
2481 |
2482 | /object-assign@4.1.1:
2483 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2484 | engines: {node: '>=0.10.0'}
2485 |
2486 | /object-hash@3.0.0:
2487 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
2488 | engines: {node: '>= 6'}
2489 |
2490 | /object-inspect@1.13.1:
2491 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
2492 | dev: true
2493 |
2494 | /object-keys@1.1.1:
2495 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2496 | engines: {node: '>= 0.4'}
2497 | dev: true
2498 |
2499 | /object.assign@4.1.4:
2500 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
2501 | engines: {node: '>= 0.4'}
2502 | dependencies:
2503 | call-bind: 1.0.5
2504 | define-properties: 1.2.1
2505 | has-symbols: 1.0.3
2506 | object-keys: 1.1.1
2507 | dev: true
2508 |
2509 | /object.entries@1.1.7:
2510 | resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
2511 | engines: {node: '>= 0.4'}
2512 | dependencies:
2513 | call-bind: 1.0.5
2514 | define-properties: 1.2.1
2515 | es-abstract: 1.22.3
2516 | dev: true
2517 |
2518 | /object.fromentries@2.0.7:
2519 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
2520 | engines: {node: '>= 0.4'}
2521 | dependencies:
2522 | call-bind: 1.0.5
2523 | define-properties: 1.2.1
2524 | es-abstract: 1.22.3
2525 | dev: true
2526 |
2527 | /object.groupby@1.0.1:
2528 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
2529 | dependencies:
2530 | call-bind: 1.0.5
2531 | define-properties: 1.2.1
2532 | es-abstract: 1.22.3
2533 | get-intrinsic: 1.2.2
2534 | dev: true
2535 |
2536 | /object.hasown@1.1.3:
2537 | resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
2538 | dependencies:
2539 | define-properties: 1.2.1
2540 | es-abstract: 1.22.3
2541 | dev: true
2542 |
2543 | /object.values@1.1.7:
2544 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
2545 | engines: {node: '>= 0.4'}
2546 | dependencies:
2547 | call-bind: 1.0.5
2548 | define-properties: 1.2.1
2549 | es-abstract: 1.22.3
2550 | dev: true
2551 |
2552 | /once@1.4.0:
2553 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2554 | dependencies:
2555 | wrappy: 1.0.2
2556 |
2557 | /openai@4.20.0:
2558 | resolution: {integrity: sha512-VbAYerNZFfIIeESS+OL9vgDkK8Mnri55n+jN0UN/HZeuM0ghGh6nDN6UGRZxslNgyJ7XmY/Ca9DO4YYyvrszGA==}
2559 | hasBin: true
2560 | dependencies:
2561 | '@types/node': 18.18.13
2562 | '@types/node-fetch': 2.6.9
2563 | abort-controller: 3.0.0
2564 | agentkeepalive: 4.5.0
2565 | digest-fetch: 1.3.0
2566 | form-data-encoder: 1.7.2
2567 | formdata-node: 4.4.1
2568 | node-fetch: 2.7.0
2569 | web-streams-polyfill: 3.2.1
2570 | transitivePeerDependencies:
2571 | - encoding
2572 | dev: false
2573 |
2574 | /optionator@0.9.3:
2575 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
2576 | engines: {node: '>= 0.8.0'}
2577 | dependencies:
2578 | '@aashutoshrathi/word-wrap': 1.2.6
2579 | deep-is: 0.1.4
2580 | fast-levenshtein: 2.0.6
2581 | levn: 0.4.1
2582 | prelude-ls: 1.2.1
2583 | type-check: 0.4.0
2584 | dev: true
2585 |
2586 | /p-limit@3.1.0:
2587 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2588 | engines: {node: '>=10'}
2589 | dependencies:
2590 | yocto-queue: 0.1.0
2591 | dev: true
2592 |
2593 | /p-locate@5.0.0:
2594 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2595 | engines: {node: '>=10'}
2596 | dependencies:
2597 | p-limit: 3.1.0
2598 | dev: true
2599 |
2600 | /parent-module@1.0.1:
2601 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2602 | engines: {node: '>=6'}
2603 | dependencies:
2604 | callsites: 3.1.0
2605 | dev: true
2606 |
2607 | /path-exists@4.0.0:
2608 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2609 | engines: {node: '>=8'}
2610 | dev: true
2611 |
2612 | /path-is-absolute@1.0.1:
2613 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2614 | engines: {node: '>=0.10.0'}
2615 |
2616 | /path-key@3.1.1:
2617 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2618 | engines: {node: '>=8'}
2619 | dev: true
2620 |
2621 | /path-parse@1.0.7:
2622 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2623 |
2624 | /path-type@4.0.0:
2625 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2626 | engines: {node: '>=8'}
2627 | dev: true
2628 |
2629 | /periscopic@3.1.0:
2630 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
2631 | dependencies:
2632 | '@types/estree': 1.0.5
2633 | estree-walker: 3.0.3
2634 | is-reference: 3.0.2
2635 | dev: false
2636 |
2637 | /picocolors@1.0.0:
2638 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2639 |
2640 | /picomatch@2.3.1:
2641 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2642 | engines: {node: '>=8.6'}
2643 |
2644 | /pify@2.3.0:
2645 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
2646 | engines: {node: '>=0.10.0'}
2647 |
2648 | /pirates@4.0.6:
2649 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
2650 | engines: {node: '>= 6'}
2651 |
2652 | /postcss-import@15.1.0(postcss@8.4.31):
2653 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
2654 | engines: {node: '>=14.0.0'}
2655 | peerDependencies:
2656 | postcss: ^8.0.0
2657 | dependencies:
2658 | postcss: 8.4.31
2659 | postcss-value-parser: 4.2.0
2660 | read-cache: 1.0.0
2661 | resolve: 1.22.8
2662 |
2663 | /postcss-js@4.0.1(postcss@8.4.31):
2664 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
2665 | engines: {node: ^12 || ^14 || >= 16}
2666 | peerDependencies:
2667 | postcss: ^8.4.21
2668 | dependencies:
2669 | camelcase-css: 2.0.1
2670 | postcss: 8.4.31
2671 |
2672 | /postcss-load-config@4.0.2(postcss@8.4.31):
2673 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
2674 | engines: {node: '>= 14'}
2675 | peerDependencies:
2676 | postcss: '>=8.0.9'
2677 | ts-node: '>=9.0.0'
2678 | peerDependenciesMeta:
2679 | postcss:
2680 | optional: true
2681 | ts-node:
2682 | optional: true
2683 | dependencies:
2684 | lilconfig: 3.0.0
2685 | postcss: 8.4.31
2686 | yaml: 2.3.4
2687 |
2688 | /postcss-nested@6.0.1(postcss@8.4.31):
2689 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
2690 | engines: {node: '>=12.0'}
2691 | peerDependencies:
2692 | postcss: ^8.2.14
2693 | dependencies:
2694 | postcss: 8.4.31
2695 | postcss-selector-parser: 6.0.13
2696 |
2697 | /postcss-selector-parser@6.0.13:
2698 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
2699 | engines: {node: '>=4'}
2700 | dependencies:
2701 | cssesc: 3.0.0
2702 | util-deprecate: 1.0.2
2703 |
2704 | /postcss-value-parser@4.2.0:
2705 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
2706 |
2707 | /postcss@8.4.31:
2708 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
2709 | engines: {node: ^10 || ^12 || >=14}
2710 | dependencies:
2711 | nanoid: 3.3.7
2712 | picocolors: 1.0.0
2713 | source-map-js: 1.0.2
2714 |
2715 | /prelude-ls@1.2.1:
2716 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2717 | engines: {node: '>= 0.8.0'}
2718 | dev: true
2719 |
2720 | /prismjs@1.29.0:
2721 | resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
2722 | engines: {node: '>=6'}
2723 | dev: false
2724 |
2725 | /prop-types@15.8.1:
2726 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2727 | dependencies:
2728 | loose-envify: 1.4.0
2729 | object-assign: 4.1.1
2730 | react-is: 16.13.1
2731 | dev: true
2732 |
2733 | /punycode@2.3.1:
2734 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
2735 | engines: {node: '>=6'}
2736 | dev: true
2737 |
2738 | /queue-microtask@1.2.3:
2739 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2740 |
2741 | /react-dom@18.2.0(react@18.2.0):
2742 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2743 | peerDependencies:
2744 | react: ^18.2.0
2745 | dependencies:
2746 | loose-envify: 1.4.0
2747 | react: 18.2.0
2748 | scheduler: 0.23.0
2749 | dev: false
2750 |
2751 | /react-is@16.13.1:
2752 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2753 | dev: true
2754 |
2755 | /react@18.2.0:
2756 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2757 | engines: {node: '>=0.10.0'}
2758 | dependencies:
2759 | loose-envify: 1.4.0
2760 | dev: false
2761 |
2762 | /read-cache@1.0.0:
2763 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
2764 | dependencies:
2765 | pify: 2.3.0
2766 |
2767 | /readdirp@3.6.0:
2768 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2769 | engines: {node: '>=8.10.0'}
2770 | dependencies:
2771 | picomatch: 2.3.1
2772 |
2773 | /reflect.getprototypeof@1.0.4:
2774 | resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
2775 | engines: {node: '>= 0.4'}
2776 | dependencies:
2777 | call-bind: 1.0.5
2778 | define-properties: 1.2.1
2779 | es-abstract: 1.22.3
2780 | get-intrinsic: 1.2.2
2781 | globalthis: 1.0.3
2782 | which-builtin-type: 1.1.3
2783 | dev: true
2784 |
2785 | /regenerator-runtime@0.14.0:
2786 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
2787 |
2788 | /regexp.prototype.flags@1.5.1:
2789 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
2790 | engines: {node: '>= 0.4'}
2791 | dependencies:
2792 | call-bind: 1.0.5
2793 | define-properties: 1.2.1
2794 | set-function-name: 2.0.1
2795 | dev: true
2796 |
2797 | /resolve-from@4.0.0:
2798 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2799 | engines: {node: '>=4'}
2800 | dev: true
2801 |
2802 | /resolve-pkg-maps@1.0.0:
2803 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
2804 | dev: true
2805 |
2806 | /resolve@1.22.8:
2807 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2808 | hasBin: true
2809 | dependencies:
2810 | is-core-module: 2.13.1
2811 | path-parse: 1.0.7
2812 | supports-preserve-symlinks-flag: 1.0.0
2813 |
2814 | /resolve@2.0.0-next.5:
2815 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
2816 | hasBin: true
2817 | dependencies:
2818 | is-core-module: 2.13.1
2819 | path-parse: 1.0.7
2820 | supports-preserve-symlinks-flag: 1.0.0
2821 | dev: true
2822 |
2823 | /reusify@1.0.4:
2824 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2825 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2826 |
2827 | /rimraf@3.0.2:
2828 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2829 | hasBin: true
2830 | dependencies:
2831 | glob: 7.2.3
2832 | dev: true
2833 |
2834 | /run-parallel@1.2.0:
2835 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2836 | dependencies:
2837 | queue-microtask: 1.2.3
2838 |
2839 | /safe-array-concat@1.0.1:
2840 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
2841 | engines: {node: '>=0.4'}
2842 | dependencies:
2843 | call-bind: 1.0.5
2844 | get-intrinsic: 1.2.2
2845 | has-symbols: 1.0.3
2846 | isarray: 2.0.5
2847 | dev: true
2848 |
2849 | /safe-regex-test@1.0.0:
2850 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2851 | dependencies:
2852 | call-bind: 1.0.5
2853 | get-intrinsic: 1.2.2
2854 | is-regex: 1.1.4
2855 | dev: true
2856 |
2857 | /scheduler@0.23.0:
2858 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2859 | dependencies:
2860 | loose-envify: 1.4.0
2861 | dev: false
2862 |
2863 | /semver@6.3.1:
2864 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2865 | hasBin: true
2866 | dev: true
2867 |
2868 | /semver@7.5.4:
2869 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
2870 | engines: {node: '>=10'}
2871 | hasBin: true
2872 | dependencies:
2873 | lru-cache: 6.0.0
2874 | dev: true
2875 |
2876 | /seroval@0.14.1:
2877 | resolution: {integrity: sha512-ZlC9y1KVDhZFdEHLYZup1RjKDutyX1tt3ffOauqRbRURa2vRr2NU/bHuVEuNEqR3zE2uCU3WM6LqH6Oinc3tWg==}
2878 | engines: {node: '>=10'}
2879 | dev: false
2880 |
2881 | /set-function-length@1.1.1:
2882 | resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
2883 | engines: {node: '>= 0.4'}
2884 | dependencies:
2885 | define-data-property: 1.1.1
2886 | get-intrinsic: 1.2.2
2887 | gopd: 1.0.1
2888 | has-property-descriptors: 1.0.1
2889 | dev: true
2890 |
2891 | /set-function-name@2.0.1:
2892 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
2893 | engines: {node: '>= 0.4'}
2894 | dependencies:
2895 | define-data-property: 1.1.1
2896 | functions-have-names: 1.2.3
2897 | has-property-descriptors: 1.0.1
2898 | dev: true
2899 |
2900 | /shebang-command@2.0.0:
2901 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2902 | engines: {node: '>=8'}
2903 | dependencies:
2904 | shebang-regex: 3.0.0
2905 | dev: true
2906 |
2907 | /shebang-regex@3.0.0:
2908 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2909 | engines: {node: '>=8'}
2910 | dev: true
2911 |
2912 | /side-channel@1.0.4:
2913 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2914 | dependencies:
2915 | call-bind: 1.0.5
2916 | get-intrinsic: 1.2.2
2917 | object-inspect: 1.13.1
2918 | dev: true
2919 |
2920 | /slash@3.0.0:
2921 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2922 | engines: {node: '>=8'}
2923 | dev: true
2924 |
2925 | /solid-js@1.8.6:
2926 | resolution: {integrity: sha512-yiH6ZfBBZ3xj/aU/PBpVKB+8r8WWp100NGF7k/Z0IrK9Y8Lv0jwvFiJY1cHdc6Tj7GqXArKnMBabM0m1k+LzkA==}
2927 | dependencies:
2928 | csstype: 3.1.2
2929 | seroval: 0.14.1
2930 | dev: false
2931 |
2932 | /solid-swr-store@0.10.7(solid-js@1.8.6)(swr-store@0.10.6):
2933 | resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==}
2934 | engines: {node: '>=10'}
2935 | peerDependencies:
2936 | solid-js: ^1.2
2937 | swr-store: ^0.10
2938 | dependencies:
2939 | solid-js: 1.8.6
2940 | swr-store: 0.10.6
2941 | dev: false
2942 |
2943 | /source-map-js@1.0.2:
2944 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2945 | engines: {node: '>=0.10.0'}
2946 |
2947 | /sswr@2.0.0(svelte@4.2.7):
2948 | resolution: {integrity: sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==}
2949 | peerDependencies:
2950 | svelte: ^4.0.0
2951 | dependencies:
2952 | svelte: 4.2.7
2953 | swrev: 4.0.0
2954 | dev: false
2955 |
2956 | /streamsearch@1.1.0:
2957 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
2958 | engines: {node: '>=10.0.0'}
2959 | dev: false
2960 |
2961 | /string.prototype.matchall@4.0.10:
2962 | resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
2963 | dependencies:
2964 | call-bind: 1.0.5
2965 | define-properties: 1.2.1
2966 | es-abstract: 1.22.3
2967 | get-intrinsic: 1.2.2
2968 | has-symbols: 1.0.3
2969 | internal-slot: 1.0.6
2970 | regexp.prototype.flags: 1.5.1
2971 | set-function-name: 2.0.1
2972 | side-channel: 1.0.4
2973 | dev: true
2974 |
2975 | /string.prototype.trim@1.2.8:
2976 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
2977 | engines: {node: '>= 0.4'}
2978 | dependencies:
2979 | call-bind: 1.0.5
2980 | define-properties: 1.2.1
2981 | es-abstract: 1.22.3
2982 | dev: true
2983 |
2984 | /string.prototype.trimend@1.0.7:
2985 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
2986 | dependencies:
2987 | call-bind: 1.0.5
2988 | define-properties: 1.2.1
2989 | es-abstract: 1.22.3
2990 | dev: true
2991 |
2992 | /string.prototype.trimstart@1.0.7:
2993 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
2994 | dependencies:
2995 | call-bind: 1.0.5
2996 | define-properties: 1.2.1
2997 | es-abstract: 1.22.3
2998 | dev: true
2999 |
3000 | /strip-ansi@6.0.1:
3001 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
3002 | engines: {node: '>=8'}
3003 | dependencies:
3004 | ansi-regex: 5.0.1
3005 | dev: true
3006 |
3007 | /strip-bom@3.0.0:
3008 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
3009 | engines: {node: '>=4'}
3010 | dev: true
3011 |
3012 | /strip-json-comments@3.1.1:
3013 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
3014 | engines: {node: '>=8'}
3015 | dev: true
3016 |
3017 | /styled-jsx@5.1.1(react@18.2.0):
3018 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
3019 | engines: {node: '>= 12.0.0'}
3020 | peerDependencies:
3021 | '@babel/core': '*'
3022 | babel-plugin-macros: '*'
3023 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
3024 | peerDependenciesMeta:
3025 | '@babel/core':
3026 | optional: true
3027 | babel-plugin-macros:
3028 | optional: true
3029 | dependencies:
3030 | client-only: 0.0.1
3031 | react: 18.2.0
3032 | dev: false
3033 |
3034 | /sucrase@3.34.0:
3035 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
3036 | engines: {node: '>=8'}
3037 | hasBin: true
3038 | dependencies:
3039 | '@jridgewell/gen-mapping': 0.3.3
3040 | commander: 4.1.1
3041 | glob: 7.1.6
3042 | lines-and-columns: 1.2.4
3043 | mz: 2.7.0
3044 | pirates: 4.0.6
3045 | ts-interface-checker: 0.1.13
3046 |
3047 | /supports-color@7.2.0:
3048 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
3049 | engines: {node: '>=8'}
3050 | dependencies:
3051 | has-flag: 4.0.0
3052 | dev: true
3053 |
3054 | /supports-preserve-symlinks-flag@1.0.0:
3055 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
3056 | engines: {node: '>= 0.4'}
3057 |
3058 | /svelte@4.2.7:
3059 | resolution: {integrity: sha512-UExR1KS7raTdycsUrKLtStayu4hpdV3VZQgM0akX8XbXgLBlosdE/Sf3crOgyh9xIjqSYB3UEBuUlIQKRQX2hg==}
3060 | engines: {node: '>=16'}
3061 | dependencies:
3062 | '@ampproject/remapping': 2.2.1
3063 | '@jridgewell/sourcemap-codec': 1.4.15
3064 | '@jridgewell/trace-mapping': 0.3.20
3065 | acorn: 8.11.2
3066 | aria-query: 5.3.0
3067 | axobject-query: 3.2.1
3068 | code-red: 1.0.4
3069 | css-tree: 2.3.1
3070 | estree-walker: 3.0.3
3071 | is-reference: 3.0.2
3072 | locate-character: 3.0.0
3073 | magic-string: 0.30.5
3074 | periscopic: 3.1.0
3075 | dev: false
3076 |
3077 | /swr-store@0.10.6:
3078 | resolution: {integrity: sha512-xPjB1hARSiRaNNlUQvWSVrG5SirCjk2TmaUyzzvk69SZQan9hCJqw/5rG9iL7xElHU784GxRPISClq4488/XVw==}
3079 | engines: {node: '>=10'}
3080 | dependencies:
3081 | dequal: 2.0.3
3082 | dev: false
3083 |
3084 | /swr@2.2.0(react@18.2.0):
3085 | resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==}
3086 | peerDependencies:
3087 | react: ^16.11.0 || ^17.0.0 || ^18.0.0
3088 | dependencies:
3089 | react: 18.2.0
3090 | use-sync-external-store: 1.2.0(react@18.2.0)
3091 | dev: false
3092 |
3093 | /swrev@4.0.0:
3094 | resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==}
3095 | dev: false
3096 |
3097 | /swrv@1.0.4(vue@3.3.9):
3098 | resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==}
3099 | peerDependencies:
3100 | vue: '>=3.2.26 < 4'
3101 | dependencies:
3102 | vue: 3.3.9(typescript@5.3.2)
3103 | dev: false
3104 |
3105 | /tailwind-merge@2.0.0:
3106 | resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==}
3107 | dependencies:
3108 | '@babel/runtime': 7.23.4
3109 | dev: false
3110 |
3111 | /tailwindcss-animate@1.0.7(tailwindcss@3.3.5):
3112 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
3113 | peerDependencies:
3114 | tailwindcss: '>=3.0.0 || insiders'
3115 | dependencies:
3116 | tailwindcss: 3.3.5
3117 | dev: false
3118 |
3119 | /tailwindcss@3.3.5:
3120 | resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
3121 | engines: {node: '>=14.0.0'}
3122 | hasBin: true
3123 | dependencies:
3124 | '@alloc/quick-lru': 5.2.0
3125 | arg: 5.0.2
3126 | chokidar: 3.5.3
3127 | didyoumean: 1.2.2
3128 | dlv: 1.1.3
3129 | fast-glob: 3.3.2
3130 | glob-parent: 6.0.2
3131 | is-glob: 4.0.3
3132 | jiti: 1.21.0
3133 | lilconfig: 2.1.0
3134 | micromatch: 4.0.5
3135 | normalize-path: 3.0.0
3136 | object-hash: 3.0.0
3137 | picocolors: 1.0.0
3138 | postcss: 8.4.31
3139 | postcss-import: 15.1.0(postcss@8.4.31)
3140 | postcss-js: 4.0.1(postcss@8.4.31)
3141 | postcss-load-config: 4.0.2(postcss@8.4.31)
3142 | postcss-nested: 6.0.1(postcss@8.4.31)
3143 | postcss-selector-parser: 6.0.13
3144 | resolve: 1.22.8
3145 | sucrase: 3.34.0
3146 | transitivePeerDependencies:
3147 | - ts-node
3148 |
3149 | /tapable@2.2.1:
3150 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
3151 | engines: {node: '>=6'}
3152 | dev: true
3153 |
3154 | /text-table@0.2.0:
3155 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
3156 | dev: true
3157 |
3158 | /thenify-all@1.6.0:
3159 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
3160 | engines: {node: '>=0.8'}
3161 | dependencies:
3162 | thenify: 3.3.1
3163 |
3164 | /thenify@3.3.1:
3165 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
3166 | dependencies:
3167 | any-promise: 1.3.0
3168 |
3169 | /to-fast-properties@2.0.0:
3170 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
3171 | engines: {node: '>=4'}
3172 | dev: false
3173 |
3174 | /to-regex-range@5.0.1:
3175 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
3176 | engines: {node: '>=8.0'}
3177 | dependencies:
3178 | is-number: 7.0.0
3179 |
3180 | /tr46@0.0.3:
3181 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
3182 | dev: false
3183 |
3184 | /ts-api-utils@1.0.3(typescript@5.3.2):
3185 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
3186 | engines: {node: '>=16.13.0'}
3187 | peerDependencies:
3188 | typescript: '>=4.2.0'
3189 | dependencies:
3190 | typescript: 5.3.2
3191 | dev: true
3192 |
3193 | /ts-interface-checker@0.1.13:
3194 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
3195 |
3196 | /tsconfig-paths@3.14.2:
3197 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
3198 | dependencies:
3199 | '@types/json5': 0.0.29
3200 | json5: 1.0.2
3201 | minimist: 1.2.8
3202 | strip-bom: 3.0.0
3203 | dev: true
3204 |
3205 | /tslib@2.6.2:
3206 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
3207 | dev: false
3208 |
3209 | /type-check@0.4.0:
3210 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
3211 | engines: {node: '>= 0.8.0'}
3212 | dependencies:
3213 | prelude-ls: 1.2.1
3214 | dev: true
3215 |
3216 | /type-fest@0.20.2:
3217 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
3218 | engines: {node: '>=10'}
3219 | dev: true
3220 |
3221 | /typed-array-buffer@1.0.0:
3222 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
3223 | engines: {node: '>= 0.4'}
3224 | dependencies:
3225 | call-bind: 1.0.5
3226 | get-intrinsic: 1.2.2
3227 | is-typed-array: 1.1.12
3228 | dev: true
3229 |
3230 | /typed-array-byte-length@1.0.0:
3231 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
3232 | engines: {node: '>= 0.4'}
3233 | dependencies:
3234 | call-bind: 1.0.5
3235 | for-each: 0.3.3
3236 | has-proto: 1.0.1
3237 | is-typed-array: 1.1.12
3238 | dev: true
3239 |
3240 | /typed-array-byte-offset@1.0.0:
3241 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
3242 | engines: {node: '>= 0.4'}
3243 | dependencies:
3244 | available-typed-arrays: 1.0.5
3245 | call-bind: 1.0.5
3246 | for-each: 0.3.3
3247 | has-proto: 1.0.1
3248 | is-typed-array: 1.1.12
3249 | dev: true
3250 |
3251 | /typed-array-length@1.0.4:
3252 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
3253 | dependencies:
3254 | call-bind: 1.0.5
3255 | for-each: 0.3.3
3256 | is-typed-array: 1.1.12
3257 | dev: true
3258 |
3259 | /typescript@5.3.2:
3260 | resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==}
3261 | engines: {node: '>=14.17'}
3262 | hasBin: true
3263 |
3264 | /unbox-primitive@1.0.2:
3265 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
3266 | dependencies:
3267 | call-bind: 1.0.5
3268 | has-bigints: 1.0.2
3269 | has-symbols: 1.0.3
3270 | which-boxed-primitive: 1.0.2
3271 | dev: true
3272 |
3273 | /undici-types@5.26.5:
3274 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
3275 |
3276 | /update-browserslist-db@1.0.13(browserslist@4.22.1):
3277 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
3278 | hasBin: true
3279 | peerDependencies:
3280 | browserslist: '>= 4.21.0'
3281 | dependencies:
3282 | browserslist: 4.22.1
3283 | escalade: 3.1.1
3284 | picocolors: 1.0.0
3285 | dev: true
3286 |
3287 | /uri-js@4.4.1:
3288 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
3289 | dependencies:
3290 | punycode: 2.3.1
3291 | dev: true
3292 |
3293 | /use-sync-external-store@1.2.0(react@18.2.0):
3294 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
3295 | peerDependencies:
3296 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
3297 | dependencies:
3298 | react: 18.2.0
3299 | dev: false
3300 |
3301 | /util-deprecate@1.0.2:
3302 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
3303 |
3304 | /vue@3.3.9(typescript@5.3.2):
3305 | resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==}
3306 | peerDependencies:
3307 | typescript: '*'
3308 | peerDependenciesMeta:
3309 | typescript:
3310 | optional: true
3311 | dependencies:
3312 | '@vue/compiler-dom': 3.3.9
3313 | '@vue/compiler-sfc': 3.3.9
3314 | '@vue/runtime-dom': 3.3.9
3315 | '@vue/server-renderer': 3.3.9(vue@3.3.9)
3316 | '@vue/shared': 3.3.9
3317 | typescript: 5.3.2
3318 | dev: false
3319 |
3320 | /watchpack@2.4.0:
3321 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
3322 | engines: {node: '>=10.13.0'}
3323 | dependencies:
3324 | glob-to-regexp: 0.4.1
3325 | graceful-fs: 4.2.11
3326 | dev: false
3327 |
3328 | /web-streams-polyfill@3.2.1:
3329 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==}
3330 | engines: {node: '>= 8'}
3331 | dev: false
3332 |
3333 | /web-streams-polyfill@4.0.0-beta.3:
3334 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
3335 | engines: {node: '>= 14'}
3336 | dev: false
3337 |
3338 | /webidl-conversions@3.0.1:
3339 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
3340 | dev: false
3341 |
3342 | /whatwg-url@5.0.0:
3343 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
3344 | dependencies:
3345 | tr46: 0.0.3
3346 | webidl-conversions: 3.0.1
3347 | dev: false
3348 |
3349 | /which-boxed-primitive@1.0.2:
3350 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
3351 | dependencies:
3352 | is-bigint: 1.0.4
3353 | is-boolean-object: 1.1.2
3354 | is-number-object: 1.0.7
3355 | is-string: 1.0.7
3356 | is-symbol: 1.0.4
3357 | dev: true
3358 |
3359 | /which-builtin-type@1.1.3:
3360 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
3361 | engines: {node: '>= 0.4'}
3362 | dependencies:
3363 | function.prototype.name: 1.1.6
3364 | has-tostringtag: 1.0.0
3365 | is-async-function: 2.0.0
3366 | is-date-object: 1.0.5
3367 | is-finalizationregistry: 1.0.2
3368 | is-generator-function: 1.0.10
3369 | is-regex: 1.1.4
3370 | is-weakref: 1.0.2
3371 | isarray: 2.0.5
3372 | which-boxed-primitive: 1.0.2
3373 | which-collection: 1.0.1
3374 | which-typed-array: 1.1.13
3375 | dev: true
3376 |
3377 | /which-collection@1.0.1:
3378 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
3379 | dependencies:
3380 | is-map: 2.0.2
3381 | is-set: 2.0.2
3382 | is-weakmap: 2.0.1
3383 | is-weakset: 2.0.2
3384 | dev: true
3385 |
3386 | /which-typed-array@1.1.13:
3387 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
3388 | engines: {node: '>= 0.4'}
3389 | dependencies:
3390 | available-typed-arrays: 1.0.5
3391 | call-bind: 1.0.5
3392 | for-each: 0.3.3
3393 | gopd: 1.0.1
3394 | has-tostringtag: 1.0.0
3395 | dev: true
3396 |
3397 | /which@2.0.2:
3398 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
3399 | engines: {node: '>= 8'}
3400 | hasBin: true
3401 | dependencies:
3402 | isexe: 2.0.0
3403 | dev: true
3404 |
3405 | /wrappy@1.0.2:
3406 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
3407 |
3408 | /yallist@4.0.0:
3409 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
3410 | dev: true
3411 |
3412 | /yaml@2.3.4:
3413 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
3414 | engines: {node: '>= 14'}
3415 |
3416 | /yocto-queue@0.1.0:
3417 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
3418 | engines: {node: '>=10'}
3419 | dev: true
3420 |
--------------------------------------------------------------------------------