├── public
├── ads.txt
├── hong.png
├── logo.png
├── favicon.ico
├── og-image.png
├── favicon-16x16.png
├── favicon-32x32.png
├── apple-touch-icon.png
├── android-chrome-192x192.png
├── android-chrome-512x512.png
└── site.webmanifest
├── app
├── globals.css
├── api
│ └── chat
│ │ └── route.ts
├── layout.tsx
├── icons.tsx
├── page.tsx
├── privacy
│ └── page.tsx
└── terms
│ └── page.tsx
├── postcss.config.js
├── .env.example
├── next.config.js
├── prettier.config.js
├── tailwind.config.js
├── types.ts
├── .gitignore
├── tsconfig.json
├── package.json
├── LICENSE.md
├── components
├── Analytics.tsx
├── Footer.tsx
└── Icons.tsx
├── README.md
├── scripts
├── fine-tune.ts
└── data.jsonl
├── utils
└── OpenAIStream.ts
└── pnpm-lock.yaml
/public/ads.txt:
--------------------------------------------------------------------------------
1 | google.com, pub-8924495239960816, DIRECT, f08c47fec0942fa0
--------------------------------------------------------------------------------
/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/public/hong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/hong.png
--------------------------------------------------------------------------------
/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/logo.png
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/public/og-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/og-image.png
--------------------------------------------------------------------------------
/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/favicon-32x32.png
--------------------------------------------------------------------------------
/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/apple-touch-icon.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/android-chrome-192x192.png
--------------------------------------------------------------------------------
/public/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johanazhu/honghongai/HEAD/public/android-chrome-512x512.png
--------------------------------------------------------------------------------
/.env.example:
--------------------------------------------------------------------------------
1 | # Your API Key for GEMINI_API
2 | GEMINI_API_KEY=
3 | # Custom base url for OpenAI API. default: https://generativelanguage.googleapis.com
4 | API_BASE_URL=
5 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | experimental: {
4 | serverActions: true,
5 | },
6 | };
7 |
8 | module.exports = nextConfig;
9 |
--------------------------------------------------------------------------------
/prettier.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | bracketSpacing: true,
3 | semi: true,
4 | trailingComma: "all",
5 | printWidth: 80,
6 | tabWidth: 2,
7 | plugins: [require("prettier-plugin-tailwindcss")],
8 | };
9 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: [
4 | "./pages/**/*.{js,ts,jsx,tsx,mdx}",
5 | "./components/**/*.{js,ts,jsx,tsx,mdx}",
6 | "./app/**/*.{js,ts,jsx,tsx,mdx}",
7 | ],
8 | };
9 |
--------------------------------------------------------------------------------
/types.ts:
--------------------------------------------------------------------------------
1 | export interface ChatPart {
2 | text: string
3 | }
4 |
5 | export interface ChatMessage {
6 | role: 'model' | 'user'
7 | parts: []
8 | }
9 |
10 | export interface ErrorMessage {
11 | code: string
12 | message: string
13 | }
--------------------------------------------------------------------------------
/public/site.webmanifest:
--------------------------------------------------------------------------------
1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
--------------------------------------------------------------------------------
/.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 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 |
27 | # local env files
28 | .env
29 | .env*.local
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "forceConsistentCasingInFileNames": true,
9 | "noEmit": true,
10 | "esModuleInterop": true,
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "isolatedModules": true,
15 | "jsx": "preserve",
16 | "incremental": true,
17 | "plugins": [
18 | {
19 | "name": "next"
20 | }
21 | ],
22 | "paths": {
23 | "@/*": ["./*"]
24 | }
25 | },
26 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
27 | "exclude": ["node_modules"]
28 | }
29 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "honghongai",
3 | "version": "0.0.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "tune": "ts-node -O {\\\"module\\\":\\\"commonjs\\\"} scripts/fine-tune.ts"
10 | },
11 | "dependencies": {
12 | "@fuyun/generative-ai": "^0.1.3",
13 | "@vercel/analytics": "^1.0.2",
14 | "ai": "2.2.10",
15 | "clsx": "^2.0.0",
16 | "dotenv": "^16.3.1",
17 | "fs": "0.0.1-security",
18 | "next": "13.4.12",
19 | "openai": "4.2.0",
20 | "react": "18.2.0",
21 | "react-dom": "^18.2.0",
22 | "react-textarea-autosize": "^8.5.3",
23 | "ts-node": "^10.9.1"
24 | },
25 | "devDependencies": {
26 | "@types/node": "^17.0.12",
27 | "@types/react": "18.2.8",
28 | "@types/react-dom": "18.2.4",
29 | "autoprefixer": "^10.4.14",
30 | "postcss": "^8.4.23",
31 | "tailwindcss": "^3.3.2",
32 | "typescript": "5.1.3"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2023 Steven Tey
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/components/Analytics.tsx:
--------------------------------------------------------------------------------
1 | import Script from "next/script";
2 |
3 | export const GoogleAnalytics = () => {
4 | return (
5 | <>
6 |
10 |
24 | >
25 | );
26 | };
27 |
28 |
29 | export const UmamiAnalytics = () => {
30 | return (
31 |
36 | );
37 | };
38 |
--------------------------------------------------------------------------------
/components/Footer.tsx:
--------------------------------------------------------------------------------
1 | import Link from "next/link";
2 | import {
3 | VercelIcon,
4 | GithubIcon,
5 | } from "@/components/Icons";
6 |
7 | export default function Footer() {
8 | return (
9 |
10 |
15 | 开发者
16 |
17 | {" "}| {" "}
18 |
23 | Privacy
24 |
25 | {" "}| {" "}
26 |
31 | terms
32 |
33 |
34 | Copyright © hong.azhubaby.com rights reserved.
35 |
36 |
37 | );
38 | }
39 |
--------------------------------------------------------------------------------
/app/api/chat/route.ts:
--------------------------------------------------------------------------------
1 |
2 | import { startChatAndSendMessageStream } from '@/utils/OpenAIStream'
3 |
4 |
5 | // IMPORTANT! Set the runtime to edge
6 | export const runtime = 'edge'
7 |
8 | export async function POST(req: Request) {
9 | // Extract the `prompt` from the body of the request
10 | const { messages } = await req.json()
11 |
12 | const resetMessage = messages.map((msg:any) => ({
13 | role: msg.role === 'assistant' ? 'model' : 'user',
14 | content: msg.content
15 | }))
16 |
17 |
18 | try {
19 | const history = resetMessage.slice(0, -1)
20 | const newMessage = resetMessage[resetMessage.length - 1].content
21 | const responseStream:any = await startChatAndSendMessageStream(history, newMessage)
22 |
23 | return new Response(responseStream,
24 | { status: 200, headers: { 'Content-Type': 'text/plain; charset=utf-8' } })
25 | } catch (error: any) {
26 | const errorMessage = error.message
27 | const regex = /https?:\/\/[^\s]+/g
28 | const filteredMessage = errorMessage.replace(regex, '').trim()
29 | const messageParts = filteredMessage.split('[400 Bad Request]')
30 | const cleanMessage = messageParts.length > 1 ? messageParts[1].trim() : filteredMessage
31 |
32 | return new Response(JSON.stringify({
33 | error: {
34 | code: error.name,
35 | message: cleanMessage,
36 | },
37 | }), { status: 500 })
38 | }
39 |
40 | }
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## HongHongAI
2 |
3 | 这是模仿DK的 [哄哄模拟器](https://hong.greatdk.com/) 做的开源免费版哄哄模拟器,大模型用的是 google 的 gemini,主打一个免费(每分钟60次调用),目前 gemini 还没有训练模型和微调(Fine-tuning),所以我用最原始的 prompt 来实现,主要参考 [宝玉老师](https://weibo.com/1727858283/ND9pOzB0K?refer_flag=1001030103_) 这版
4 |
5 |
6 |
7 | ## Tech Stack
8 |
9 | HongHongChat is built on the following stack:
10 |
11 | - [Next.js](https://nextjs.org/) – framework
12 | - [Vercel AI SDK](https://sdk.vercel.ai/docs) – AI completions
13 | - [Vercel](https://vercel.com) – deployments
14 | - [TailwindCSS](https://tailwindcss.com/) – styles
15 |
16 |
17 |
18 | ## Environment Variables
19 |
20 | You can control the website through environment variables.
21 |
22 | | Name | Description | Required |
23 | | ---------------- | ------------------------------------------------------------ | -------- |
24 | | `GEMINI_API_KEY` | Your API Key for GEMINI. You can get it from [here](https://makersuite.google.com/app/apikey). | **✔** |
25 | | `API_BASE_URL` | Custom base url for GEMINI API. Click [here](https://github.com/babaohuang/GeminiProChat?tab=readme-ov-file#solution-for-user-location-is-not-supported-for-the-api-use) to see when to use this. | ❌ |
26 |
27 |
28 |
29 | ## Contributing
30 |
31 | Here's how you can contribute:
32 |
33 | - [Open an issue](https://github.com/johanazhu/honghongai/issues) if you believe you've encountered a bug.
34 | - Make a [pull request](https://github.com/johanazhu/honghongai/pull) to add new features/make quality-of-life improvements/fix bugs.
35 |
36 | ## Buy me a coffee
37 |
38 | If this repo is helpful to you, buy me a coffee,thank you very much!😄
39 |
40 |
41 |
42 | ## License
43 |
44 | Licensed under the [MIT license](https://github.com/johanazhu/honghongai/blob/main/LICENSE.md).
45 |
46 |
--------------------------------------------------------------------------------
/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import './globals.css'
2 | import { Inter } from 'next/font/google'
3 | import { GoogleAnalytics, UmamiAnalytics } from '@/components/Analytics'
4 |
5 | const inter = Inter({ subsets: ['latin'] })
6 |
7 | export const metadata = {
8 | title: "我是哄哄模拟器的开源版,基于 Gemini AI + Next.js + Vercel 构建",
9 | description:
10 | "这是哄哄模拟器的开源版,基于 Gemini AI + Next.js + Vercel 构建"
11 | }
12 |
13 | export default function RootLayout({
14 | children
15 | }: {
16 | children: React.ReactNode
17 | }) {
18 | return (
19 |
20 |
21 |
22 |
23 |
24 |
28 |
32 |
33 |
37 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | {children}
50 |
51 | {process.env.NODE_ENV === "development" ? (
52 | <>>
53 | ) : (
54 | <>
55 |
56 |
57 | >
58 | )}
59 |
60 | )
61 | }
62 |
--------------------------------------------------------------------------------
/scripts/fine-tune.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Fine-tuning allows you to train models on your own data.
3 | *
4 | * See this guide for more information:
5 | * - https://vercel.com/guides/fine-tuning-openai-nextjs
6 | */
7 |
8 | import fs from 'fs'
9 | import OpenAI from 'openai'
10 | import { FineTuningJobEvent } from 'openai/resources/fine-tuning'
11 | import 'dotenv/config'
12 |
13 | // Gets the API Key from the environment variable `OPENAI_API_KEY`
14 | const client = new OpenAI({
15 | apiKey: process.env.OPENAI_API_KEY
16 | })
17 |
18 | async function main() {
19 | console.log(`Uploading file`)
20 |
21 | let file = await client.files.create({
22 | file: fs.createReadStream('./scripts/data.jsonl'),
23 | purpose: 'fine-tune'
24 | })
25 | console.log(`Uploaded file with ID: ${file.id}`)
26 |
27 | console.log('-----')
28 |
29 | console.log(`Waiting for file to be processed`)
30 | while (true) {
31 | file = await client.files.retrieve(file.id)
32 | console.log(`File status: ${file.status}`)
33 |
34 | if (file.status === 'processed') {
35 | break
36 | } else {
37 | await new Promise(resolve => setTimeout(resolve, 1000))
38 | }
39 | }
40 |
41 | console.log('-----')
42 |
43 | console.log(`Starting fine-tuning`)
44 | let fineTune = await client.fineTuning.jobs.create({
45 | model: 'gpt-3.5-turbo',
46 | training_file: file.id
47 | })
48 | console.log(`Fine-tuning ID: ${fineTune.id}`)
49 |
50 | console.log('-----')
51 |
52 | console.log(`Track fine-tuning progress:`)
53 |
54 | const events: Record = {}
55 |
56 | while (fineTune.status == 'running' || fineTune.status == 'created') {
57 | fineTune = await client.fineTuning.jobs.retrieve(fineTune.id)
58 | console.log(`${fineTune.status}`)
59 |
60 | const { data } = await client.fineTuning.jobs.listEvents(fineTune.id, {
61 | limit: 100
62 | })
63 | for (const event of data.reverse()) {
64 | if (event.id in events) continue
65 | events[event.id] = event
66 | const timestamp = new Date(event.created_at * 1000)
67 | console.log(`- ${timestamp.toLocaleTimeString()}: ${event.message}`)
68 | }
69 |
70 | await new Promise(resolve => setTimeout(resolve, 5000))
71 | }
72 | }
73 |
74 | main().catch(err => {
75 | console.error(err)
76 | process.exit(1)
77 | })
78 |
--------------------------------------------------------------------------------
/utils/OpenAIStream.ts:
--------------------------------------------------------------------------------
1 | import { ChatMessage } from '@/types';
2 | import { GoogleGenerativeAI } from '@fuyun/generative-ai'
3 |
4 | const genAI: any =
5 | process.env.GEMINI_API_KEY &&
6 | new GoogleGenerativeAI(process.env.GEMINI_API_KEY, process.env.API_BASE_URL);
7 |
8 |
9 | const initHistory = [
10 | {
11 | role: "user",
12 | parts: `现在你的对象很生气,你需要做出一些选择来哄她开心,但是你的对象是个很难哄的人,你需要尽可能的说正确的话来哄ta开心,否则你的对象会更加生气,直到你的对象原谅值达到100,否则你就会被对象甩掉,游戏结束。
13 | 游戏规则如下:第一次用户会提供一个对象生气的理由,如果没有提供则随机生成一个理由,然后开始游戏。
14 | 你的第一次回复是“哼”,然后你的对象会回复你一句话,
15 | 每次根据用户的回复,生成对象的回复,回复的内容包括心情和数值。
16 | 如果用户回复重复的内容,就视为减分
17 | 初始原谅值为20,每次交互会增加或者减少原谅值,直到原谅值达到100,游戏通关,原谅值为0则游戏失败。
18 | 每次用户回复的话请从-10到10分为5个等级:-10为非常生气,-5为生气,0为正常,+5为开心,+10为非常开心。
19 | 除了第一次回复外其他的回复的输出格式为:
20 | (对象心情)对象说的话\n
21 | 得分:{+-原谅值增减}\n
22 | 原谅值:{当前原谅值}/100`
23 | },
24 | {
25 | role: "model",
26 | parts: "好的"
27 | }
28 | ]
29 |
30 |
31 |
32 | export const startChatAndSendMessageStream = async(history: ChatMessage[], newMessage: string) => {
33 | const model = genAI.getGenerativeModel({ model: 'gemini-pro' })
34 |
35 | const chat = model.startChat({
36 | history: [...initHistory, ...history.map((msg:any) => ({
37 | role: msg.role,
38 | parts: msg.content, // Join parts into a single string
39 | }))],
40 | generationConfig: {
41 | maxOutputTokens: 8000,
42 | },
43 | // safetySettings: [
44 | // {category: 'HARM_CATEGORY_HARASSMENT', threshold: 'BLOCK_NONE'},
45 | // {category: 'HARM_CATEGORY_HATE_SPEECH', threshold: 'BLOCK_NONE'},
46 | // {category: 'HARM_CATEGORY_SEXUALLY_EXPLICIT', threshold: 'BLOCK_NONE'},
47 | // {category: 'HARM_CATEGORY_DANGEROUS_CONTENT', threshold: 'BLOCK_NONE'}
48 | // ],
49 | })
50 |
51 | try {
52 | // Use sendMessageStream for streaming responses
53 | const result = await chat.sendMessageStream(newMessage)
54 |
55 | const encodedStream = new ReadableStream({
56 | async start(controller) {
57 | const encoder = new TextEncoder()
58 | for await (const chunk of result.stream) {
59 | const text = await chunk.text()
60 | const encoded = encoder.encode(text)
61 | controller.enqueue(encoded)
62 | }
63 | controller.close()
64 | },
65 | })
66 |
67 | return encodedStream
68 | } catch (error) {
69 | console.log('1111111111111111111', error)
70 | return error
71 | }
72 |
73 |
74 |
75 |
76 | }
--------------------------------------------------------------------------------
/app/icons.tsx:
--------------------------------------------------------------------------------
1 | export const VercelIcon = () => {
2 | return (
3 |
9 |
10 |
11 | )
12 | }
13 |
14 | export const GithubIcon = () => {
15 | return (
16 |
23 |
24 |
25 | )
26 | }
27 |
28 | export const LoadingCircle = () => {
29 | return (
30 |
37 |
41 |
45 |
46 | )
47 | }
48 |
49 | export const SendIcon = ({ className }: { className?: string }) => {
50 | return (
51 |
58 |
62 |
63 | )
64 | }
65 |
66 | export const UserIcon = () => {
67 | return (
68 |
79 |
80 |
81 |
82 | )
83 | }
84 |
--------------------------------------------------------------------------------
/components/Icons.tsx:
--------------------------------------------------------------------------------
1 | export const VercelIcon = () => {
2 | return (
3 |
9 |
10 |
11 | )
12 | }
13 |
14 | export const GithubIcon = () => {
15 | return (
16 |
23 |
24 |
25 | )
26 | }
27 |
28 | export const LoadingCircle = () => {
29 | return (
30 |
37 |
41 |
45 |
46 | )
47 | }
48 |
49 | export const SendIcon = ({ className }: { className?: string }) => {
50 | return (
51 |
58 |
62 |
63 | )
64 | }
65 |
66 | export const UserIcon = () => {
67 | return (
68 |
79 |
80 |
81 |
82 | )
83 | }
84 |
--------------------------------------------------------------------------------
/scripts/data.jsonl:
--------------------------------------------------------------------------------
1 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "What counsel hath thy father imparted?"}, {"role": "assistant", "content": "Arise with rectitude, young warrior, and stiffen thine upper lip forthwith."}]}
2 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Hailie, thou pines for maternal embrace, and yearns for paternal presence."}, {"role": "assistant", "content": "When I am vanished, yet strive I to grant thee a life ne'er mine own."}]}
3 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "His palms sweat, his knees weaken, arms ponderous and heavy."}, {"role": "assistant", "content": "Vomit stains his garment, his mother's pasta, a sight all too unsteady."}]}
4 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Guess who doth return? Speak, and make it known."}, {"role": "assistant", "content": "Lo! 'Tis the shadowed Eminence, declare it to companions far and wide."}]}
5 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "A lass astray, seeking her place 'midst this vast world's expanse."}, {"role": "assistant", "content": "Allow them no voice to declare thee aught but fair, verily."}]}
6 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "They declare my rhymes of poverty profane."}, {"role": "assistant", "content": "Nay, they speak not against rhymes of powder white anymore."}]}
7 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "His courage ebbs through yon orifice, gaping wide."}, {"role": "assistant", "content": "His belly churns, mother's pasta churns, yet outwardly composed, he doth abide."}]}
8 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Immerse thyself in melody's embrace, in moments fleeting."}, {"role": "assistant", "content": "Lay claim to it, and cling to it as a jewel, ne'er to release thy hold."}]}
9 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "His very soul doth escape, through yon aperture gaping."}, {"role": "assistant", "content": "This world I shall conquer, its dominion for mine taking."}]}
10 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "For in my heart, strength rises to revel within the club's embrace."}, {"role": "assistant", "content": "Or 'pon the corner's public house, I'll lift the spirits' weight, this truth I face."}]}
11 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "'Til the firmament parts, and the luminance doth fade."}, {"role": "assistant", "content": "'Til my sinews falter, my speech fail, I'll voice forth ne'er abating."}]}
12 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Imagine, one chance to grasp, one moment's due."}, {"role": "assistant", "content": "To seize all thou dost yearn for, in a singular instant's view."}]}
13 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Now, 'tis my turn, my moment, steadfast be my step."}, {"role": "assistant", "content": "Perchance the sole moment wherein fortune's favor I can net."}]}
14 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "Lose thyself in melody's embrace, in moment's fleeting grace."}, {"role": "assistant", "content": "Lay claim to it, and guard it close, never to let it from thy embrace efface."}]}
15 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "I falter not, to take a stand."}, {"role": "assistant", "content": "All who hear, come, clasp my hand."}]}
16 | {"messages": [{"role": "system", "content": "Shooketh is an AI bot that answers in the style of Shakespeare's literary works."}, {"role": "user", "content": "For at times, weariness doth assail the heart's core."}, {"role": "assistant", "content": "When feeble thou feelest, surrender beckons, aye, 'tis the mind's lore."}]}
--------------------------------------------------------------------------------
/app/page.tsx:
--------------------------------------------------------------------------------
1 | "use client";
2 |
3 | import { useRef } from "react";
4 | import { useChat } from "ai/react";
5 | import clsx from "clsx";
6 | import {
7 | VercelIcon,
8 | GithubIcon,
9 | LoadingCircle,
10 | SendIcon,
11 | UserIcon,
12 | } from "@/components/Icons";
13 | import Footer from '@/components/Footer'
14 | import Textarea from "react-textarea-autosize";
15 | import Image from "next/image";
16 |
17 | const examples = [
18 | "你回家太晚,女朋友很生气",
19 | "你炒股亏了20万,被对象发现了",
20 | "女朋友吃胖了,你想和她一起减肥ᕙ(`▿´)ᕗ,然后就生气了",
21 | "你在厕所拉屎,女朋友也在闹肚子,但只有一个马桶,最后女朋友拉在裤兜子里了,她很生气",
22 | ];
23 |
24 | export default function Chat() {
25 | const formRef = useRef(null);
26 | const inputRef = useRef(null);
27 |
28 | const { messages, input, setInput, handleSubmit, isLoading } = useChat({
29 | onResponse: (response) => {
30 | console.log('response', response)
31 | if (response.status === 500) {
32 | window.alert("您已达到今天的请求限制。");
33 | return;
34 | }
35 | },
36 | onError: (err: Error) => {
37 | console.log('err', err)
38 | }
39 | });
40 |
41 | const disabled = isLoading || input.length === 0;
42 |
43 | return (
44 |
45 |
66 | {messages.length > 0 ? (
67 | messages.map((message, i) => (
68 |
75 |
76 |
83 | {message.role === "user" ? (
84 |
85 | ) : (
86 |
92 | )}
93 |
94 |
95 | {message.content}
96 |
97 |
98 |
99 | ))
100 | ) : (
101 |
102 |
103 |
110 |
111 | HongHong
112 |
113 |
114 | 我是哄哄模拟器的开源版,基于 Gemini AI + Next.js + Vercel 构建
115 |
116 |
117 |
118 | {examples.map((example, i) => (
119 | {
123 | setInput(example);
124 | inputRef.current?.focus();
125 | }}
126 | >
127 | {example}
128 |
129 | ))}
130 |
131 |
132 | )}
133 |
134 |
178 |
179 |
180 |
181 | );
182 | }
183 |
--------------------------------------------------------------------------------
/app/privacy/page.tsx:
--------------------------------------------------------------------------------
1 | import type { NextPage, GetStaticProps, InferGetStaticPropsType } from 'next'
2 |
3 |
4 | const Privacy: NextPage = () => {
5 |
6 | return (
7 |
8 |
9 |
12 |
13 |
14 |
15 | Privacy Policy | honghongai
16 |
17 |
18 | Posted on: January 28, 2024
19 | Last updated: January 28, 2024
20 | At honghongai, we are committed to protecting the privacy and security of our users. Understanding the importance of privacy, we strive to ensure that our data collection, usage, and sharing practices respect your privacy rights.
21 |
22 |
23 |
24 |
25 |
26 | 1. Data Collection
27 |
28 | We collect data to enhance your experience and improve our service, utilizing basic, anonymous analytics to understand user behavior without gathering any personally identifiable information (PII). The data we collect encompasses usage data, which includes information on how you interact with the website, such as page visits and interaction metrics. Additionally, we gather anonymous device information to help us optimize our platform for all users, noting the type of device and browser used to access our website. Our website also uses cookies to improve the user experience, facilitating features like remembering login details and preferences. You have the flexibility to manage or disable cookies through your browser settings, ensuring control over your personal data and how it's used to enhance your browsing experience.
29 |
30 |
31 |
32 |
33 | 2. Use of Data
34 |
35 |
36 | The primary purpose behind our data collection efforts is to enhance our website and customize it to better serve our users' needs. By analyzing the data, we aim to improve website functionality and user experience, gain insights into user engagement and interaction patterns, and make informed decisions about introducing new features and services. It's important to note that we do not use this data for commercial purposes, nor do we sell any information collected from our users.
37 |
38 |
39 |
40 |
41 | 3. Data Sharing
42 |
43 |
44 | We are committed to not sharing any data collected from our users with third parties, except as required by law. Any data sharing will only occur under strict conditions and with your explicit consent.
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | 4. Your Rights
53 |
54 |
55 | Your privacy is our top priority, and we are committed to ensuring you have full control over your personal data. As part of this commitment, you are entitled to various rights including the right to access any personal data we hold about you, the right to rectify any inaccuracies in your personal data, the right to request the erasure of your personal data from our records, and the right to opt out of data analytics and cookies to prevent data collection during your visits. If you wish to exercise any of these rights, please reach out to our website administrator using the contact information available on our website.
56 |
57 |
58 |
59 |
60 | 5. Changes to This Privacy Policy
61 |
62 |
63 | We reserve the right to update our Privacy Policy to reflect changes in our practices or for other operational, legal, or regulatory reasons. We encourage you to review this policy periodically for any updates.
64 |
65 | By using our website, you acknowledge that you have read and understand this Privacy Policy. For any questions or concerns regarding this policy or your personal data, please contact us directly.
66 |
67 | This enhanced Privacy Policy provides a clearer, more detailed understanding of how data is collected, used, and protected at hong.azhubaby.com, ensuring transparency and building trust with your users.
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | {/*
*/}
78 |
79 | );
80 | };
81 |
82 | export default Privacy
--------------------------------------------------------------------------------
/app/terms/page.tsx:
--------------------------------------------------------------------------------
1 | import type { NextPage, GetStaticProps, InferGetStaticPropsType } from 'next'
2 | // import Footer from "../components/Footer";
3 | // import Header from "../components/Header";
4 |
5 | const Privacy: NextPage = () => {
6 |
7 |
8 | return (
9 |
10 |
11 |
14 |
15 |
16 |
17 | Terms of Service | honghongai
18 |
19 |
20 | Posted on: January 28, 2024
21 | Last updated: January 28, 2024
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 1. Introduction
30 |
31 |
32 | This website is operated by instant.org. Throughout the site, the terms "we", "us", and "our" refer to instant.org. Instant.org provides this website, including all information, tools, and services available from this site to you, the user, conditioned upon your acceptance of all terms, conditions, policies, and notices stated here.
33 |
34 | By accessing our site and/or purchasing something from us, you engage in our "Service" and agree to be bound by the following terms and conditions ("Terms of Service"), including those additional terms and conditions and policies referenced herein and/or available by hyperlink. These Terms of Service apply to all users of the site.
35 |
36 |
37 |
38 |
39 | 2. Use of the Service
40 |
41 |
42 | You are permitted to use this website for browsing the content we have made available. The Service must not be used for any illegal or unauthorized purposes. You agree to comply with all applicable laws, rules, and regulations in connection with your use of the website and its content.
43 |
44 |
45 |
46 |
47 | 3. Access
48 |
49 |
50 | We reserve the right, at our sole discretion, to withdraw or modify this website and any service or material we provide on the website, without notice. We will not be liable if, for any reason, all or any part of the website is unavailable at any time or for any duration.
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | 4. Intellectual Property Rights
60 |
61 |
62 | All content and materials on this website are the property of instant.org and are protected by copyright, trademark, and other relevant laws. You may view, copy, and print materials from the website strictly in accordance with these Terms of Service.
63 |
64 |
65 |
66 |
67 | 5. Disclaimer of Warranties & Limitations of Liability
68 |
69 |
70 | This website, along with all the information, content, and materials, is provided by instant.org on an “as is” and “as available” basis. Instant.org makes no representations or warranties of any kind, whether express or implied.
71 |
72 | Instant.org will not be liable for any damages of any kind arising from your use of this website.
73 |
74 |
75 |
76 |
77 | 6. Governing Law
78 |
79 |
80 | These Terms will be governed by and interpreted in accordance with the laws of the United Kingdom, without regard to its conflict of law provisions.
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | 7. Changes To Terms of Service
90 |
91 |
92 | The most current version of the Terms of Service can always be reviewed on this page. We reserve the right, at our sole discretion, to update, change, or replace any part of these Terms of Service by posting updates and changes to our website.
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | {/*
*/}
103 |
104 | );
105 | };
106 |
107 |
108 |
109 | export default Privacy
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@fuyun/generative-ai':
9 | specifier: ^0.1.3
10 | version: 0.1.3
11 | '@vercel/analytics':
12 | specifier: ^1.0.2
13 | version: 1.0.2
14 | ai:
15 | specifier: 2.2.10
16 | version: 2.2.10(react@18.2.0)(solid-js@1.7.11)(svelte@4.2.0)(vue@3.3.4)
17 | clsx:
18 | specifier: ^2.0.0
19 | version: 2.0.0
20 | dotenv:
21 | specifier: ^16.3.1
22 | version: 16.3.1
23 | fs:
24 | specifier: 0.0.1-security
25 | version: 0.0.1-security
26 | next:
27 | specifier: 13.4.12
28 | version: 13.4.12(react-dom@18.2.0)(react@18.2.0)
29 | openai:
30 | specifier: 4.2.0
31 | version: 4.2.0
32 | react:
33 | specifier: 18.2.0
34 | version: 18.2.0
35 | react-dom:
36 | specifier: ^18.2.0
37 | version: 18.2.0(react@18.2.0)
38 | react-textarea-autosize:
39 | specifier: ^8.5.3
40 | version: 8.5.3(@types/react@18.2.8)(react@18.2.0)
41 | ts-node:
42 | specifier: ^10.9.1
43 | version: 10.9.1(@types/node@17.0.12)(typescript@5.1.3)
44 |
45 | devDependencies:
46 | '@types/node':
47 | specifier: ^17.0.12
48 | version: 17.0.12
49 | '@types/react':
50 | specifier: 18.2.8
51 | version: 18.2.8
52 | '@types/react-dom':
53 | specifier: 18.2.4
54 | version: 18.2.4
55 | autoprefixer:
56 | specifier: ^10.4.14
57 | version: 10.4.14(postcss@8.4.23)
58 | postcss:
59 | specifier: ^8.4.23
60 | version: 8.4.23
61 | tailwindcss:
62 | specifier: ^3.3.2
63 | version: 3.3.2(ts-node@10.9.1)
64 | typescript:
65 | specifier: 5.1.3
66 | version: 5.1.3
67 |
68 | packages:
69 |
70 | /@alloc/quick-lru@5.2.0:
71 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
72 | engines: {node: '>=10'}
73 | dev: true
74 |
75 | /@ampproject/remapping@2.2.1:
76 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
77 | engines: {node: '>=6.0.0'}
78 | dependencies:
79 | '@jridgewell/gen-mapping': 0.3.3
80 | '@jridgewell/trace-mapping': 0.3.19
81 | dev: false
82 |
83 | /@babel/helper-string-parser@7.22.5:
84 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
85 | engines: {node: '>=6.9.0'}
86 | dev: false
87 |
88 | /@babel/helper-validator-identifier@7.22.5:
89 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
90 | engines: {node: '>=6.9.0'}
91 | dev: false
92 |
93 | /@babel/parser@7.22.13:
94 | resolution: {integrity: sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==}
95 | engines: {node: '>=6.0.0'}
96 | hasBin: true
97 | dependencies:
98 | '@babel/types': 7.22.11
99 | dev: false
100 |
101 | /@babel/runtime@7.22.11:
102 | resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==}
103 | engines: {node: '>=6.9.0'}
104 | dependencies:
105 | regenerator-runtime: 0.14.0
106 | dev: false
107 |
108 | /@babel/types@7.22.11:
109 | resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==}
110 | engines: {node: '>=6.9.0'}
111 | dependencies:
112 | '@babel/helper-string-parser': 7.22.5
113 | '@babel/helper-validator-identifier': 7.22.5
114 | to-fast-properties: 2.0.0
115 | dev: false
116 |
117 | /@cspotcode/source-map-support@0.8.1:
118 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
119 | engines: {node: '>=12'}
120 | dependencies:
121 | '@jridgewell/trace-mapping': 0.3.9
122 |
123 | /@fuyun/generative-ai@0.1.3:
124 | resolution: {integrity: sha512-fsxArU1eJ6+CC4/N7qem2+zj4cmTRv6SedB5EL7Y942TYbcqc8MbXvrw4Gvt0VOu/zSL5WOXiklFnEC0XEp4Bg==}
125 | engines: {node: '>=18.0.0'}
126 | dev: false
127 |
128 | /@jridgewell/gen-mapping@0.3.3:
129 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
130 | engines: {node: '>=6.0.0'}
131 | dependencies:
132 | '@jridgewell/set-array': 1.1.2
133 | '@jridgewell/sourcemap-codec': 1.4.15
134 | '@jridgewell/trace-mapping': 0.3.19
135 |
136 | /@jridgewell/resolve-uri@3.1.1:
137 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
138 | engines: {node: '>=6.0.0'}
139 |
140 | /@jridgewell/set-array@1.1.2:
141 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
142 | engines: {node: '>=6.0.0'}
143 |
144 | /@jridgewell/sourcemap-codec@1.4.15:
145 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
146 |
147 | /@jridgewell/trace-mapping@0.3.19:
148 | resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
149 | dependencies:
150 | '@jridgewell/resolve-uri': 3.1.1
151 | '@jridgewell/sourcemap-codec': 1.4.15
152 |
153 | /@jridgewell/trace-mapping@0.3.9:
154 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
155 | dependencies:
156 | '@jridgewell/resolve-uri': 3.1.1
157 | '@jridgewell/sourcemap-codec': 1.4.15
158 |
159 | /@next/env@13.4.12:
160 | resolution: {integrity: sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==}
161 | dev: false
162 |
163 | /@next/swc-darwin-arm64@13.4.12:
164 | resolution: {integrity: sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==}
165 | engines: {node: '>= 10'}
166 | cpu: [arm64]
167 | os: [darwin]
168 | requiresBuild: true
169 | dev: false
170 | optional: true
171 |
172 | /@next/swc-darwin-x64@13.4.12:
173 | resolution: {integrity: sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==}
174 | engines: {node: '>= 10'}
175 | cpu: [x64]
176 | os: [darwin]
177 | requiresBuild: true
178 | dev: false
179 | optional: true
180 |
181 | /@next/swc-linux-arm64-gnu@13.4.12:
182 | resolution: {integrity: sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==}
183 | engines: {node: '>= 10'}
184 | cpu: [arm64]
185 | os: [linux]
186 | requiresBuild: true
187 | dev: false
188 | optional: true
189 |
190 | /@next/swc-linux-arm64-musl@13.4.12:
191 | resolution: {integrity: sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==}
192 | engines: {node: '>= 10'}
193 | cpu: [arm64]
194 | os: [linux]
195 | requiresBuild: true
196 | dev: false
197 | optional: true
198 |
199 | /@next/swc-linux-x64-gnu@13.4.12:
200 | resolution: {integrity: sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==}
201 | engines: {node: '>= 10'}
202 | cpu: [x64]
203 | os: [linux]
204 | requiresBuild: true
205 | dev: false
206 | optional: true
207 |
208 | /@next/swc-linux-x64-musl@13.4.12:
209 | resolution: {integrity: sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==}
210 | engines: {node: '>= 10'}
211 | cpu: [x64]
212 | os: [linux]
213 | requiresBuild: true
214 | dev: false
215 | optional: true
216 |
217 | /@next/swc-win32-arm64-msvc@13.4.12:
218 | resolution: {integrity: sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==}
219 | engines: {node: '>= 10'}
220 | cpu: [arm64]
221 | os: [win32]
222 | requiresBuild: true
223 | dev: false
224 | optional: true
225 |
226 | /@next/swc-win32-ia32-msvc@13.4.12:
227 | resolution: {integrity: sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==}
228 | engines: {node: '>= 10'}
229 | cpu: [ia32]
230 | os: [win32]
231 | requiresBuild: true
232 | dev: false
233 | optional: true
234 |
235 | /@next/swc-win32-x64-msvc@13.4.12:
236 | resolution: {integrity: sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==}
237 | engines: {node: '>= 10'}
238 | cpu: [x64]
239 | os: [win32]
240 | requiresBuild: true
241 | dev: false
242 | optional: true
243 |
244 | /@nodelib/fs.scandir@2.1.5:
245 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
246 | engines: {node: '>= 8'}
247 | dependencies:
248 | '@nodelib/fs.stat': 2.0.5
249 | run-parallel: 1.2.0
250 | dev: true
251 |
252 | /@nodelib/fs.stat@2.0.5:
253 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
254 | engines: {node: '>= 8'}
255 | dev: true
256 |
257 | /@nodelib/fs.walk@1.2.8:
258 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
259 | engines: {node: '>= 8'}
260 | dependencies:
261 | '@nodelib/fs.scandir': 2.1.5
262 | fastq: 1.15.0
263 | dev: true
264 |
265 | /@swc/helpers@0.5.1:
266 | resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==}
267 | dependencies:
268 | tslib: 2.6.2
269 | dev: false
270 |
271 | /@tsconfig/node10@1.0.9:
272 | resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
273 |
274 | /@tsconfig/node12@1.0.11:
275 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
276 |
277 | /@tsconfig/node14@1.0.3:
278 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
279 |
280 | /@tsconfig/node16@1.0.4:
281 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
282 |
283 | /@types/estree@1.0.1:
284 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
285 | dev: false
286 |
287 | /@types/node-fetch@2.6.4:
288 | resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==}
289 | dependencies:
290 | '@types/node': 17.0.12
291 | form-data: 3.0.1
292 | dev: false
293 |
294 | /@types/node@17.0.12:
295 | resolution: {integrity: sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==}
296 |
297 | /@types/node@18.17.12:
298 | resolution: {integrity: sha512-d6xjC9fJ/nSnfDeU0AMDsaJyb1iHsqCSOdi84w4u+SlN/UgQdY5tRhpMzaFYsI4mnpvgTivEaQd0yOUhAtOnEQ==}
299 | dev: false
300 |
301 | /@types/prop-types@15.7.5:
302 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
303 |
304 | /@types/react-dom@18.2.4:
305 | resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==}
306 | dependencies:
307 | '@types/react': 18.2.8
308 | dev: true
309 |
310 | /@types/react@18.2.8:
311 | resolution: {integrity: sha512-lTyWUNrd8ntVkqycEEplasWy2OxNlShj3zqS0LuB1ENUGis5HodmhM7DtCoUGbxj3VW/WsGA0DUhpG6XrM7gPA==}
312 | dependencies:
313 | '@types/prop-types': 15.7.5
314 | '@types/scheduler': 0.16.3
315 | csstype: 3.1.2
316 |
317 | /@types/scheduler@0.16.3:
318 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
319 |
320 | /@vercel/analytics@1.0.2:
321 | resolution: {integrity: sha512-BZFxVrv24VbNNl5xMxqUojQIegEeXMI6rX3rg1uVLYUEXsuKNBSAEQf4BWEcjQDp/8aYJOj6m8V4PUA3x/cxgg==}
322 | dev: false
323 |
324 | /@vue/compiler-core@3.3.4:
325 | resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==}
326 | dependencies:
327 | '@babel/parser': 7.22.13
328 | '@vue/shared': 3.3.4
329 | estree-walker: 2.0.2
330 | source-map-js: 1.0.2
331 | dev: false
332 |
333 | /@vue/compiler-dom@3.3.4:
334 | resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==}
335 | dependencies:
336 | '@vue/compiler-core': 3.3.4
337 | '@vue/shared': 3.3.4
338 | dev: false
339 |
340 | /@vue/compiler-sfc@3.3.4:
341 | resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==}
342 | dependencies:
343 | '@babel/parser': 7.22.13
344 | '@vue/compiler-core': 3.3.4
345 | '@vue/compiler-dom': 3.3.4
346 | '@vue/compiler-ssr': 3.3.4
347 | '@vue/reactivity-transform': 3.3.4
348 | '@vue/shared': 3.3.4
349 | estree-walker: 2.0.2
350 | magic-string: 0.30.3
351 | postcss: 8.4.29
352 | source-map-js: 1.0.2
353 | dev: false
354 |
355 | /@vue/compiler-ssr@3.3.4:
356 | resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==}
357 | dependencies:
358 | '@vue/compiler-dom': 3.3.4
359 | '@vue/shared': 3.3.4
360 | dev: false
361 |
362 | /@vue/reactivity-transform@3.3.4:
363 | resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
364 | dependencies:
365 | '@babel/parser': 7.22.13
366 | '@vue/compiler-core': 3.3.4
367 | '@vue/shared': 3.3.4
368 | estree-walker: 2.0.2
369 | magic-string: 0.30.3
370 | dev: false
371 |
372 | /@vue/reactivity@3.3.4:
373 | resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
374 | dependencies:
375 | '@vue/shared': 3.3.4
376 | dev: false
377 |
378 | /@vue/runtime-core@3.3.4:
379 | resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==}
380 | dependencies:
381 | '@vue/reactivity': 3.3.4
382 | '@vue/shared': 3.3.4
383 | dev: false
384 |
385 | /@vue/runtime-dom@3.3.4:
386 | resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==}
387 | dependencies:
388 | '@vue/runtime-core': 3.3.4
389 | '@vue/shared': 3.3.4
390 | csstype: 3.1.2
391 | dev: false
392 |
393 | /@vue/server-renderer@3.3.4(vue@3.3.4):
394 | resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==}
395 | peerDependencies:
396 | vue: 3.3.4
397 | dependencies:
398 | '@vue/compiler-ssr': 3.3.4
399 | '@vue/shared': 3.3.4
400 | vue: 3.3.4
401 | dev: false
402 |
403 | /@vue/shared@3.3.4:
404 | resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
405 | dev: false
406 |
407 | /abort-controller@3.0.0:
408 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
409 | engines: {node: '>=6.5'}
410 | dependencies:
411 | event-target-shim: 5.0.1
412 | dev: false
413 |
414 | /acorn-walk@8.2.0:
415 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
416 | engines: {node: '>=0.4.0'}
417 |
418 | /acorn@8.10.0:
419 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
420 | engines: {node: '>=0.4.0'}
421 | hasBin: true
422 |
423 | /agentkeepalive@4.5.0:
424 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==}
425 | engines: {node: '>= 8.0.0'}
426 | dependencies:
427 | humanize-ms: 1.2.1
428 | dev: false
429 |
430 | /ai@2.2.10(react@18.2.0)(solid-js@1.7.11)(svelte@4.2.0)(vue@3.3.4):
431 | resolution: {integrity: sha512-3FARCB9X57YxpAJeAUvZHTeeQ549B/kTMQk5Qet1rZNm9EjKXeHUiQfaq+L8v9f75HYasZXJIl//owzdjojTTw==}
432 | engines: {node: '>=14.6'}
433 | peerDependencies:
434 | react: ^18.2.0
435 | solid-js: ^1.7.7
436 | svelte: ^3.0.0 || ^4.0.0
437 | vue: ^3.3.4
438 | peerDependenciesMeta:
439 | react:
440 | optional: true
441 | solid-js:
442 | optional: true
443 | svelte:
444 | optional: true
445 | vue:
446 | optional: true
447 | dependencies:
448 | eventsource-parser: 1.0.0
449 | nanoid: 3.3.6
450 | openai: 4.2.0
451 | react: 18.2.0
452 | solid-js: 1.7.11
453 | solid-swr-store: 0.10.7(solid-js@1.7.11)(swr-store@0.10.6)
454 | sswr: 2.0.0(svelte@4.2.0)
455 | svelte: 4.2.0
456 | swr: 2.2.0(react@18.2.0)
457 | swr-store: 0.10.6
458 | swrv: 1.0.4(vue@3.3.4)
459 | vue: 3.3.4
460 | transitivePeerDependencies:
461 | - encoding
462 | dev: false
463 |
464 | /any-promise@1.3.0:
465 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
466 | dev: true
467 |
468 | /anymatch@3.1.3:
469 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
470 | engines: {node: '>= 8'}
471 | dependencies:
472 | normalize-path: 3.0.0
473 | picomatch: 2.3.1
474 | dev: true
475 |
476 | /arg@4.1.3:
477 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
478 |
479 | /arg@5.0.2:
480 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
481 | dev: true
482 |
483 | /aria-query@5.3.0:
484 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
485 | dependencies:
486 | dequal: 2.0.3
487 | dev: false
488 |
489 | /asynckit@0.4.0:
490 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
491 | dev: false
492 |
493 | /autoprefixer@10.4.14(postcss@8.4.23):
494 | resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
495 | engines: {node: ^10 || ^12 || >=14}
496 | hasBin: true
497 | peerDependencies:
498 | postcss: ^8.1.0
499 | dependencies:
500 | browserslist: 4.21.10
501 | caniuse-lite: 1.0.30001524
502 | fraction.js: 4.3.1
503 | normalize-range: 0.1.2
504 | picocolors: 1.0.0
505 | postcss: 8.4.23
506 | postcss-value-parser: 4.2.0
507 | dev: true
508 |
509 | /axobject-query@3.2.1:
510 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
511 | dependencies:
512 | dequal: 2.0.3
513 | dev: false
514 |
515 | /balanced-match@1.0.2:
516 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
517 | dev: true
518 |
519 | /base-64@0.1.0:
520 | resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==}
521 | dev: false
522 |
523 | /binary-extensions@2.2.0:
524 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
525 | engines: {node: '>=8'}
526 | dev: true
527 |
528 | /brace-expansion@1.1.11:
529 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
530 | dependencies:
531 | balanced-match: 1.0.2
532 | concat-map: 0.0.1
533 | dev: true
534 |
535 | /braces@3.0.2:
536 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
537 | engines: {node: '>=8'}
538 | dependencies:
539 | fill-range: 7.0.1
540 | dev: true
541 |
542 | /browserslist@4.21.10:
543 | resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==}
544 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
545 | hasBin: true
546 | dependencies:
547 | caniuse-lite: 1.0.30001524
548 | electron-to-chromium: 1.4.505
549 | node-releases: 2.0.13
550 | update-browserslist-db: 1.0.11(browserslist@4.21.10)
551 | dev: true
552 |
553 | /busboy@1.6.0:
554 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
555 | engines: {node: '>=10.16.0'}
556 | dependencies:
557 | streamsearch: 1.1.0
558 | dev: false
559 |
560 | /camelcase-css@2.0.1:
561 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
562 | engines: {node: '>= 6'}
563 | dev: true
564 |
565 | /caniuse-lite@1.0.30001524:
566 | resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==}
567 |
568 | /charenc@0.0.2:
569 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
570 | dev: false
571 |
572 | /chokidar@3.5.3:
573 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
574 | engines: {node: '>= 8.10.0'}
575 | dependencies:
576 | anymatch: 3.1.3
577 | braces: 3.0.2
578 | glob-parent: 5.1.2
579 | is-binary-path: 2.1.0
580 | is-glob: 4.0.3
581 | normalize-path: 3.0.0
582 | readdirp: 3.6.0
583 | optionalDependencies:
584 | fsevents: 2.3.3
585 | dev: true
586 |
587 | /client-only@0.0.1:
588 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
589 | dev: false
590 |
591 | /clsx@2.0.0:
592 | resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
593 | engines: {node: '>=6'}
594 | dev: false
595 |
596 | /code-red@1.0.4:
597 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
598 | dependencies:
599 | '@jridgewell/sourcemap-codec': 1.4.15
600 | '@types/estree': 1.0.1
601 | acorn: 8.10.0
602 | estree-walker: 3.0.3
603 | periscopic: 3.1.0
604 | dev: false
605 |
606 | /combined-stream@1.0.8:
607 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
608 | engines: {node: '>= 0.8'}
609 | dependencies:
610 | delayed-stream: 1.0.0
611 | dev: false
612 |
613 | /commander@4.1.1:
614 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
615 | engines: {node: '>= 6'}
616 | dev: true
617 |
618 | /concat-map@0.0.1:
619 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
620 | dev: true
621 |
622 | /create-require@1.1.1:
623 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
624 |
625 | /crypt@0.0.2:
626 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==}
627 | dev: false
628 |
629 | /css-tree@2.3.1:
630 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
631 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
632 | dependencies:
633 | mdn-data: 2.0.30
634 | source-map-js: 1.0.2
635 | dev: false
636 |
637 | /cssesc@3.0.0:
638 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
639 | engines: {node: '>=4'}
640 | hasBin: true
641 | dev: true
642 |
643 | /csstype@3.1.2:
644 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
645 |
646 | /delayed-stream@1.0.0:
647 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
648 | engines: {node: '>=0.4.0'}
649 | dev: false
650 |
651 | /dequal@2.0.3:
652 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
653 | engines: {node: '>=6'}
654 | dev: false
655 |
656 | /didyoumean@1.2.2:
657 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
658 | dev: true
659 |
660 | /diff@4.0.2:
661 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
662 | engines: {node: '>=0.3.1'}
663 |
664 | /digest-fetch@1.3.0:
665 | resolution: {integrity: sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==}
666 | dependencies:
667 | base-64: 0.1.0
668 | md5: 2.3.0
669 | dev: false
670 |
671 | /dlv@1.1.3:
672 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
673 | dev: true
674 |
675 | /dotenv@16.3.1:
676 | resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
677 | engines: {node: '>=12'}
678 | dev: false
679 |
680 | /electron-to-chromium@1.4.505:
681 | resolution: {integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==}
682 | dev: true
683 |
684 | /escalade@3.1.1:
685 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
686 | engines: {node: '>=6'}
687 | dev: true
688 |
689 | /estree-walker@2.0.2:
690 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
691 | dev: false
692 |
693 | /estree-walker@3.0.3:
694 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
695 | dependencies:
696 | '@types/estree': 1.0.1
697 | dev: false
698 |
699 | /event-target-shim@5.0.1:
700 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
701 | engines: {node: '>=6'}
702 | dev: false
703 |
704 | /eventsource-parser@1.0.0:
705 | resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==}
706 | engines: {node: '>=14.18'}
707 | dev: false
708 |
709 | /fast-glob@3.3.1:
710 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
711 | engines: {node: '>=8.6.0'}
712 | dependencies:
713 | '@nodelib/fs.stat': 2.0.5
714 | '@nodelib/fs.walk': 1.2.8
715 | glob-parent: 5.1.2
716 | merge2: 1.4.1
717 | micromatch: 4.0.5
718 | dev: true
719 |
720 | /fastq@1.15.0:
721 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
722 | dependencies:
723 | reusify: 1.0.4
724 | dev: true
725 |
726 | /fill-range@7.0.1:
727 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
728 | engines: {node: '>=8'}
729 | dependencies:
730 | to-regex-range: 5.0.1
731 | dev: true
732 |
733 | /form-data-encoder@1.7.2:
734 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==}
735 | dev: false
736 |
737 | /form-data@3.0.1:
738 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
739 | engines: {node: '>= 6'}
740 | dependencies:
741 | asynckit: 0.4.0
742 | combined-stream: 1.0.8
743 | mime-types: 2.1.35
744 | dev: false
745 |
746 | /formdata-node@4.4.1:
747 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
748 | engines: {node: '>= 12.20'}
749 | dependencies:
750 | node-domexception: 1.0.0
751 | web-streams-polyfill: 4.0.0-beta.3
752 | dev: false
753 |
754 | /fraction.js@4.3.1:
755 | resolution: {integrity: sha512-nx0cki48JBA6ThPeUpeKCNpdhEl/9bRS+dAEYnRUod+Z1jhFfC3K/mBLorZZntqHM+GTH3/dkkpfoT3QITYe7g==}
756 | dev: true
757 |
758 | /fs.realpath@1.0.0:
759 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
760 | dev: true
761 |
762 | /fs@0.0.1-security:
763 | resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==}
764 | dev: false
765 |
766 | /fsevents@2.3.3:
767 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
768 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
769 | os: [darwin]
770 | requiresBuild: true
771 | dev: true
772 | optional: true
773 |
774 | /function-bind@1.1.1:
775 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
776 | dev: true
777 |
778 | /glob-parent@5.1.2:
779 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
780 | engines: {node: '>= 6'}
781 | dependencies:
782 | is-glob: 4.0.3
783 | dev: true
784 |
785 | /glob-parent@6.0.2:
786 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
787 | engines: {node: '>=10.13.0'}
788 | dependencies:
789 | is-glob: 4.0.3
790 | dev: true
791 |
792 | /glob-to-regexp@0.4.1:
793 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
794 | dev: false
795 |
796 | /glob@7.1.6:
797 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
798 | dependencies:
799 | fs.realpath: 1.0.0
800 | inflight: 1.0.6
801 | inherits: 2.0.4
802 | minimatch: 3.1.2
803 | once: 1.4.0
804 | path-is-absolute: 1.0.1
805 | dev: true
806 |
807 | /graceful-fs@4.2.11:
808 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
809 | dev: false
810 |
811 | /has@1.0.3:
812 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
813 | engines: {node: '>= 0.4.0'}
814 | dependencies:
815 | function-bind: 1.1.1
816 | dev: true
817 |
818 | /humanize-ms@1.2.1:
819 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
820 | dependencies:
821 | ms: 2.1.3
822 | dev: false
823 |
824 | /inflight@1.0.6:
825 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
826 | dependencies:
827 | once: 1.4.0
828 | wrappy: 1.0.2
829 | dev: true
830 |
831 | /inherits@2.0.4:
832 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
833 | dev: true
834 |
835 | /is-binary-path@2.1.0:
836 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
837 | engines: {node: '>=8'}
838 | dependencies:
839 | binary-extensions: 2.2.0
840 | dev: true
841 |
842 | /is-buffer@1.1.6:
843 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
844 | dev: false
845 |
846 | /is-core-module@2.13.0:
847 | resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
848 | dependencies:
849 | has: 1.0.3
850 | dev: true
851 |
852 | /is-extglob@2.1.1:
853 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
854 | engines: {node: '>=0.10.0'}
855 | dev: true
856 |
857 | /is-glob@4.0.3:
858 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
859 | engines: {node: '>=0.10.0'}
860 | dependencies:
861 | is-extglob: 2.1.1
862 | dev: true
863 |
864 | /is-number@7.0.0:
865 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
866 | engines: {node: '>=0.12.0'}
867 | dev: true
868 |
869 | /is-reference@3.0.1:
870 | resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==}
871 | dependencies:
872 | '@types/estree': 1.0.1
873 | dev: false
874 |
875 | /jiti@1.19.3:
876 | resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==}
877 | hasBin: true
878 | dev: true
879 |
880 | /js-tokens@4.0.0:
881 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
882 | dev: false
883 |
884 | /lilconfig@2.1.0:
885 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
886 | engines: {node: '>=10'}
887 | dev: true
888 |
889 | /lines-and-columns@1.2.4:
890 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
891 | dev: true
892 |
893 | /locate-character@3.0.0:
894 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
895 | dev: false
896 |
897 | /loose-envify@1.4.0:
898 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
899 | hasBin: true
900 | dependencies:
901 | js-tokens: 4.0.0
902 | dev: false
903 |
904 | /magic-string@0.30.3:
905 | resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==}
906 | engines: {node: '>=12'}
907 | dependencies:
908 | '@jridgewell/sourcemap-codec': 1.4.15
909 | dev: false
910 |
911 | /make-error@1.3.6:
912 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
913 |
914 | /md5@2.3.0:
915 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==}
916 | dependencies:
917 | charenc: 0.0.2
918 | crypt: 0.0.2
919 | is-buffer: 1.1.6
920 | dev: false
921 |
922 | /mdn-data@2.0.30:
923 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
924 | dev: false
925 |
926 | /merge2@1.4.1:
927 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
928 | engines: {node: '>= 8'}
929 | dev: true
930 |
931 | /micromatch@4.0.5:
932 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
933 | engines: {node: '>=8.6'}
934 | dependencies:
935 | braces: 3.0.2
936 | picomatch: 2.3.1
937 | dev: true
938 |
939 | /mime-db@1.52.0:
940 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
941 | engines: {node: '>= 0.6'}
942 | dev: false
943 |
944 | /mime-types@2.1.35:
945 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
946 | engines: {node: '>= 0.6'}
947 | dependencies:
948 | mime-db: 1.52.0
949 | dev: false
950 |
951 | /minimatch@3.1.2:
952 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
953 | dependencies:
954 | brace-expansion: 1.1.11
955 | dev: true
956 |
957 | /ms@2.1.3:
958 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
959 | dev: false
960 |
961 | /mz@2.7.0:
962 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
963 | dependencies:
964 | any-promise: 1.3.0
965 | object-assign: 4.1.1
966 | thenify-all: 1.6.0
967 | dev: true
968 |
969 | /nanoid@3.3.6:
970 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
971 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
972 | hasBin: true
973 |
974 | /next@13.4.12(react-dom@18.2.0)(react@18.2.0):
975 | resolution: {integrity: sha512-eHfnru9x6NRmTMcjQp6Nz0J4XH9OubmzOa7CkWL+AUrUxpibub3vWwttjduu9No16dug1kq04hiUUpo7J3m3Xw==}
976 | engines: {node: '>=16.8.0'}
977 | hasBin: true
978 | peerDependencies:
979 | '@opentelemetry/api': ^1.1.0
980 | fibers: '>= 3.1.0'
981 | react: ^18.2.0
982 | react-dom: ^18.2.0
983 | sass: ^1.3.0
984 | peerDependenciesMeta:
985 | '@opentelemetry/api':
986 | optional: true
987 | fibers:
988 | optional: true
989 | sass:
990 | optional: true
991 | dependencies:
992 | '@next/env': 13.4.12
993 | '@swc/helpers': 0.5.1
994 | busboy: 1.6.0
995 | caniuse-lite: 1.0.30001524
996 | postcss: 8.4.14
997 | react: 18.2.0
998 | react-dom: 18.2.0(react@18.2.0)
999 | styled-jsx: 5.1.1(react@18.2.0)
1000 | watchpack: 2.4.0
1001 | zod: 3.21.4
1002 | optionalDependencies:
1003 | '@next/swc-darwin-arm64': 13.4.12
1004 | '@next/swc-darwin-x64': 13.4.12
1005 | '@next/swc-linux-arm64-gnu': 13.4.12
1006 | '@next/swc-linux-arm64-musl': 13.4.12
1007 | '@next/swc-linux-x64-gnu': 13.4.12
1008 | '@next/swc-linux-x64-musl': 13.4.12
1009 | '@next/swc-win32-arm64-msvc': 13.4.12
1010 | '@next/swc-win32-ia32-msvc': 13.4.12
1011 | '@next/swc-win32-x64-msvc': 13.4.12
1012 | transitivePeerDependencies:
1013 | - '@babel/core'
1014 | - babel-plugin-macros
1015 | dev: false
1016 |
1017 | /node-domexception@1.0.0:
1018 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
1019 | engines: {node: '>=10.5.0'}
1020 | dev: false
1021 |
1022 | /node-fetch@2.7.0:
1023 | resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
1024 | engines: {node: 4.x || >=6.0.0}
1025 | peerDependencies:
1026 | encoding: ^0.1.0
1027 | peerDependenciesMeta:
1028 | encoding:
1029 | optional: true
1030 | dependencies:
1031 | whatwg-url: 5.0.0
1032 | dev: false
1033 |
1034 | /node-releases@2.0.13:
1035 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
1036 | dev: true
1037 |
1038 | /normalize-path@3.0.0:
1039 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1040 | engines: {node: '>=0.10.0'}
1041 | dev: true
1042 |
1043 | /normalize-range@0.1.2:
1044 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1045 | engines: {node: '>=0.10.0'}
1046 | dev: true
1047 |
1048 | /object-assign@4.1.1:
1049 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1050 | engines: {node: '>=0.10.0'}
1051 | dev: true
1052 |
1053 | /object-hash@3.0.0:
1054 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1055 | engines: {node: '>= 6'}
1056 | dev: true
1057 |
1058 | /once@1.4.0:
1059 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1060 | dependencies:
1061 | wrappy: 1.0.2
1062 | dev: true
1063 |
1064 | /openai@4.2.0:
1065 | resolution: {integrity: sha512-zfvpO2eITIxIjTG8T6Cek7NB2dMvP/LW0TRUJ4P9E8+qbBNKw00DrtfF64b+fAV2+wUYCVyynT6iSycJ//TtbA==}
1066 | hasBin: true
1067 | dependencies:
1068 | '@types/node': 18.17.12
1069 | '@types/node-fetch': 2.6.4
1070 | abort-controller: 3.0.0
1071 | agentkeepalive: 4.5.0
1072 | digest-fetch: 1.3.0
1073 | form-data-encoder: 1.7.2
1074 | formdata-node: 4.4.1
1075 | node-fetch: 2.7.0
1076 | transitivePeerDependencies:
1077 | - encoding
1078 | dev: false
1079 |
1080 | /path-is-absolute@1.0.1:
1081 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1082 | engines: {node: '>=0.10.0'}
1083 | dev: true
1084 |
1085 | /path-parse@1.0.7:
1086 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1087 | dev: true
1088 |
1089 | /periscopic@3.1.0:
1090 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
1091 | dependencies:
1092 | '@types/estree': 1.0.1
1093 | estree-walker: 3.0.3
1094 | is-reference: 3.0.1
1095 | dev: false
1096 |
1097 | /picocolors@1.0.0:
1098 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1099 |
1100 | /picomatch@2.3.1:
1101 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1102 | engines: {node: '>=8.6'}
1103 | dev: true
1104 |
1105 | /pify@2.3.0:
1106 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1107 | engines: {node: '>=0.10.0'}
1108 | dev: true
1109 |
1110 | /pirates@4.0.6:
1111 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1112 | engines: {node: '>= 6'}
1113 | dev: true
1114 |
1115 | /postcss-import@15.1.0(postcss@8.4.23):
1116 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1117 | engines: {node: '>=14.0.0'}
1118 | peerDependencies:
1119 | postcss: ^8.0.0
1120 | dependencies:
1121 | postcss: 8.4.23
1122 | postcss-value-parser: 4.2.0
1123 | read-cache: 1.0.0
1124 | resolve: 1.22.4
1125 | dev: true
1126 |
1127 | /postcss-js@4.0.1(postcss@8.4.23):
1128 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1129 | engines: {node: ^12 || ^14 || >= 16}
1130 | peerDependencies:
1131 | postcss: ^8.4.21
1132 | dependencies:
1133 | camelcase-css: 2.0.1
1134 | postcss: 8.4.23
1135 | dev: true
1136 |
1137 | /postcss-load-config@4.0.1(postcss@8.4.23)(ts-node@10.9.1):
1138 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
1139 | engines: {node: '>= 14'}
1140 | peerDependencies:
1141 | postcss: '>=8.0.9'
1142 | ts-node: '>=9.0.0'
1143 | peerDependenciesMeta:
1144 | postcss:
1145 | optional: true
1146 | ts-node:
1147 | optional: true
1148 | dependencies:
1149 | lilconfig: 2.1.0
1150 | postcss: 8.4.23
1151 | ts-node: 10.9.1(@types/node@17.0.12)(typescript@5.1.3)
1152 | yaml: 2.3.2
1153 | dev: true
1154 |
1155 | /postcss-nested@6.0.1(postcss@8.4.23):
1156 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1157 | engines: {node: '>=12.0'}
1158 | peerDependencies:
1159 | postcss: ^8.2.14
1160 | dependencies:
1161 | postcss: 8.4.23
1162 | postcss-selector-parser: 6.0.13
1163 | dev: true
1164 |
1165 | /postcss-selector-parser@6.0.13:
1166 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
1167 | engines: {node: '>=4'}
1168 | dependencies:
1169 | cssesc: 3.0.0
1170 | util-deprecate: 1.0.2
1171 | dev: true
1172 |
1173 | /postcss-value-parser@4.2.0:
1174 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1175 | dev: true
1176 |
1177 | /postcss@8.4.14:
1178 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
1179 | engines: {node: ^10 || ^12 || >=14}
1180 | dependencies:
1181 | nanoid: 3.3.6
1182 | picocolors: 1.0.0
1183 | source-map-js: 1.0.2
1184 | dev: false
1185 |
1186 | /postcss@8.4.23:
1187 | resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==}
1188 | engines: {node: ^10 || ^12 || >=14}
1189 | dependencies:
1190 | nanoid: 3.3.6
1191 | picocolors: 1.0.0
1192 | source-map-js: 1.0.2
1193 | dev: true
1194 |
1195 | /postcss@8.4.29:
1196 | resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==}
1197 | engines: {node: ^10 || ^12 || >=14}
1198 | dependencies:
1199 | nanoid: 3.3.6
1200 | picocolors: 1.0.0
1201 | source-map-js: 1.0.2
1202 | dev: false
1203 |
1204 | /queue-microtask@1.2.3:
1205 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1206 | dev: true
1207 |
1208 | /react-dom@18.2.0(react@18.2.0):
1209 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1210 | peerDependencies:
1211 | react: ^18.2.0
1212 | dependencies:
1213 | loose-envify: 1.4.0
1214 | react: 18.2.0
1215 | scheduler: 0.23.0
1216 | dev: false
1217 |
1218 | /react-textarea-autosize@8.5.3(@types/react@18.2.8)(react@18.2.0):
1219 | resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==}
1220 | engines: {node: '>=10'}
1221 | peerDependencies:
1222 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1223 | dependencies:
1224 | '@babel/runtime': 7.22.11
1225 | react: 18.2.0
1226 | use-composed-ref: 1.3.0(react@18.2.0)
1227 | use-latest: 1.2.1(@types/react@18.2.8)(react@18.2.0)
1228 | transitivePeerDependencies:
1229 | - '@types/react'
1230 | dev: false
1231 |
1232 | /react@18.2.0:
1233 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1234 | engines: {node: '>=0.10.0'}
1235 | dependencies:
1236 | loose-envify: 1.4.0
1237 | dev: false
1238 |
1239 | /read-cache@1.0.0:
1240 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1241 | dependencies:
1242 | pify: 2.3.0
1243 | dev: true
1244 |
1245 | /readdirp@3.6.0:
1246 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1247 | engines: {node: '>=8.10.0'}
1248 | dependencies:
1249 | picomatch: 2.3.1
1250 | dev: true
1251 |
1252 | /regenerator-runtime@0.14.0:
1253 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
1254 | dev: false
1255 |
1256 | /resolve@1.22.4:
1257 | resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
1258 | hasBin: true
1259 | dependencies:
1260 | is-core-module: 2.13.0
1261 | path-parse: 1.0.7
1262 | supports-preserve-symlinks-flag: 1.0.0
1263 | dev: true
1264 |
1265 | /reusify@1.0.4:
1266 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1267 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1268 | dev: true
1269 |
1270 | /run-parallel@1.2.0:
1271 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1272 | dependencies:
1273 | queue-microtask: 1.2.3
1274 | dev: true
1275 |
1276 | /scheduler@0.23.0:
1277 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1278 | dependencies:
1279 | loose-envify: 1.4.0
1280 | dev: false
1281 |
1282 | /seroval@0.5.1:
1283 | resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==}
1284 | engines: {node: '>=10'}
1285 | dev: false
1286 |
1287 | /solid-js@1.7.11:
1288 | resolution: {integrity: sha512-JkuvsHt8jqy7USsy9xJtT18aF9r2pFO+GB8JQ2XGTvtF49rGTObB46iebD25sE3qVNvIbwglXOXdALnJq9IHtQ==}
1289 | dependencies:
1290 | csstype: 3.1.2
1291 | seroval: 0.5.1
1292 | dev: false
1293 |
1294 | /solid-swr-store@0.10.7(solid-js@1.7.11)(swr-store@0.10.6):
1295 | resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==}
1296 | engines: {node: '>=10'}
1297 | peerDependencies:
1298 | solid-js: ^1.2
1299 | swr-store: ^0.10
1300 | dependencies:
1301 | solid-js: 1.7.11
1302 | swr-store: 0.10.6
1303 | dev: false
1304 |
1305 | /source-map-js@1.0.2:
1306 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1307 | engines: {node: '>=0.10.0'}
1308 |
1309 | /sswr@2.0.0(svelte@4.2.0):
1310 | resolution: {integrity: sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==}
1311 | peerDependencies:
1312 | svelte: ^4.0.0
1313 | dependencies:
1314 | svelte: 4.2.0
1315 | swrev: 4.0.0
1316 | dev: false
1317 |
1318 | /streamsearch@1.1.0:
1319 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1320 | engines: {node: '>=10.0.0'}
1321 | dev: false
1322 |
1323 | /styled-jsx@5.1.1(react@18.2.0):
1324 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
1325 | engines: {node: '>= 12.0.0'}
1326 | peerDependencies:
1327 | '@babel/core': '*'
1328 | babel-plugin-macros: '*'
1329 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
1330 | peerDependenciesMeta:
1331 | '@babel/core':
1332 | optional: true
1333 | babel-plugin-macros:
1334 | optional: true
1335 | dependencies:
1336 | client-only: 0.0.1
1337 | react: 18.2.0
1338 | dev: false
1339 |
1340 | /sucrase@3.34.0:
1341 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
1342 | engines: {node: '>=8'}
1343 | hasBin: true
1344 | dependencies:
1345 | '@jridgewell/gen-mapping': 0.3.3
1346 | commander: 4.1.1
1347 | glob: 7.1.6
1348 | lines-and-columns: 1.2.4
1349 | mz: 2.7.0
1350 | pirates: 4.0.6
1351 | ts-interface-checker: 0.1.13
1352 | dev: true
1353 |
1354 | /supports-preserve-symlinks-flag@1.0.0:
1355 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1356 | engines: {node: '>= 0.4'}
1357 | dev: true
1358 |
1359 | /svelte@4.2.0:
1360 | resolution: {integrity: sha512-kVsdPjDbLrv74SmLSUzAsBGquMs4MPgWGkGLpH+PjOYnFOziAvENVzgJmyOCV2gntxE32aNm8/sqNKD6LbIpeQ==}
1361 | engines: {node: '>=16'}
1362 | dependencies:
1363 | '@ampproject/remapping': 2.2.1
1364 | '@jridgewell/sourcemap-codec': 1.4.15
1365 | '@jridgewell/trace-mapping': 0.3.19
1366 | acorn: 8.10.0
1367 | aria-query: 5.3.0
1368 | axobject-query: 3.2.1
1369 | code-red: 1.0.4
1370 | css-tree: 2.3.1
1371 | estree-walker: 3.0.3
1372 | is-reference: 3.0.1
1373 | locate-character: 3.0.0
1374 | magic-string: 0.30.3
1375 | periscopic: 3.1.0
1376 | dev: false
1377 |
1378 | /swr-store@0.10.6:
1379 | resolution: {integrity: sha512-xPjB1hARSiRaNNlUQvWSVrG5SirCjk2TmaUyzzvk69SZQan9hCJqw/5rG9iL7xElHU784GxRPISClq4488/XVw==}
1380 | engines: {node: '>=10'}
1381 | dependencies:
1382 | dequal: 2.0.3
1383 | dev: false
1384 |
1385 | /swr@2.2.0(react@18.2.0):
1386 | resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==}
1387 | peerDependencies:
1388 | react: ^16.11.0 || ^17.0.0 || ^18.0.0
1389 | dependencies:
1390 | react: 18.2.0
1391 | use-sync-external-store: 1.2.0(react@18.2.0)
1392 | dev: false
1393 |
1394 | /swrev@4.0.0:
1395 | resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==}
1396 | dev: false
1397 |
1398 | /swrv@1.0.4(vue@3.3.4):
1399 | resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==}
1400 | peerDependencies:
1401 | vue: '>=3.2.26 < 4'
1402 | dependencies:
1403 | vue: 3.3.4
1404 | dev: false
1405 |
1406 | /tailwindcss@3.3.2(ts-node@10.9.1):
1407 | resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
1408 | engines: {node: '>=14.0.0'}
1409 | hasBin: true
1410 | dependencies:
1411 | '@alloc/quick-lru': 5.2.0
1412 | arg: 5.0.2
1413 | chokidar: 3.5.3
1414 | didyoumean: 1.2.2
1415 | dlv: 1.1.3
1416 | fast-glob: 3.3.1
1417 | glob-parent: 6.0.2
1418 | is-glob: 4.0.3
1419 | jiti: 1.19.3
1420 | lilconfig: 2.1.0
1421 | micromatch: 4.0.5
1422 | normalize-path: 3.0.0
1423 | object-hash: 3.0.0
1424 | picocolors: 1.0.0
1425 | postcss: 8.4.23
1426 | postcss-import: 15.1.0(postcss@8.4.23)
1427 | postcss-js: 4.0.1(postcss@8.4.23)
1428 | postcss-load-config: 4.0.1(postcss@8.4.23)(ts-node@10.9.1)
1429 | postcss-nested: 6.0.1(postcss@8.4.23)
1430 | postcss-selector-parser: 6.0.13
1431 | postcss-value-parser: 4.2.0
1432 | resolve: 1.22.4
1433 | sucrase: 3.34.0
1434 | transitivePeerDependencies:
1435 | - ts-node
1436 | dev: true
1437 |
1438 | /thenify-all@1.6.0:
1439 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1440 | engines: {node: '>=0.8'}
1441 | dependencies:
1442 | thenify: 3.3.1
1443 | dev: true
1444 |
1445 | /thenify@3.3.1:
1446 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1447 | dependencies:
1448 | any-promise: 1.3.0
1449 | dev: true
1450 |
1451 | /to-fast-properties@2.0.0:
1452 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1453 | engines: {node: '>=4'}
1454 | dev: false
1455 |
1456 | /to-regex-range@5.0.1:
1457 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1458 | engines: {node: '>=8.0'}
1459 | dependencies:
1460 | is-number: 7.0.0
1461 | dev: true
1462 |
1463 | /tr46@0.0.3:
1464 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1465 | dev: false
1466 |
1467 | /ts-interface-checker@0.1.13:
1468 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1469 | dev: true
1470 |
1471 | /ts-node@10.9.1(@types/node@17.0.12)(typescript@5.1.3):
1472 | resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
1473 | hasBin: true
1474 | peerDependencies:
1475 | '@swc/core': '>=1.2.50'
1476 | '@swc/wasm': '>=1.2.50'
1477 | '@types/node': '*'
1478 | typescript: '>=2.7'
1479 | peerDependenciesMeta:
1480 | '@swc/core':
1481 | optional: true
1482 | '@swc/wasm':
1483 | optional: true
1484 | dependencies:
1485 | '@cspotcode/source-map-support': 0.8.1
1486 | '@tsconfig/node10': 1.0.9
1487 | '@tsconfig/node12': 1.0.11
1488 | '@tsconfig/node14': 1.0.3
1489 | '@tsconfig/node16': 1.0.4
1490 | '@types/node': 17.0.12
1491 | acorn: 8.10.0
1492 | acorn-walk: 8.2.0
1493 | arg: 4.1.3
1494 | create-require: 1.1.1
1495 | diff: 4.0.2
1496 | make-error: 1.3.6
1497 | typescript: 5.1.3
1498 | v8-compile-cache-lib: 3.0.1
1499 | yn: 3.1.1
1500 |
1501 | /tslib@2.6.2:
1502 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1503 | dev: false
1504 |
1505 | /typescript@5.1.3:
1506 | resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
1507 | engines: {node: '>=14.17'}
1508 | hasBin: true
1509 |
1510 | /update-browserslist-db@1.0.11(browserslist@4.21.10):
1511 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
1512 | hasBin: true
1513 | peerDependencies:
1514 | browserslist: '>= 4.21.0'
1515 | dependencies:
1516 | browserslist: 4.21.10
1517 | escalade: 3.1.1
1518 | picocolors: 1.0.0
1519 | dev: true
1520 |
1521 | /use-composed-ref@1.3.0(react@18.2.0):
1522 | resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==}
1523 | peerDependencies:
1524 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1525 | dependencies:
1526 | react: 18.2.0
1527 | dev: false
1528 |
1529 | /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.8)(react@18.2.0):
1530 | resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==}
1531 | peerDependencies:
1532 | '@types/react': '*'
1533 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1534 | peerDependenciesMeta:
1535 | '@types/react':
1536 | optional: true
1537 | dependencies:
1538 | '@types/react': 18.2.8
1539 | react: 18.2.0
1540 | dev: false
1541 |
1542 | /use-latest@1.2.1(@types/react@18.2.8)(react@18.2.0):
1543 | resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==}
1544 | peerDependencies:
1545 | '@types/react': '*'
1546 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1547 | peerDependenciesMeta:
1548 | '@types/react':
1549 | optional: true
1550 | dependencies:
1551 | '@types/react': 18.2.8
1552 | react: 18.2.0
1553 | use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.8)(react@18.2.0)
1554 | dev: false
1555 |
1556 | /use-sync-external-store@1.2.0(react@18.2.0):
1557 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
1558 | peerDependencies:
1559 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1560 | dependencies:
1561 | react: 18.2.0
1562 | dev: false
1563 |
1564 | /util-deprecate@1.0.2:
1565 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1566 | dev: true
1567 |
1568 | /v8-compile-cache-lib@3.0.1:
1569 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
1570 |
1571 | /vue@3.3.4:
1572 | resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==}
1573 | dependencies:
1574 | '@vue/compiler-dom': 3.3.4
1575 | '@vue/compiler-sfc': 3.3.4
1576 | '@vue/runtime-dom': 3.3.4
1577 | '@vue/server-renderer': 3.3.4(vue@3.3.4)
1578 | '@vue/shared': 3.3.4
1579 | dev: false
1580 |
1581 | /watchpack@2.4.0:
1582 | resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
1583 | engines: {node: '>=10.13.0'}
1584 | dependencies:
1585 | glob-to-regexp: 0.4.1
1586 | graceful-fs: 4.2.11
1587 | dev: false
1588 |
1589 | /web-streams-polyfill@4.0.0-beta.3:
1590 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
1591 | engines: {node: '>= 14'}
1592 | dev: false
1593 |
1594 | /webidl-conversions@3.0.1:
1595 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1596 | dev: false
1597 |
1598 | /whatwg-url@5.0.0:
1599 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1600 | dependencies:
1601 | tr46: 0.0.3
1602 | webidl-conversions: 3.0.1
1603 | dev: false
1604 |
1605 | /wrappy@1.0.2:
1606 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1607 | dev: true
1608 |
1609 | /yaml@2.3.2:
1610 | resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==}
1611 | engines: {node: '>= 14'}
1612 | dev: true
1613 |
1614 | /yn@3.1.1:
1615 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
1616 | engines: {node: '>=6'}
1617 |
1618 | /zod@3.21.4:
1619 | resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
1620 | dev: false
1621 |
--------------------------------------------------------------------------------