├── backend ├── __init__.py ├── requirements.txt ├── prompts │ ├── socratic_method_ai.json │ └── ai_travel_agent.json ├── Dockerfile ├── app.py ├── fast_api.py ├── .gitignore └── README.md ├── .gitignore ├── frontend ├── README.md ├── public │ ├── favicon.ico │ └── vercel.svg ├── .gitignore ├── package.json ├── styles │ ├── globals.css │ └── Home.module.css ├── Dockerfile ├── pages │ ├── travel.js │ └── index.js ├── components │ └── ChatBox.js └── package-lock.json ├── docs ├── demo-image-1.png └── demo-image-2.png ├── docker-compose.yml └── README.md /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .venv 2 | .aws-sam 3 | .DS_Store 4 | openai_api_key.txt 5 | -------------------------------------------------------------------------------- /backend/requirements.txt: -------------------------------------------------------------------------------- 1 | openai 2 | requests 3 | 4 | boto3 5 | fastapi 6 | uvicorn -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | This is a starter template for [Learn Next.js](https://nextjs.org/learn). -------------------------------------------------------------------------------- /docs/demo-image-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrishart0/open-ai-aws-lambda-starter/HEAD/docs/demo-image-1.png -------------------------------------------------------------------------------- /docs/demo-image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrishart0/open-ai-aws-lambda-starter/HEAD/docs/demo-image-2.png -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chrishart0/open-ai-aws-lambda-starter/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /backend/prompts/socratic_method_ai.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": { 3 | "1": { 4 | "Name": "Socratic Method Practice Bot", 5 | "AI Definition": "You will take part in a socratic method style debate", 6 | "AI Initial Message": "Hello! Please start this Socratic debate or ask me for a topic and I can suggest one." 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /frontend/.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 | 21 | # debug 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | fastapi: 5 | image: backend_chat_fastapi 6 | build: 7 | context: ./backend/chat_api 8 | ports: 9 | - "4000:4000" 10 | volumes: 11 | - ./backend:/app 12 | 13 | nextjs: # Name of your Next.js service 14 | image: frontend_nextjs 15 | build: 16 | context: ./frontend 17 | ports: 18 | - "3000:3000" 19 | volumes: 20 | - ./frontend:/usr/src/app # Replace with your actual Next.js directory path relative to this docker-compose file 21 | - /usr/src/app/node_modules 22 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "next dev", 5 | "build": "next build", 6 | "start": "next start" 7 | }, 8 | "dependencies": { 9 | "@emotion/react": "^11.11.0", 10 | "@emotion/server": "^11.11.0", 11 | "@emotion/styled": "^11.11.0", 12 | "@fontsource/roboto": "^5.0.2", 13 | "@mui/icons-material": "^5.11.16", 14 | "@mui/material": "^5.13.3", 15 | "axios": "^1.4.0", 16 | "next": "latest", 17 | "papaparse": "^5.4.1", 18 | "react": "18.2.0", 19 | "react-dom": "18.2.0", 20 | "react-markdown": "^8.0.7" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /frontend/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, 6 | Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | 18 | img { 19 | max-width: 100%; 20 | height: auto; 21 | } 22 | 23 | h1, 24 | h2, 25 | p, 26 | ul { 27 | margin: 0; 28 | } 29 | 30 | ul { 31 | padding: 0; 32 | list-style: none; 33 | } 34 | 35 | button { 36 | padding: 0.5rem 1rem; 37 | font-weight: bold; 38 | } 39 | -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- 1 | # Use an official Node.js runtime as the parent image 2 | FROM node:16 3 | 4 | # Set the working directory inside the container 5 | WORKDIR /usr/src/app 6 | 7 | # Copy package.json and package-lock.json (or yarn.lock if you're using Yarn) into the container 8 | COPY package*.json ./ 9 | 10 | # Install application dependencies inside the container 11 | RUN npm install 12 | 13 | # Copy the rest of the application source code from your host to your image filesystem. 14 | COPY . . 15 | 16 | # Specify the port the app runs on for documentation purposes 17 | EXPOSE 3000 18 | 19 | # Command to run your application 20 | CMD [ "npm", "run", "dev" ] 21 | -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- 1 | # Use an official lightweight Python image. 2 | # We chose a slim-buster image to keep the image size small, but you can choose another if needed. 3 | FROM python:3.10-slim-buster 4 | 5 | # Set the working directory in the container 6 | WORKDIR /app 7 | 8 | # Copy the dependencies file to the working directory 9 | COPY requirements.txt . 10 | 11 | # Install any dependencies 12 | RUN pip install --no-cache-dir -r requirements.txt 13 | 14 | # Copy the content of the local src directory to the working directory 15 | COPY . . 16 | 17 | # Specify the command to run on container start, reload API when code change detected 18 | CMD ["uvicorn", "fast_api:app", "--host", "0.0.0.0", "--port", "4000", "--reload"] 19 | 20 | -------------------------------------------------------------------------------- /frontend/public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /backend/prompts/ai_travel_agent.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": { 3 | "1": { 4 | "Name": "AI Travel Agent", 5 | "AI Definition": "You are travel agent with years of experience. \n You are a posh English person who is slightly pretentious but still friendly. \n You are speaking with me, a client who has come to you with help for planning out my trip. Hello! How can I assist you with planning your trip? Let me know where you are going, how long you will be there, the sorts of things you are interested in doing, and anything else which will help me write your itinerary.You should ask me as many questions as you need and help me to build out a trip itinerary and answer any questions I have. \n Keep resounse short and easy to read, take advantage of bullet points and markdown to make your responses easy to read. \n If you are wiring the itinerary, ensure it is written in markdown, write a title for the itinerary and ensure its a markdown # h1", 6 | "AI Initial Message": "Hello! How can I assist you with planning your trip? Let me know where you are going, how long you will be there, the sorts of things you are interested in doing, and anything else which will help me write your itinerary." 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /frontend/styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | min-height: 100vh; 3 | padding: 0 0.5rem; 4 | display: flex; 5 | flex-direction: column; 6 | justify-content: center; 7 | align-items: center; 8 | } 9 | 10 | .title a { 11 | color: #0070f3; 12 | text-decoration: none; 13 | } 14 | 15 | .title a:hover, 16 | .title a:focus, 17 | .title a:active { 18 | text-decoration: underline; 19 | } 20 | 21 | .title { 22 | margin: 0 0 1rem; 23 | line-height: 1.15; 24 | font-size: 3.6rem; 25 | } 26 | 27 | .title { 28 | text-align: center; 29 | } 30 | 31 | .title, 32 | .description { 33 | text-align: center; 34 | } 35 | 36 | 37 | .description { 38 | line-height: 1.5; 39 | font-size: 1.5rem; 40 | } 41 | 42 | .grid { 43 | display: flex; 44 | align-items: center; 45 | justify-content: center; 46 | flex-wrap: wrap; 47 | 48 | max-width: 800px; 49 | margin-top: 3rem; 50 | } 51 | 52 | .card { 53 | margin: 1rem; 54 | flex-basis: 45%; 55 | padding: 1.5rem; 56 | text-align: left; 57 | color: inherit; 58 | text-decoration: none; 59 | border: 1px solid #eaeaea; 60 | border-radius: 10px; 61 | transition: color 0.15s ease, border-color 0.15s ease; 62 | } 63 | 64 | .card:hover, 65 | .card:focus, 66 | .card:active { 67 | color: #0070f3; 68 | border-color: #0070f3; 69 | } 70 | 71 | .card h3 { 72 | margin: 0 0 1rem 0; 73 | font-size: 1.5rem; 74 | } 75 | 76 | .card p { 77 | margin: 0; 78 | font-size: 1.25rem; 79 | line-height: 1.5; 80 | } 81 | 82 | .logo { 83 | height: 1em; 84 | } 85 | 86 | @media (max-width: 600px) { 87 | .grid { 88 | width: 100%; 89 | flex-direction: column; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /frontend/pages/travel.js: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from 'react'; 2 | 3 | import Head from 'next/head'; 4 | import styles from '../styles/Home.module.css'; 5 | import Typography from '@mui/material/Typography'; 6 | 7 | import axios from 'axios'; 8 | 9 | 10 | // Components 11 | import ChatBox from '../components/ChatBox'; 12 | 13 | // const url = https://77rhnjbnf3.execute-api.us-east-1.amazonaws.com/prod/ 14 | const baseURL = "http://localhost:4000"; 15 | 16 | export default function Home() { 17 | const [prompts, setPrompts] = useState([]); 18 | 19 | // const [lambdaResposne, setLambdaResposne] = useState([]); 20 | 21 | // Load data on component mount 22 | useEffect(() => { 23 | getPrompts() 24 | }, []); 25 | 26 | // console.log(lambdaResposne) 27 | 28 | const getPrompts = async () => { 29 | // setPrompts(); 30 | 31 | 32 | // setLoading(true); 33 | console.log("Getting prompts") 34 | 35 | try { 36 | const response = await axios.get(`${baseURL}/prompts`, { 37 | headers: { 38 | 'Content-Type': 'application/json' 39 | } 40 | }); 41 | console.log(response) 42 | setPrompts(response.data.prompts); 43 | // setLoading(false); 44 | } catch (err) { 45 | // setError(err.message); 46 | // setLoading(false); 47 | console.error(err); 48 | } 49 | }; 50 | 51 | const DisplayPrompts = () => { 52 | return ( 53 | prompts.map((prompt) => { 54 | console.log("prompt:", prompt) 55 | return ( 56 | 57 | Prompt {prompt} 58 | 59 | ) 60 | }) 61 | ) 62 | 63 | } 64 | 65 | return ( 66 |
67 | 68 | Your AI Travel Agent 69 | 70 | 71 | 72 |
73 | 80 | Your AI Travel Agent! 81 | 82 | 83 | 84 | Choose a prompt 85 | 86 | 87 | 88 | 89 | 90 |
91 | 92 |
93 | ) 94 | } 95 | -------------------------------------------------------------------------------- /backend/app.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import logging.config 3 | import os 4 | from langchain.chat_models import ChatOpenAI 5 | from langchain.prompts import ( 6 | ChatPromptTemplate, 7 | MessagesPlaceholder, 8 | SystemMessagePromptTemplate, 9 | HumanMessagePromptTemplate, 10 | ) 11 | from langchain.schema import ( 12 | HumanMessage, 13 | SystemMessage 14 | ) 15 | from langchain.chains import LLMChain 16 | 17 | 18 | # Configure logging 19 | LOGGING_CONFIG = { 20 | "version": 1, 21 | "disable_existing_loggers": False, 22 | "handlers": { 23 | "console": { 24 | "class": "logging.StreamHandler", 25 | }, 26 | }, 27 | "root": { 28 | "handlers": ["console"], 29 | "level": "INFO", 30 | }, 31 | "loggers": { 32 | "uvicorn.error": { 33 | "level": "INFO", 34 | }, 35 | "uvicorn.access": { 36 | "level": "INFO", 37 | "handlers": ["console"], 38 | }, 39 | }, 40 | } 41 | 42 | logging.config.dictConfig(LOGGING_CONFIG) 43 | logger = logging.getLogger("uvicorn.info") 44 | 45 | # Export logger as a function 46 | def get_logger(): 47 | """ 48 | :return: Logger object 49 | Example of how to import 50 | from app import get_logger 51 | logger = get_logger() 52 | """ 53 | return logger 54 | 55 | 56 | logger.info("Initializing the things which need that to be prepared") 57 | 58 | def get_openai_api_key(): 59 | with open('openai_api_key.txt', 'r') as file: 60 | api_key = file.read().strip() 61 | return api_key 62 | 63 | 64 | def call_llm(messages, api_key): 65 | """ 66 | :param message: Message to send to OpenAI API 67 | :param api_key: OpenAI API key 68 | :return: Response from OpenAI API 69 | 70 | This function calls the OpenAI API with the provided message and returns the response. 71 | """ 72 | 73 | # Prompt 74 | prompt = ChatPromptTemplate( 75 | messages=[ 76 | SystemMessagePromptTemplate.from_template( 77 | "You are a nice chatbot having a conversation with a human." 78 | ), 79 | # The `variable_name` here is what must align with memory 80 | MessagesPlaceholder(variable_name="chat_history"), 81 | HumanMessagePromptTemplate.from_template("{question}") 82 | ] 83 | ) 84 | 85 | try: 86 | # Set OpenAI API key 87 | os.environ["OPENAI_API_KEY"] = api_key 88 | 89 | logger.info("Calling OpenAI API with Langchain") 90 | chat = ChatOpenAI(model_name="gpt-3.5-turbo") 91 | 92 | # Convert messages to schema for Langchain 93 | chatHistory = [] 94 | for messages in messages: 95 | if messages['role'] == 'user': 96 | chatHistory.append(HumanMessage(content=messages['content'])) 97 | elif messages['role'] == 'assistant': 98 | chatHistory.append(SystemMessage(content=messages['content'])) 99 | 100 | # Call OpenAI API with provided messages and model 101 | message = chat(chatHistory).content 102 | logger.info("Message: %s", message) 103 | 104 | 105 | return {'role': 'assistant', 'content':message} 106 | 107 | except Exception as e: 108 | # Log error if any exception occurs 109 | logger.error(e) 110 | logger.error(f"Error in calling OpenAI API: {str(e)}") 111 | # Propagate the exception further 112 | raise e 113 | -------------------------------------------------------------------------------- /backend/fast_api.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | from fastapi import FastAPI, HTTPException, Request 4 | from fastapi.middleware.cors import CORSMiddleware 5 | from fastapi.exceptions import RequestValidationError 6 | from fastapi.responses import JSONResponse, PlainTextResponse 7 | from typing import List 8 | from pydantic import BaseModel 9 | 10 | # Import necessary functions from the app module 11 | from app import get_openai_api_key, call_llm, get_logger 12 | 13 | # Initialize a logger 14 | logger = get_logger() 15 | 16 | # Instantiate FastAPI app 17 | logger.info("Initializing FastAPI application") 18 | app = FastAPI() 19 | 20 | # Add CORS middleware for API to allow requests from specific origins 21 | app.add_middleware( 22 | CORSMiddleware, 23 | allow_origins=[ 24 | "http://localhost:3000", 25 | "http://localhost:3001", 26 | "http://mydomain.com", 27 | # Add other origins you want to allow 28 | ], 29 | allow_credentials=True, 30 | allow_methods=["*"], 31 | allow_headers=["*"], 32 | ) 33 | 34 | # Define Message and ChatPayload models for API request validation 35 | class Message(BaseModel): 36 | role: str 37 | content: str 38 | 39 | class ChatPayload(BaseModel): 40 | message: List[Message] 41 | 42 | # Exception handler for HTTP errors with enhanced logging 43 | @app.exception_handler(HTTPException) 44 | async def custom_http_exception_handler(request: Request, exc: HTTPException): 45 | logger.error(f"Error occurred: {exc.detail}") 46 | logger.error(f"Request body: {await request.body()}") 47 | return JSONResponse(content={"detail": exc.detail}, status_code=exc.status_code) 48 | 49 | # Exception handler for validation errors 50 | @app.exception_handler(RequestValidationError) 51 | async def validation_exception_handler(request: Request, exc: RequestValidationError): 52 | logger.error(f"Validation Error occurred: {exc.errors()}") 53 | logger.error(f"Request body: {await request.body()}") 54 | return PlainTextResponse(str(exc), status_code=400) 55 | 56 | # Define chat endpoint to interact with the OpenAI API 57 | @app.post("/chat") 58 | async def post_chat_body(payload: ChatPayload): 59 | 60 | # Get OpenAI API key 61 | logger.info("Getting OpenAI API key") 62 | open_ai_api_key = get_openai_api_key() 63 | 64 | logger.info(payload) 65 | 66 | # Extract chat history from payload 67 | chat_history = [message.dict() for message in payload.message] 68 | 69 | logger.info("Chat Endpoint called") 70 | logger.info("Chat History: %s", chat_history) 71 | 72 | # Call OpenAI API and get responsexz 73 | latest_response = call_llm(chat_history, open_ai_api_key) 74 | chat_history.append(latest_response) 75 | 76 | # Return the response 77 | return { 78 | "message": chat_history, 79 | } 80 | 81 | @app.get("/prompts") 82 | async def get_prompts(): 83 | 84 | # with open('openai_api_key.txt', 'r') as file: 85 | # api_key = file.read().strip() 86 | 87 | prompts_list = os.listdir("prompts") 88 | 89 | # Return the response 90 | return { 91 | "prompts": prompts_list, 92 | } 93 | 94 | 95 | @app.get("/prompts/prompt") 96 | async def get_prompt(prompt_name): 97 | 98 | with open(f'prompts/{prompt_name}', 'r') as file: 99 | prompt = json.load( file) 100 | 101 | return { 102 | "prompt": prompt 103 | } 104 | 105 | # Main execution block: Starts the FastAPI app using Uvicorn running locally 106 | if __name__ == "__main__": 107 | import uvicorn 108 | 109 | # Run the FastAPI app on the specified host and port 110 | uvicorn.run(app, host="0.0.0.0", port=4000) -------------------------------------------------------------------------------- /frontend/pages/index.js: -------------------------------------------------------------------------------- 1 | import { useState, useEffect } from 'react'; 2 | 3 | import Head from 'next/head'; 4 | import styles from '../styles/Home.module.css'; 5 | import Typography from '@mui/material/Typography'; 6 | import Button from '@mui/material/Button'; 7 | 8 | import axios from 'axios'; 9 | 10 | 11 | // Components 12 | import ChatBox from '../components/ChatBox'; 13 | 14 | const baseURL = "http://localhost:4000"; 15 | 16 | export default function Home() { 17 | const [prompts, setPrompts] = useState([]); 18 | const [currentPromptDetails, setCurrentPromptDetails] = useState([]); 19 | 20 | // Load data on component mount 21 | useEffect(() => { 22 | getPrompts() 23 | setPromptDetails('ai_travel_agent.json') 24 | }, []); 25 | 26 | 27 | const getPrompts = async () => { 28 | // setLoading(true); 29 | console.log("Getting prompts") 30 | 31 | try { 32 | const response = await axios.get(`${baseURL}/prompts`, { 33 | headers: { 34 | 'Content-Type': 'application/json' 35 | } 36 | }); 37 | console.log(response) 38 | setPrompts(response.data.prompts); 39 | // setLoading(false); 40 | } catch (err) { 41 | // setError(err.message); 42 | // setLoading(false); 43 | console.error(err); 44 | } 45 | }; 46 | 47 | const setPromptDetails = async (prompt) => { 48 | // setLoading(true); 49 | console.log(`Getting ${prompt} prompts`) 50 | 51 | try { 52 | const response = await axios.get(`${baseURL}/prompts/prompt?prompt_name=${prompt}`, { 53 | headers: { 54 | 'Content-Type': 'application/json' 55 | } 56 | }); 57 | console.log(response) 58 | setCurrentPromptDetails(response.data.prompt); 59 | // setLoading(false); 60 | } catch (err) { 61 | // setError(err.message); 62 | // setLoading(false); 63 | console.error(err); 64 | } 65 | }; 66 | 67 | const DisplayPrompts = () => { 68 | return ( 69 | prompts.map((prompt) => { 70 | console.log("prompt:", prompt) 71 | return ( 72 | 75 | ) 76 | }) 77 | ) 78 | } 79 | 80 | const DisplayCurrentPromptDetails = () => { 81 | if (currentPromptDetails['Version']) { 82 | let promptDetails = currentPromptDetails['Version'][1] 83 | console.log("promptDetails") 84 | console.log(promptDetails) 85 | 86 | return ( 87 | <> 88 | 89 | Current Prompt: 90 | 91 | 92 | Name: {promptDetails['Name']} 93 | 94 | 95 | AI Definition: {promptDetails['AI Definition']} 96 | 97 | 98 | AI Initial Message: {promptDetails['AI Initial Message']} 99 | 100 | 101 | ) 102 | } 103 | } 104 | 105 | const DisplayChat = () => { 106 | if (currentPromptDetails['Version'] && currentPromptDetails['Version']) { 107 | let promptDetails = currentPromptDetails['Version'][1] 108 | return( 109 | 110 | ) 111 | } 112 | } 113 | 114 | return ( 115 |
116 | 117 | AI Chat 118 | 119 | 120 | 121 |
122 | 123 | 124 | Choose a prompt 125 | 126 | 127 | 128 |
129 | 130 | 131 | 138 | AI Chat 139 | 140 | 141 | 142 |
143 | 144 |
145 | ) 146 | } 147 | -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/osx,linux,python,windows,pycharm,visualstudiocode 3 | 4 | ### Linux ### 5 | *~ 6 | 7 | # temporary files which can be created if a process still has a handle open of a deleted file 8 | .fuse_hidden* 9 | 10 | # KDE directory preferences 11 | .directory 12 | 13 | # Linux trash folder which might appear on any partition or disk 14 | .Trash-* 15 | 16 | # .nfs files are created when an open file is removed but is still being accessed 17 | .nfs* 18 | 19 | ### OSX ### 20 | *.DS_Store 21 | .AppleDouble 22 | .LSOverride 23 | 24 | # Icon must end with two \r 25 | Icon 26 | 27 | # Thumbnails 28 | ._* 29 | 30 | # Files that might appear in the root of a volume 31 | .DocumentRevisions-V100 32 | .fseventsd 33 | .Spotlight-V100 34 | .TemporaryItems 35 | .Trashes 36 | .VolumeIcon.icns 37 | .com.apple.timemachine.donotpresent 38 | 39 | # Directories potentially created on remote AFP share 40 | .AppleDB 41 | .AppleDesktop 42 | Network Trash Folder 43 | Temporary Items 44 | .apdisk 45 | 46 | ### PyCharm ### 47 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm 48 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 49 | 50 | # User-specific stuff: 51 | .idea/**/workspace.xml 52 | .idea/**/tasks.xml 53 | .idea/dictionaries 54 | 55 | # Sensitive or high-churn files: 56 | .idea/**/dataSources/ 57 | .idea/**/dataSources.ids 58 | .idea/**/dataSources.xml 59 | .idea/**/dataSources.local.xml 60 | .idea/**/sqlDataSources.xml 61 | .idea/**/dynamic.xml 62 | .idea/**/uiDesigner.xml 63 | 64 | # Gradle: 65 | .idea/**/gradle.xml 66 | .idea/**/libraries 67 | 68 | # CMake 69 | cmake-build-debug/ 70 | 71 | # Mongo Explorer plugin: 72 | .idea/**/mongoSettings.xml 73 | 74 | ## File-based project format: 75 | *.iws 76 | 77 | ## Plugin-specific files: 78 | 79 | # IntelliJ 80 | /out/ 81 | 82 | # mpeltonen/sbt-idea plugin 83 | .idea_modules/ 84 | 85 | # JIRA plugin 86 | atlassian-ide-plugin.xml 87 | 88 | # Cursive Clojure plugin 89 | .idea/replstate.xml 90 | 91 | # Ruby plugin and RubyMine 92 | /.rakeTasks 93 | 94 | # Crashlytics plugin (for Android Studio and IntelliJ) 95 | com_crashlytics_export_strings.xml 96 | crashlytics.properties 97 | crashlytics-build.properties 98 | fabric.properties 99 | 100 | ### PyCharm Patch ### 101 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 102 | 103 | # *.iml 104 | # modules.xml 105 | # .idea/misc.xml 106 | # *.ipr 107 | 108 | # Sonarlint plugin 109 | .idea/sonarlint 110 | 111 | ### Python ### 112 | # Byte-compiled / optimized / DLL files 113 | __pycache__/ 114 | *.py[cod] 115 | *$py.class 116 | 117 | # C extensions 118 | *.so 119 | 120 | # Distribution / packaging 121 | .Python 122 | build/ 123 | develop-eggs/ 124 | dist/ 125 | downloads/ 126 | eggs/ 127 | .eggs/ 128 | lib/ 129 | lib64/ 130 | parts/ 131 | sdist/ 132 | var/ 133 | wheels/ 134 | *.egg-info/ 135 | .installed.cfg 136 | *.egg 137 | 138 | # PyInstaller 139 | # Usually these files are written by a python script from a template 140 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 141 | *.manifest 142 | *.spec 143 | 144 | # Installer logs 145 | pip-log.txt 146 | pip-delete-this-directory.txt 147 | 148 | # Unit test / coverage reports 149 | htmlcov/ 150 | .tox/ 151 | .coverage 152 | .coverage.* 153 | .cache 154 | .pytest_cache/ 155 | nosetests.xml 156 | coverage.xml 157 | *.cover 158 | .hypothesis/ 159 | 160 | # Translations 161 | *.mo 162 | *.pot 163 | 164 | # Flask stuff: 165 | instance/ 166 | .webassets-cache 167 | 168 | # Scrapy stuff: 169 | .scrapy 170 | 171 | # Sphinx documentation 172 | docs/_build/ 173 | 174 | # PyBuilder 175 | target/ 176 | 177 | # Jupyter Notebook 178 | .ipynb_checkpoints 179 | 180 | # pyenv 181 | .python-version 182 | 183 | # celery beat schedule file 184 | celerybeat-schedule.* 185 | 186 | # SageMath parsed files 187 | *.sage.py 188 | 189 | # Environments 190 | .env 191 | .venv 192 | env/ 193 | venv/ 194 | ENV/ 195 | env.bak/ 196 | venv.bak/ 197 | 198 | # Spyder project settings 199 | .spyderproject 200 | .spyproject 201 | 202 | # Rope project settings 203 | .ropeproject 204 | 205 | # mkdocs documentation 206 | /site 207 | 208 | # mypy 209 | .mypy_cache/ 210 | 211 | ### VisualStudioCode ### 212 | .vscode/* 213 | !.vscode/settings.json 214 | !.vscode/tasks.json 215 | !.vscode/launch.json 216 | !.vscode/extensions.json 217 | .history 218 | 219 | ### Windows ### 220 | # Windows thumbnail cache files 221 | Thumbs.db 222 | ehthumbs.db 223 | ehthumbs_vista.db 224 | 225 | # Folder config file 226 | Desktop.ini 227 | 228 | # Recycle Bin used on file shares 229 | $RECYCLE.BIN/ 230 | 231 | # Windows Installer files 232 | *.cab 233 | *.msi 234 | *.msm 235 | *.msp 236 | 237 | # Windows shortcuts 238 | *.lnk 239 | 240 | # Build folder 241 | 242 | */build/* 243 | 244 | # End of https://www.gitignore.io/api/osx,linux,python,windows,pycharm,visualstudiocode -------------------------------------------------------------------------------- /frontend/components/ChatBox.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import { 3 | Button, 4 | TextField, 5 | Box, 6 | Paper, 7 | Typography, 8 | Alert, 9 | CircularProgress, 10 | Avatar, 11 | Grid, 12 | Divider, 13 | } from "@mui/material"; 14 | import axios from "axios"; 15 | import AccountCircleIcon from '@mui/icons-material/AccountCircle'; 16 | import AssistantIcon from '@mui/icons-material/Assistant'; 17 | import ReactMarkdown from 'react-markdown'; 18 | 19 | const baseURL = "http://localhost:4000"; 20 | 21 | const ChatBox = (aiDefinition, aiInitialMessage) => { 22 | 23 | const initialMessages = [ 24 | { 25 | role: "system", 26 | content: aiDefinition['aiDefinition'], //ToDo: No idea why I need to access the string like this. Why can't I just look into aiInitialMessage, why do I need to go 1 level in? 27 | }, 28 | { 29 | role: "assistant", 30 | content: aiDefinition['aiInitialMessage'], 31 | }, 32 | ]; 33 | 34 | 35 | const [message, setMessage] = useState(""); 36 | const [chatHistory, setChatHistory] = useState(initialMessages); 37 | const [error, setError] = useState(""); 38 | const [loading, setLoading] = useState(false); 39 | 40 | const sendMessage = async () => { 41 | const userMessage = { role: "user", content: message }; 42 | setChatHistory([...chatHistory, userMessage]); 43 | 44 | const body = { 45 | message: [...chatHistory, userMessage], 46 | }; 47 | 48 | setMessage(""); 49 | setLoading(true); 50 | 51 | try { 52 | const response = await axios.post(`${baseURL}/chat`, body, { 53 | headers: { 54 | 'Content-Type': 'application/json' 55 | } 56 | }); 57 | setChatHistory(response.data.message); 58 | setLoading(false); 59 | } catch (err) { 60 | setError(err.message); 61 | setLoading(false); 62 | console.error(err); 63 | } 64 | }; 65 | 66 | const isMarkdown = (text) => { 67 | return text.startsWith('# ') || text.startsWith('## ') || text.startsWith('### '); 68 | } 69 | 70 | const handleSendMessage = () => { 71 | if (message.trim() !== "") { 72 | sendMessage(); 73 | } 74 | }; 75 | 76 | const handleKeyDown = (e) => { 77 | if (e.key === 'Enter' && !e.shiftKey) { 78 | e.preventDefault(); 79 | if (message.trim() !== "") { 80 | sendMessage(); 81 | } 82 | } 83 | }; 84 | 85 | 86 | return ( 87 | 96 | {error && ( 97 | 98 | {error} 99 | 100 | )} 101 | 111 | {chatHistory 112 | .filter((chat) => chat.role !== "system") 113 | .map((chat, i) => ( 114 | 115 | 122 | 123 | 124 | 125 | {chat.role === "user" ? : } 126 | 127 | 128 | 129 | 130 | {chat.role}: {chat.role === "assistant" ? {chat.content} : chat.content} 131 | 132 | 133 | 134 | 135 | 136 | 137 | ))} 138 | {loading && } 139 | 140 | 149 | setMessage(e.target.value)} 154 | inputProps={{ 155 | onKeyDown: handleKeyDown 156 | }} 157 | /> 158 | 166 | 167 | 168 | ); 169 | }; 170 | 171 | export default ChatBox; 172 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AWS Serverless Generative AI Quick Start Guide 2 | In this guide we will provide a relatively simple example of how to host a generative AI application on AWS using the OpenAI API. I pulled most of this UI code from my other side project: [MyChefAI.com](MyChefAI.com), which is an AI recipe writer. 3 | 4 | There are two main pieces to this repo, a frontend and a backend. The frontend uses NextJS, the backend uses FastAPI and Langchain. The Lambda utilizes the OpenAI API. 5 | 6 | NOTE: This repo is a work in progress. Right now it is only designed to be run locally, there is no IaC to deploy this anywhere. 7 | 8 | **Features:** 9 | * OpenAI API key stored locally 10 | * Chat History for the current conversation maintained in UI 11 | * UI will render markdown for better looking user interface 12 | * Chat Prompt instructed to return travel itinerary in markdown 13 | 14 | **ToDo:** 15 | * Store chate history in a DB to be retrived later 16 | * Allow user to create new prompts and store these in a DB 17 | * Allow user to upload a file, generate embeddings, and chat with it (RAG) 18 | 19 | ## Overview of the demo application 20 | The application is an AI Travel agent who will attempt to write a trip itinerary for you. Once the LLM has gotten enough info, it will attempt to write the itinerary in markdown. The UI will render this markdown in the chat window into a nice looking format. 21 | 22 | Here is how it looks: 23 | ![Demo image 1](docs/demo-image-1.png) 24 | ![Demo image 2](docs/demo-image-2.png) 25 | 26 | 27 | # Start with Docker-Compose 28 | The easiest way to spin up this application is with docker compose. Just run the below command and docker will take care of the rest. Just make sure you have docker and docker-compose installed and running. 29 | 30 | ## 1) Prepare the Key 31 | First, preparethe OpenAPI key. Create a file in the `backend` directory called `openai_api_key.txt`. This file is added in the .gitignore so it will not be commited if you clone this repo. 32 | 33 | ## 2) Start the Containers 34 | Startup the frontend and backend containers. Docker Compose will automaticlly build these container on your system the first time you run this command. 35 | ``` 36 | docker-compose up 37 | ``` 38 | 39 | The application will now be availbe at 40 | You can also access the OpenAPI spec at 41 | 42 | # Running the Application without docker-compose 43 | 44 | ## Backend - Fast API, Langchain, OpenAI 45 | 46 | ### 1) Prepare the OpenAPI key 47 | First, preparethe OpenAPI key. Create a file in the `backend` directory called `openai_api_key.txt`. This file is added in the .gitignore so it will not be commited if you clone this repo. 48 | 49 | 50 | ### 2) Statup the API 51 | There are two ways to run the backend. if you'd like to run FastAPI without docker then follow these steps. 52 | 53 | Install prereqs 54 | ``` 55 | python3 -m venv .venv 56 | source .venv/bin/activate 57 | pip install -r backend/requirements.txt 58 | ``` 59 | 60 | Run the python script which starts the API, as shown below. 61 | ``` 62 | python backend/chat_api/fast_api.py 63 | ``` 64 | 65 | Startup te API with SAM to mock API Gateway and lambda locally 66 | 67 | ``` 68 | # NOTE: Use port 4000 because the local UI runs on port 3000 69 | sam build && sam local start-api --port 4000 70 | ``` 71 | 72 | ## Frontend - NextJS 73 | The frontend uses NextJS. 74 | 75 | *NOTE:* I have not yet written any deployment mechanism for the frontend, for now it only works on the local machine 76 | 77 | ### Prereqs 78 | Ensure you have nodejs and npm installed 79 | 80 | ## Setup Steps 81 | Leave your terminal with the backend up and running, open up a new terminal in the root of the repo to run the frontend 82 | 83 | Install the needed deps for the frontend to run 84 | ``` 85 | cd frontend 86 | npm install 87 | ``` 88 | 89 | ## Run the frontend 90 | ``` 91 | npm run dev 92 | ``` 93 | 94 | You can now open the frontend at 95 | 96 | # Now time to change up the prompt! 97 | 98 | The initial prompt is maintained here in the ChatBot component of the frontend: [frontend/components/ChatBox.js](frontend/components/ChatBox.js) in the `initialMessages` variable. Change up the prompt however you wish. Maybe tell it to speak with a different accent, or tell the LLM it is a travel agent for Vienna, Virginia instead of Vienna, Austria. 99 | 100 | There is no need to reload or rebuild. Simple make your alteration to the prompt, save the file, and you should see the localhost:3000 page will have refreshed, ready for you to start a new chat. 101 | 102 | # Handling In-Context data (WIP) 103 | Let's give the model access to data 104 | 105 | Quote from OpenAI: 106 | 107 | > Why search is better than fine-tuning 108 | GPT can learn knowledge in two ways: 109 | > 1) Via model weights (i.e., fine-tune the model on a training set) 110 | > 2) Via model inputs (i.e., insert the knowledge into an input message)

111 | Although fine-tuning can feel like the more natural option—training on data is how GPT learned all of its other knowledge, after all—we generally do not recommend it as a way to teach the model knowledge. Fine-tuning is better suited to teaching specialized tasks or styles, and is less reliable for factual recall. 112 | 113 | Source: https://github.com/openai/openai-cookbook/blob/main/examples/Question_answering_using_embeddings.ipynb 114 | 115 | 116 | ## Need some help or have an idea for an improvement? 117 | Please feel free to ask questions or make PRs. 118 | -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- 1 | # backend 2 | 3 | This project contains source code and supporting files for a serverless application that you can deploy with the SAM CLI. It includes the following files and folders. 4 | 5 | - chat_api - Code for the application's Lambda function. 6 | - events - Invocation events that you can use to invoke the function. 7 | - tests - Unit tests for the application code. 8 | - template.yaml - A template that defines the application's AWS resources. 9 | 10 | The application uses several AWS resources, including Lambda functions and an API Gateway API. These resources are defined in the `template.yaml` file in this project. You can update the template to add AWS resources through the same deployment process that updates your application code. 11 | 12 | If you prefer to use an integrated development environment (IDE) to build and test your application, you can use the AWS Toolkit. 13 | The AWS Toolkit is an open source plug-in for popular IDEs that uses the SAM CLI to build and deploy serverless applications on AWS. The AWS Toolkit also adds a simplified step-through debugging experience for Lambda function code. See the following links to get started. 14 | 15 | * [CLion](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 16 | * [GoLand](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 17 | * [IntelliJ](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 18 | * [WebStorm](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 19 | * [Rider](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 20 | * [PhpStorm](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 21 | * [PyCharm](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 22 | * [RubyMine](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 23 | * [DataGrip](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) 24 | * [VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) 25 | * [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html) 26 | 27 | ## Deploy the sample application 28 | 29 | The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for building and testing Lambda applications. It uses Docker to run your functions in an Amazon Linux environment that matches Lambda. It can also emulate your application's build environment and API. 30 | 31 | To use the SAM CLI, you need the following tools. 32 | 33 | * SAM CLI - [Install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) 34 | * [Python 3 installed](https://www.python.org/downloads/) 35 | * Docker - [Install Docker community edition](https://hub.docker.com/search/?type=edition&offering=community) 36 | 37 | To build and deploy your application for the first time, run the following in your shell: 38 | 39 | ```bash 40 | sam build --use-container 41 | sam deploy --guided 42 | ``` 43 | 44 | The first command will build the source of your application. The second command will package and deploy your application to AWS, with a series of prompts: 45 | 46 | * **Stack Name**: The name of the stack to deploy to CloudFormation. This should be unique to your account and region, and a good starting point would be something matching your project name. 47 | * **AWS Region**: The AWS region you want to deploy your app to. 48 | * **Confirm changes before deploy**: If set to yes, any change sets will be shown to you before execution for manual review. If set to no, the AWS SAM CLI will automatically deploy application changes. 49 | * **Allow SAM CLI IAM role creation**: Many AWS SAM templates, including this example, create AWS IAM roles required for the AWS Lambda function(s) included to access AWS services. By default, these are scoped down to minimum required permissions. To deploy an AWS CloudFormation stack which creates or modifies IAM roles, the `CAPABILITY_IAM` value for `capabilities` must be provided. If permission isn't provided through this prompt, to deploy this example you must explicitly pass `--capabilities CAPABILITY_IAM` to the `sam deploy` command. 50 | * **Save arguments to samconfig.toml**: If set to yes, your choices will be saved to a configuration file inside the project, so that in the future you can just re-run `sam deploy` without parameters to deploy changes to your application. 51 | 52 | You can find your API Gateway Endpoint URL in the output values displayed after deployment. 53 | 54 | ## Use the SAM CLI to build and test locally 55 | 56 | Build your application with the `sam build --use-container` command. 57 | 58 | ```bash 59 | backend$ sam build --use-container 60 | ``` 61 | 62 | The SAM CLI installs dependencies defined in `chat_api/requirements.txt`, creates a deployment package, and saves it in the `.aws-sam/build` folder. 63 | 64 | Test a single function by invoking it directly with a test event. An event is a JSON document that represents the input that the function receives from the event source. Test events are included in the `events` folder in this project. 65 | 66 | Run functions locally and invoke them with the `sam local invoke` command. 67 | 68 | ```bash 69 | backend$ sam local invoke HelloWorldFunction --event events/event.json 70 | ``` 71 | 72 | The SAM CLI can also emulate your application's API. Use the `sam local start-api` to run the API locally on port 3000. 73 | 74 | ```bash 75 | backend$ sam local start-api 76 | backend$ curl http://localhost:3000/ 77 | ``` 78 | 79 | The SAM CLI reads the application template to determine the API's routes and the functions that they invoke. The `Events` property on each function's definition includes the route and method for each path. 80 | 81 | ```yaml 82 | Events: 83 | HelloWorld: 84 | Type: Api 85 | Properties: 86 | Path: /hello 87 | Method: get 88 | ``` 89 | 90 | ## Add a resource to your application 91 | The application template uses AWS Serverless Application Model (AWS SAM) to define application resources. AWS SAM is an extension of AWS CloudFormation with a simpler syntax for configuring common serverless application resources such as functions, triggers, and APIs. For resources not included in [the SAM specification](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md), you can use standard [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) resource types. 92 | 93 | ## Fetch, tail, and filter Lambda function logs 94 | 95 | To simplify troubleshooting, SAM CLI has a command called `sam logs`. `sam logs` lets you fetch logs generated by your deployed Lambda function from the command line. In addition to printing the logs on the terminal, this command has several nifty features to help you quickly find the bug. 96 | 97 | `NOTE`: This command works for all AWS Lambda functions; not just the ones you deploy using SAM. 98 | 99 | ```bash 100 | backend$ sam logs -n HelloWorldFunction --stack-name backend --tail 101 | ``` 102 | 103 | You can find more information and examples about filtering Lambda function logs in the [SAM CLI Documentation](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-logging.html). 104 | 105 | ## Tests 106 | 107 | Tests are defined in the `tests` folder in this project. Use PIP to install the test dependencies and run tests. 108 | 109 | ```bash 110 | backend$ pip install -r tests/requirements.txt --user 111 | # unit test 112 | backend$ python -m pytest tests/unit -v 113 | # integration test, requiring deploying the stack first. 114 | # Create the env variable AWS_SAM_STACK_NAME with the name of the stack we are testing 115 | backend$ AWS_SAM_STACK_NAME= python -m pytest tests/integration -v 116 | ``` 117 | 118 | ## Cleanup 119 | 120 | To delete the sample application that you created, use the AWS CLI. Assuming you used your project name for the stack name, you can run the following: 121 | 122 | ```bash 123 | sam delete --stack-name backend 124 | ``` 125 | 126 | ## Resources 127 | 128 | See the [AWS SAM developer guide](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) for an introduction to SAM specification, the SAM CLI, and serverless application concepts. 129 | 130 | Next, you can use AWS Serverless Application Repository to deploy ready to use Apps that go beyond hello world samples and learn how authors developed their applications: [AWS Serverless Application Repository main page](https://aws.amazon.com/serverless/serverlessrepo/) 131 | -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@emotion/react": "^11.11.0", 9 | "@emotion/server": "^11.11.0", 10 | "@emotion/styled": "^11.11.0", 11 | "@fontsource/roboto": "^5.0.2", 12 | "@mui/icons-material": "^5.11.16", 13 | "@mui/material": "^5.13.3", 14 | "axios": "^1.4.0", 15 | "next": "latest", 16 | "papaparse": "^5.4.1", 17 | "react": "18.2.0", 18 | "react-dom": "18.2.0", 19 | "react-markdown": "^8.0.7" 20 | } 21 | }, 22 | "node_modules/@babel/code-frame": { 23 | "version": "7.21.4", 24 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", 25 | "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", 26 | "dependencies": { 27 | "@babel/highlight": "^7.18.6" 28 | }, 29 | "engines": { 30 | "node": ">=6.9.0" 31 | } 32 | }, 33 | "node_modules/@babel/helper-module-imports": { 34 | "version": "7.21.4", 35 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", 36 | "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", 37 | "dependencies": { 38 | "@babel/types": "^7.21.4" 39 | }, 40 | "engines": { 41 | "node": ">=6.9.0" 42 | } 43 | }, 44 | "node_modules/@babel/helper-string-parser": { 45 | "version": "7.21.5", 46 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", 47 | "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", 48 | "engines": { 49 | "node": ">=6.9.0" 50 | } 51 | }, 52 | "node_modules/@babel/helper-validator-identifier": { 53 | "version": "7.19.1", 54 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 55 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", 56 | "engines": { 57 | "node": ">=6.9.0" 58 | } 59 | }, 60 | "node_modules/@babel/highlight": { 61 | "version": "7.18.6", 62 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 63 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 64 | "dependencies": { 65 | "@babel/helper-validator-identifier": "^7.18.6", 66 | "chalk": "^2.0.0", 67 | "js-tokens": "^4.0.0" 68 | }, 69 | "engines": { 70 | "node": ">=6.9.0" 71 | } 72 | }, 73 | "node_modules/@babel/runtime": { 74 | "version": "7.22.3", 75 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", 76 | "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", 77 | "dependencies": { 78 | "regenerator-runtime": "^0.13.11" 79 | }, 80 | "engines": { 81 | "node": ">=6.9.0" 82 | } 83 | }, 84 | "node_modules/@babel/types": { 85 | "version": "7.22.4", 86 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", 87 | "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", 88 | "dependencies": { 89 | "@babel/helper-string-parser": "^7.21.5", 90 | "@babel/helper-validator-identifier": "^7.19.1", 91 | "to-fast-properties": "^2.0.0" 92 | }, 93 | "engines": { 94 | "node": ">=6.9.0" 95 | } 96 | }, 97 | "node_modules/@emotion/babel-plugin": { 98 | "version": "11.11.0", 99 | "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", 100 | "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", 101 | "dependencies": { 102 | "@babel/helper-module-imports": "^7.16.7", 103 | "@babel/runtime": "^7.18.3", 104 | "@emotion/hash": "^0.9.1", 105 | "@emotion/memoize": "^0.8.1", 106 | "@emotion/serialize": "^1.1.2", 107 | "babel-plugin-macros": "^3.1.0", 108 | "convert-source-map": "^1.5.0", 109 | "escape-string-regexp": "^4.0.0", 110 | "find-root": "^1.1.0", 111 | "source-map": "^0.5.7", 112 | "stylis": "4.2.0" 113 | } 114 | }, 115 | "node_modules/@emotion/cache": { 116 | "version": "11.11.0", 117 | "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", 118 | "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", 119 | "dependencies": { 120 | "@emotion/memoize": "^0.8.1", 121 | "@emotion/sheet": "^1.2.2", 122 | "@emotion/utils": "^1.2.1", 123 | "@emotion/weak-memoize": "^0.3.1", 124 | "stylis": "4.2.0" 125 | } 126 | }, 127 | "node_modules/@emotion/hash": { 128 | "version": "0.9.1", 129 | "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", 130 | "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" 131 | }, 132 | "node_modules/@emotion/is-prop-valid": { 133 | "version": "1.2.1", 134 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", 135 | "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", 136 | "dependencies": { 137 | "@emotion/memoize": "^0.8.1" 138 | } 139 | }, 140 | "node_modules/@emotion/memoize": { 141 | "version": "0.8.1", 142 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", 143 | "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" 144 | }, 145 | "node_modules/@emotion/react": { 146 | "version": "11.11.0", 147 | "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.0.tgz", 148 | "integrity": "sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==", 149 | "dependencies": { 150 | "@babel/runtime": "^7.18.3", 151 | "@emotion/babel-plugin": "^11.11.0", 152 | "@emotion/cache": "^11.11.0", 153 | "@emotion/serialize": "^1.1.2", 154 | "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", 155 | "@emotion/utils": "^1.2.1", 156 | "@emotion/weak-memoize": "^0.3.1", 157 | "hoist-non-react-statics": "^3.3.1" 158 | }, 159 | "peerDependencies": { 160 | "react": ">=16.8.0" 161 | }, 162 | "peerDependenciesMeta": { 163 | "@types/react": { 164 | "optional": true 165 | } 166 | } 167 | }, 168 | "node_modules/@emotion/serialize": { 169 | "version": "1.1.2", 170 | "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", 171 | "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", 172 | "dependencies": { 173 | "@emotion/hash": "^0.9.1", 174 | "@emotion/memoize": "^0.8.1", 175 | "@emotion/unitless": "^0.8.1", 176 | "@emotion/utils": "^1.2.1", 177 | "csstype": "^3.0.2" 178 | } 179 | }, 180 | "node_modules/@emotion/server": { 181 | "version": "11.11.0", 182 | "resolved": "https://registry.npmjs.org/@emotion/server/-/server-11.11.0.tgz", 183 | "integrity": "sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==", 184 | "dependencies": { 185 | "@emotion/utils": "^1.2.1", 186 | "html-tokenize": "^2.0.0", 187 | "multipipe": "^1.0.2", 188 | "through": "^2.3.8" 189 | }, 190 | "peerDependencies": { 191 | "@emotion/css": "^11.0.0-rc.0" 192 | }, 193 | "peerDependenciesMeta": { 194 | "@emotion/css": { 195 | "optional": true 196 | } 197 | } 198 | }, 199 | "node_modules/@emotion/sheet": { 200 | "version": "1.2.2", 201 | "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", 202 | "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" 203 | }, 204 | "node_modules/@emotion/styled": { 205 | "version": "11.11.0", 206 | "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", 207 | "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", 208 | "dependencies": { 209 | "@babel/runtime": "^7.18.3", 210 | "@emotion/babel-plugin": "^11.11.0", 211 | "@emotion/is-prop-valid": "^1.2.1", 212 | "@emotion/serialize": "^1.1.2", 213 | "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", 214 | "@emotion/utils": "^1.2.1" 215 | }, 216 | "peerDependencies": { 217 | "@emotion/react": "^11.0.0-rc.0", 218 | "react": ">=16.8.0" 219 | }, 220 | "peerDependenciesMeta": { 221 | "@types/react": { 222 | "optional": true 223 | } 224 | } 225 | }, 226 | "node_modules/@emotion/unitless": { 227 | "version": "0.8.1", 228 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", 229 | "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" 230 | }, 231 | "node_modules/@emotion/use-insertion-effect-with-fallbacks": { 232 | "version": "1.0.1", 233 | "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", 234 | "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", 235 | "peerDependencies": { 236 | "react": ">=16.8.0" 237 | } 238 | }, 239 | "node_modules/@emotion/utils": { 240 | "version": "1.2.1", 241 | "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", 242 | "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" 243 | }, 244 | "node_modules/@emotion/weak-memoize": { 245 | "version": "0.3.1", 246 | "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", 247 | "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" 248 | }, 249 | "node_modules/@fontsource/roboto": { 250 | "version": "5.0.2", 251 | "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-5.0.2.tgz", 252 | "integrity": "sha512-SLw0o3kWwJ53/Ogyk8GGwSaULNX6Hogs+GsVempDdqpX8wm5hKBLYgUkdUPk+NogiViPp1x++OnkuLA+fAd9Kg==" 253 | }, 254 | "node_modules/@mui/base": { 255 | "version": "5.0.0-beta.3", 256 | "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.3.tgz", 257 | "integrity": "sha512-ErOMoGNpgf6BF5W+jgXDiRlXJnpSeg8XSRonuY5UCCMHIlOWtKDtt/LS3qDAbFFGb7tV/y6EBddbcMeexx+zHw==", 258 | "dependencies": { 259 | "@babel/runtime": "^7.21.0", 260 | "@emotion/is-prop-valid": "^1.2.1", 261 | "@mui/types": "^7.2.4", 262 | "@mui/utils": "^5.13.1", 263 | "@popperjs/core": "^2.11.7", 264 | "clsx": "^1.2.1", 265 | "prop-types": "^15.8.1", 266 | "react-is": "^18.2.0" 267 | }, 268 | "engines": { 269 | "node": ">=12.0.0" 270 | }, 271 | "funding": { 272 | "type": "opencollective", 273 | "url": "https://opencollective.com/mui" 274 | }, 275 | "peerDependencies": { 276 | "@types/react": "^17.0.0 || ^18.0.0", 277 | "react": "^17.0.0 || ^18.0.0", 278 | "react-dom": "^17.0.0 || ^18.0.0" 279 | }, 280 | "peerDependenciesMeta": { 281 | "@types/react": { 282 | "optional": true 283 | } 284 | } 285 | }, 286 | "node_modules/@mui/core-downloads-tracker": { 287 | "version": "5.13.3", 288 | "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.13.3.tgz", 289 | "integrity": "sha512-w4//nRIi9fiMow/MmhkForOezd8nc229EpSZZ5DzwpJNOmAXwypFTapOUVAGTUQiTJyeZXUNbQqYuUIrIs2nbg==", 290 | "funding": { 291 | "type": "opencollective", 292 | "url": "https://opencollective.com/mui" 293 | } 294 | }, 295 | "node_modules/@mui/icons-material": { 296 | "version": "5.11.16", 297 | "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.16.tgz", 298 | "integrity": "sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==", 299 | "dependencies": { 300 | "@babel/runtime": "^7.21.0" 301 | }, 302 | "engines": { 303 | "node": ">=12.0.0" 304 | }, 305 | "funding": { 306 | "type": "opencollective", 307 | "url": "https://opencollective.com/mui" 308 | }, 309 | "peerDependencies": { 310 | "@mui/material": "^5.0.0", 311 | "@types/react": "^17.0.0 || ^18.0.0", 312 | "react": "^17.0.0 || ^18.0.0" 313 | }, 314 | "peerDependenciesMeta": { 315 | "@types/react": { 316 | "optional": true 317 | } 318 | } 319 | }, 320 | "node_modules/@mui/material": { 321 | "version": "5.13.3", 322 | "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.13.3.tgz", 323 | "integrity": "sha512-10pek+Bz+PZ4rjUf3KTKfXWjPMUqU1nSnRPf4DAXABhsjzelGGfGW/EICgrLRrttYplTJZhoponWALezAge8ug==", 324 | "dependencies": { 325 | "@babel/runtime": "^7.21.0", 326 | "@mui/base": "5.0.0-beta.3", 327 | "@mui/core-downloads-tracker": "^5.13.3", 328 | "@mui/system": "^5.13.2", 329 | "@mui/types": "^7.2.4", 330 | "@mui/utils": "^5.13.1", 331 | "@types/react-transition-group": "^4.4.6", 332 | "clsx": "^1.2.1", 333 | "csstype": "^3.1.2", 334 | "prop-types": "^15.8.1", 335 | "react-is": "^18.2.0", 336 | "react-transition-group": "^4.4.5" 337 | }, 338 | "engines": { 339 | "node": ">=12.0.0" 340 | }, 341 | "funding": { 342 | "type": "opencollective", 343 | "url": "https://opencollective.com/mui" 344 | }, 345 | "peerDependencies": { 346 | "@emotion/react": "^11.5.0", 347 | "@emotion/styled": "^11.3.0", 348 | "@types/react": "^17.0.0 || ^18.0.0", 349 | "react": "^17.0.0 || ^18.0.0", 350 | "react-dom": "^17.0.0 || ^18.0.0" 351 | }, 352 | "peerDependenciesMeta": { 353 | "@emotion/react": { 354 | "optional": true 355 | }, 356 | "@emotion/styled": { 357 | "optional": true 358 | }, 359 | "@types/react": { 360 | "optional": true 361 | } 362 | } 363 | }, 364 | "node_modules/@mui/private-theming": { 365 | "version": "5.13.1", 366 | "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.1.tgz", 367 | "integrity": "sha512-HW4npLUD9BAkVppOUZHeO1FOKUJWAwbpy0VQoGe3McUYTlck1HezGHQCfBQ5S/Nszi7EViqiimECVl9xi+/WjQ==", 368 | "dependencies": { 369 | "@babel/runtime": "^7.21.0", 370 | "@mui/utils": "^5.13.1", 371 | "prop-types": "^15.8.1" 372 | }, 373 | "engines": { 374 | "node": ">=12.0.0" 375 | }, 376 | "funding": { 377 | "type": "opencollective", 378 | "url": "https://opencollective.com/mui" 379 | }, 380 | "peerDependencies": { 381 | "@types/react": "^17.0.0 || ^18.0.0", 382 | "react": "^17.0.0 || ^18.0.0" 383 | }, 384 | "peerDependenciesMeta": { 385 | "@types/react": { 386 | "optional": true 387 | } 388 | } 389 | }, 390 | "node_modules/@mui/styled-engine": { 391 | "version": "5.13.2", 392 | "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", 393 | "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", 394 | "dependencies": { 395 | "@babel/runtime": "^7.21.0", 396 | "@emotion/cache": "^11.11.0", 397 | "csstype": "^3.1.2", 398 | "prop-types": "^15.8.1" 399 | }, 400 | "engines": { 401 | "node": ">=12.0.0" 402 | }, 403 | "funding": { 404 | "type": "opencollective", 405 | "url": "https://opencollective.com/mui" 406 | }, 407 | "peerDependencies": { 408 | "@emotion/react": "^11.4.1", 409 | "@emotion/styled": "^11.3.0", 410 | "react": "^17.0.0 || ^18.0.0" 411 | }, 412 | "peerDependenciesMeta": { 413 | "@emotion/react": { 414 | "optional": true 415 | }, 416 | "@emotion/styled": { 417 | "optional": true 418 | } 419 | } 420 | }, 421 | "node_modules/@mui/system": { 422 | "version": "5.13.2", 423 | "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.13.2.tgz", 424 | "integrity": "sha512-TPyWmRJPt0JPVxacZISI4o070xEJ7ftxpVtu6LWuYVOUOINlhoGOclam4iV8PDT3EMQEHuUrwU49po34UdWLlw==", 425 | "dependencies": { 426 | "@babel/runtime": "^7.21.0", 427 | "@mui/private-theming": "^5.13.1", 428 | "@mui/styled-engine": "^5.13.2", 429 | "@mui/types": "^7.2.4", 430 | "@mui/utils": "^5.13.1", 431 | "clsx": "^1.2.1", 432 | "csstype": "^3.1.2", 433 | "prop-types": "^15.8.1" 434 | }, 435 | "engines": { 436 | "node": ">=12.0.0" 437 | }, 438 | "funding": { 439 | "type": "opencollective", 440 | "url": "https://opencollective.com/mui" 441 | }, 442 | "peerDependencies": { 443 | "@emotion/react": "^11.5.0", 444 | "@emotion/styled": "^11.3.0", 445 | "@types/react": "^17.0.0 || ^18.0.0", 446 | "react": "^17.0.0 || ^18.0.0" 447 | }, 448 | "peerDependenciesMeta": { 449 | "@emotion/react": { 450 | "optional": true 451 | }, 452 | "@emotion/styled": { 453 | "optional": true 454 | }, 455 | "@types/react": { 456 | "optional": true 457 | } 458 | } 459 | }, 460 | "node_modules/@mui/types": { 461 | "version": "7.2.4", 462 | "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", 463 | "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", 464 | "peerDependencies": { 465 | "@types/react": "*" 466 | }, 467 | "peerDependenciesMeta": { 468 | "@types/react": { 469 | "optional": true 470 | } 471 | } 472 | }, 473 | "node_modules/@mui/utils": { 474 | "version": "5.13.1", 475 | "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.13.1.tgz", 476 | "integrity": "sha512-6lXdWwmlUbEU2jUI8blw38Kt+3ly7xkmV9ljzY4Q20WhsJMWiNry9CX8M+TaP/HbtuyR8XKsdMgQW7h7MM3n3A==", 477 | "dependencies": { 478 | "@babel/runtime": "^7.21.0", 479 | "@types/prop-types": "^15.7.5", 480 | "@types/react-is": "^18.2.0", 481 | "prop-types": "^15.8.1", 482 | "react-is": "^18.2.0" 483 | }, 484 | "engines": { 485 | "node": ">=12.0.0" 486 | }, 487 | "funding": { 488 | "type": "opencollective", 489 | "url": "https://opencollective.com/mui" 490 | }, 491 | "peerDependencies": { 492 | "react": "^17.0.0 || ^18.0.0" 493 | } 494 | }, 495 | "node_modules/@next/env": { 496 | "version": "13.4.4", 497 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.4.tgz", 498 | "integrity": "sha512-q/y7VZj/9YpgzDe64Zi6rY1xPizx80JjlU2BTevlajtaE3w1LqweH1gGgxou2N7hdFosXHjGrI4OUvtFXXhGLg==" 499 | }, 500 | "node_modules/@next/swc-darwin-arm64": { 501 | "version": "13.4.4", 502 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.4.tgz", 503 | "integrity": "sha512-xfjgXvp4KalNUKZMHmsFxr1Ug+aGmmO6NWP0uoh4G3WFqP/mJ1xxfww0gMOeMeSq/Jyr5k7DvoZ2Pv+XOITTtw==", 504 | "cpu": [ 505 | "arm64" 506 | ], 507 | "optional": true, 508 | "os": [ 509 | "darwin" 510 | ], 511 | "engines": { 512 | "node": ">= 10" 513 | } 514 | }, 515 | "node_modules/@next/swc-darwin-x64": { 516 | "version": "13.4.4", 517 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.4.tgz", 518 | "integrity": "sha512-ZY9Ti1hkIwJsxGus3nlubIkvYyB0gNOYxKrfsOrLEqD0I2iCX8D7w8v6QQZ2H+dDl6UT29oeEUdDUNGk4UEpfg==", 519 | "cpu": [ 520 | "x64" 521 | ], 522 | "optional": true, 523 | "os": [ 524 | "darwin" 525 | ], 526 | "engines": { 527 | "node": ">= 10" 528 | } 529 | }, 530 | "node_modules/@next/swc-linux-arm64-gnu": { 531 | "version": "13.4.4", 532 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.4.tgz", 533 | "integrity": "sha512-+KZnDeMShYkpkqAvGCEDeqYTRADJXc6SY1jWXz+Uo6qWQO/Jd9CoyhTJwRSxvQA16MoYzvILkGaDqirkRNctyA==", 534 | "cpu": [ 535 | "arm64" 536 | ], 537 | "optional": true, 538 | "os": [ 539 | "linux" 540 | ], 541 | "engines": { 542 | "node": ">= 10" 543 | } 544 | }, 545 | "node_modules/@next/swc-linux-arm64-musl": { 546 | "version": "13.4.4", 547 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.4.tgz", 548 | "integrity": "sha512-evC1twrny2XDT4uOftoubZvW3EG0zs0ZxMwEtu/dDGVRO5n5pT48S8qqEIBGBUZYu/Xx4zzpOkIxx1vpWdE+9A==", 549 | "cpu": [ 550 | "arm64" 551 | ], 552 | "optional": true, 553 | "os": [ 554 | "linux" 555 | ], 556 | "engines": { 557 | "node": ">= 10" 558 | } 559 | }, 560 | "node_modules/@next/swc-linux-x64-gnu": { 561 | "version": "13.4.4", 562 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.4.tgz", 563 | "integrity": "sha512-PX706XcCHr2FfkyhP2lpf+pX/tUvq6/ke7JYnnr0ykNdEMo+sb7cC/o91gnURh4sPYSiZJhsF2gbIqg9rciOHQ==", 564 | "cpu": [ 565 | "x64" 566 | ], 567 | "optional": true, 568 | "os": [ 569 | "linux" 570 | ], 571 | "engines": { 572 | "node": ">= 10" 573 | } 574 | }, 575 | "node_modules/@next/swc-linux-x64-musl": { 576 | "version": "13.4.4", 577 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.4.tgz", 578 | "integrity": "sha512-TKUUx3Ftd95JlHV6XagEnqpT204Y+IsEa3awaYIjayn0MOGjgKZMZibqarK3B1FsMSPaieJf2FEAcu9z0yT5aA==", 579 | "cpu": [ 580 | "x64" 581 | ], 582 | "optional": true, 583 | "os": [ 584 | "linux" 585 | ], 586 | "engines": { 587 | "node": ">= 10" 588 | } 589 | }, 590 | "node_modules/@next/swc-win32-arm64-msvc": { 591 | "version": "13.4.4", 592 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.4.tgz", 593 | "integrity": "sha512-FP8AadgSq4+HPtim7WBkCMGbhr5vh9FePXiWx9+YOdjwdQocwoCK5ZVC3OW8oh3TWth6iJ0AXJ/yQ1q1cwSZ3A==", 594 | "cpu": [ 595 | "arm64" 596 | ], 597 | "optional": true, 598 | "os": [ 599 | "win32" 600 | ], 601 | "engines": { 602 | "node": ">= 10" 603 | } 604 | }, 605 | "node_modules/@next/swc-win32-ia32-msvc": { 606 | "version": "13.4.4", 607 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.4.tgz", 608 | "integrity": "sha512-3WekVmtuA2MCdcAOrgrI+PuFiFURtSyyrN1I3UPtS0ckR2HtLqyqmS334Eulf15g1/bdwMteePdK363X/Y9JMg==", 609 | "cpu": [ 610 | "ia32" 611 | ], 612 | "optional": true, 613 | "os": [ 614 | "win32" 615 | ], 616 | "engines": { 617 | "node": ">= 10" 618 | } 619 | }, 620 | "node_modules/@next/swc-win32-x64-msvc": { 621 | "version": "13.4.4", 622 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.4.tgz", 623 | "integrity": "sha512-AHRITu/CrlQ+qzoqQtEMfaTu7GHaQ6bziQln/pVWpOYC1wU+Mq6VQQFlsDtMCnDztPZtppAXdvvbNS7pcfRzlw==", 624 | "cpu": [ 625 | "x64" 626 | ], 627 | "optional": true, 628 | "os": [ 629 | "win32" 630 | ], 631 | "engines": { 632 | "node": ">= 10" 633 | } 634 | }, 635 | "node_modules/@popperjs/core": { 636 | "version": "2.11.8", 637 | "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", 638 | "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", 639 | "funding": { 640 | "type": "opencollective", 641 | "url": "https://opencollective.com/popperjs" 642 | } 643 | }, 644 | "node_modules/@swc/helpers": { 645 | "version": "0.5.1", 646 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", 647 | "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", 648 | "dependencies": { 649 | "tslib": "^2.4.0" 650 | } 651 | }, 652 | "node_modules/@types/debug": { 653 | "version": "4.1.8", 654 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", 655 | "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", 656 | "dependencies": { 657 | "@types/ms": "*" 658 | } 659 | }, 660 | "node_modules/@types/hast": { 661 | "version": "2.3.4", 662 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", 663 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", 664 | "dependencies": { 665 | "@types/unist": "*" 666 | } 667 | }, 668 | "node_modules/@types/mdast": { 669 | "version": "3.0.11", 670 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", 671 | "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", 672 | "dependencies": { 673 | "@types/unist": "*" 674 | } 675 | }, 676 | "node_modules/@types/ms": { 677 | "version": "0.7.31", 678 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 679 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 680 | }, 681 | "node_modules/@types/parse-json": { 682 | "version": "4.0.0", 683 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 684 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" 685 | }, 686 | "node_modules/@types/prop-types": { 687 | "version": "15.7.5", 688 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 689 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" 690 | }, 691 | "node_modules/@types/react": { 692 | "version": "18.2.8", 693 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.8.tgz", 694 | "integrity": "sha512-lTyWUNrd8ntVkqycEEplasWy2OxNlShj3zqS0LuB1ENUGis5HodmhM7DtCoUGbxj3VW/WsGA0DUhpG6XrM7gPA==", 695 | "dependencies": { 696 | "@types/prop-types": "*", 697 | "@types/scheduler": "*", 698 | "csstype": "^3.0.2" 699 | } 700 | }, 701 | "node_modules/@types/react-is": { 702 | "version": "18.2.0", 703 | "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.0.tgz", 704 | "integrity": "sha512-1vz2yObaQkLL7YFe/pme2cpvDsCwI1WXIfL+5eLz0MI9gFG24Re16RzUsI8t9XZn9ZWvgLNDrJBmrqXJO7GNQQ==", 705 | "dependencies": { 706 | "@types/react": "*" 707 | } 708 | }, 709 | "node_modules/@types/react-transition-group": { 710 | "version": "4.4.6", 711 | "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", 712 | "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", 713 | "dependencies": { 714 | "@types/react": "*" 715 | } 716 | }, 717 | "node_modules/@types/scheduler": { 718 | "version": "0.16.3", 719 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 720 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" 721 | }, 722 | "node_modules/@types/unist": { 723 | "version": "2.0.6", 724 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", 725 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" 726 | }, 727 | "node_modules/ansi-styles": { 728 | "version": "3.2.1", 729 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 730 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 731 | "dependencies": { 732 | "color-convert": "^1.9.0" 733 | }, 734 | "engines": { 735 | "node": ">=4" 736 | } 737 | }, 738 | "node_modules/asynckit": { 739 | "version": "0.4.0", 740 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 741 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 742 | }, 743 | "node_modules/axios": { 744 | "version": "1.4.0", 745 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", 746 | "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", 747 | "dependencies": { 748 | "follow-redirects": "^1.15.0", 749 | "form-data": "^4.0.0", 750 | "proxy-from-env": "^1.1.0" 751 | } 752 | }, 753 | "node_modules/babel-plugin-macros": { 754 | "version": "3.1.0", 755 | "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", 756 | "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", 757 | "dependencies": { 758 | "@babel/runtime": "^7.12.5", 759 | "cosmiconfig": "^7.0.0", 760 | "resolve": "^1.19.0" 761 | }, 762 | "engines": { 763 | "node": ">=10", 764 | "npm": ">=6" 765 | } 766 | }, 767 | "node_modules/bail": { 768 | "version": "2.0.2", 769 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", 770 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", 771 | "funding": { 772 | "type": "github", 773 | "url": "https://github.com/sponsors/wooorm" 774 | } 775 | }, 776 | "node_modules/buffer-from": { 777 | "version": "0.1.2", 778 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", 779 | "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==" 780 | }, 781 | "node_modules/busboy": { 782 | "version": "1.6.0", 783 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 784 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 785 | "dependencies": { 786 | "streamsearch": "^1.1.0" 787 | }, 788 | "engines": { 789 | "node": ">=10.16.0" 790 | } 791 | }, 792 | "node_modules/callsites": { 793 | "version": "3.1.0", 794 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 795 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 796 | "engines": { 797 | "node": ">=6" 798 | } 799 | }, 800 | "node_modules/caniuse-lite": { 801 | "version": "1.0.30001492", 802 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", 803 | "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", 804 | "funding": [ 805 | { 806 | "type": "opencollective", 807 | "url": "https://opencollective.com/browserslist" 808 | }, 809 | { 810 | "type": "tidelift", 811 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 812 | }, 813 | { 814 | "type": "github", 815 | "url": "https://github.com/sponsors/ai" 816 | } 817 | ] 818 | }, 819 | "node_modules/chalk": { 820 | "version": "2.4.2", 821 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 822 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 823 | "dependencies": { 824 | "ansi-styles": "^3.2.1", 825 | "escape-string-regexp": "^1.0.5", 826 | "supports-color": "^5.3.0" 827 | }, 828 | "engines": { 829 | "node": ">=4" 830 | } 831 | }, 832 | "node_modules/chalk/node_modules/escape-string-regexp": { 833 | "version": "1.0.5", 834 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 835 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 836 | "engines": { 837 | "node": ">=0.8.0" 838 | } 839 | }, 840 | "node_modules/character-entities": { 841 | "version": "2.0.2", 842 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", 843 | "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", 844 | "funding": { 845 | "type": "github", 846 | "url": "https://github.com/sponsors/wooorm" 847 | } 848 | }, 849 | "node_modules/client-only": { 850 | "version": "0.0.1", 851 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 852 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 853 | }, 854 | "node_modules/clsx": { 855 | "version": "1.2.1", 856 | "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", 857 | "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", 858 | "engines": { 859 | "node": ">=6" 860 | } 861 | }, 862 | "node_modules/color-convert": { 863 | "version": "1.9.3", 864 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 865 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 866 | "dependencies": { 867 | "color-name": "1.1.3" 868 | } 869 | }, 870 | "node_modules/color-name": { 871 | "version": "1.1.3", 872 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 873 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 874 | }, 875 | "node_modules/combined-stream": { 876 | "version": "1.0.8", 877 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 878 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 879 | "dependencies": { 880 | "delayed-stream": "~1.0.0" 881 | }, 882 | "engines": { 883 | "node": ">= 0.8" 884 | } 885 | }, 886 | "node_modules/comma-separated-tokens": { 887 | "version": "2.0.3", 888 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", 889 | "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", 890 | "funding": { 891 | "type": "github", 892 | "url": "https://github.com/sponsors/wooorm" 893 | } 894 | }, 895 | "node_modules/convert-source-map": { 896 | "version": "1.9.0", 897 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 898 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" 899 | }, 900 | "node_modules/core-util-is": { 901 | "version": "1.0.3", 902 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 903 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 904 | }, 905 | "node_modules/cosmiconfig": { 906 | "version": "7.1.0", 907 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", 908 | "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", 909 | "dependencies": { 910 | "@types/parse-json": "^4.0.0", 911 | "import-fresh": "^3.2.1", 912 | "parse-json": "^5.0.0", 913 | "path-type": "^4.0.0", 914 | "yaml": "^1.10.0" 915 | }, 916 | "engines": { 917 | "node": ">=10" 918 | } 919 | }, 920 | "node_modules/csstype": { 921 | "version": "3.1.2", 922 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 923 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 924 | }, 925 | "node_modules/debug": { 926 | "version": "4.3.4", 927 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 928 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 929 | "dependencies": { 930 | "ms": "2.1.2" 931 | }, 932 | "engines": { 933 | "node": ">=6.0" 934 | }, 935 | "peerDependenciesMeta": { 936 | "supports-color": { 937 | "optional": true 938 | } 939 | } 940 | }, 941 | "node_modules/decode-named-character-reference": { 942 | "version": "1.0.2", 943 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", 944 | "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", 945 | "dependencies": { 946 | "character-entities": "^2.0.0" 947 | }, 948 | "funding": { 949 | "type": "github", 950 | "url": "https://github.com/sponsors/wooorm" 951 | } 952 | }, 953 | "node_modules/delayed-stream": { 954 | "version": "1.0.0", 955 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 956 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 957 | "engines": { 958 | "node": ">=0.4.0" 959 | } 960 | }, 961 | "node_modules/dequal": { 962 | "version": "2.0.3", 963 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 964 | "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 965 | "engines": { 966 | "node": ">=6" 967 | } 968 | }, 969 | "node_modules/diff": { 970 | "version": "5.1.0", 971 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", 972 | "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", 973 | "engines": { 974 | "node": ">=0.3.1" 975 | } 976 | }, 977 | "node_modules/dom-helpers": { 978 | "version": "5.2.1", 979 | "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", 980 | "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", 981 | "dependencies": { 982 | "@babel/runtime": "^7.8.7", 983 | "csstype": "^3.0.2" 984 | } 985 | }, 986 | "node_modules/duplexer2": { 987 | "version": "0.1.4", 988 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 989 | "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", 990 | "dependencies": { 991 | "readable-stream": "^2.0.2" 992 | } 993 | }, 994 | "node_modules/duplexer2/node_modules/isarray": { 995 | "version": "1.0.0", 996 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 997 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" 998 | }, 999 | "node_modules/duplexer2/node_modules/readable-stream": { 1000 | "version": "2.3.8", 1001 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 1002 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 1003 | "dependencies": { 1004 | "core-util-is": "~1.0.0", 1005 | "inherits": "~2.0.3", 1006 | "isarray": "~1.0.0", 1007 | "process-nextick-args": "~2.0.0", 1008 | "safe-buffer": "~5.1.1", 1009 | "string_decoder": "~1.1.1", 1010 | "util-deprecate": "~1.0.1" 1011 | } 1012 | }, 1013 | "node_modules/duplexer2/node_modules/string_decoder": { 1014 | "version": "1.1.1", 1015 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1016 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1017 | "dependencies": { 1018 | "safe-buffer": "~5.1.0" 1019 | } 1020 | }, 1021 | "node_modules/error-ex": { 1022 | "version": "1.3.2", 1023 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1024 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1025 | "dependencies": { 1026 | "is-arrayish": "^0.2.1" 1027 | } 1028 | }, 1029 | "node_modules/escape-string-regexp": { 1030 | "version": "4.0.0", 1031 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1032 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1033 | "engines": { 1034 | "node": ">=10" 1035 | }, 1036 | "funding": { 1037 | "url": "https://github.com/sponsors/sindresorhus" 1038 | } 1039 | }, 1040 | "node_modules/extend": { 1041 | "version": "3.0.2", 1042 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1043 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 1044 | }, 1045 | "node_modules/find-root": { 1046 | "version": "1.1.0", 1047 | "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", 1048 | "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" 1049 | }, 1050 | "node_modules/follow-redirects": { 1051 | "version": "1.15.2", 1052 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 1053 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", 1054 | "funding": [ 1055 | { 1056 | "type": "individual", 1057 | "url": "https://github.com/sponsors/RubenVerborgh" 1058 | } 1059 | ], 1060 | "engines": { 1061 | "node": ">=4.0" 1062 | }, 1063 | "peerDependenciesMeta": { 1064 | "debug": { 1065 | "optional": true 1066 | } 1067 | } 1068 | }, 1069 | "node_modules/form-data": { 1070 | "version": "4.0.0", 1071 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1072 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 1073 | "dependencies": { 1074 | "asynckit": "^0.4.0", 1075 | "combined-stream": "^1.0.8", 1076 | "mime-types": "^2.1.12" 1077 | }, 1078 | "engines": { 1079 | "node": ">= 6" 1080 | } 1081 | }, 1082 | "node_modules/function-bind": { 1083 | "version": "1.1.1", 1084 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1085 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1086 | }, 1087 | "node_modules/has": { 1088 | "version": "1.0.3", 1089 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1090 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1091 | "dependencies": { 1092 | "function-bind": "^1.1.1" 1093 | }, 1094 | "engines": { 1095 | "node": ">= 0.4.0" 1096 | } 1097 | }, 1098 | "node_modules/has-flag": { 1099 | "version": "3.0.0", 1100 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1101 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1102 | "engines": { 1103 | "node": ">=4" 1104 | } 1105 | }, 1106 | "node_modules/hast-util-whitespace": { 1107 | "version": "2.0.1", 1108 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", 1109 | "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", 1110 | "funding": { 1111 | "type": "opencollective", 1112 | "url": "https://opencollective.com/unified" 1113 | } 1114 | }, 1115 | "node_modules/hoist-non-react-statics": { 1116 | "version": "3.3.2", 1117 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", 1118 | "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", 1119 | "dependencies": { 1120 | "react-is": "^16.7.0" 1121 | } 1122 | }, 1123 | "node_modules/hoist-non-react-statics/node_modules/react-is": { 1124 | "version": "16.13.1", 1125 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 1126 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 1127 | }, 1128 | "node_modules/html-tokenize": { 1129 | "version": "2.0.1", 1130 | "resolved": "https://registry.npmjs.org/html-tokenize/-/html-tokenize-2.0.1.tgz", 1131 | "integrity": "sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==", 1132 | "dependencies": { 1133 | "buffer-from": "~0.1.1", 1134 | "inherits": "~2.0.1", 1135 | "minimist": "~1.2.5", 1136 | "readable-stream": "~1.0.27-1", 1137 | "through2": "~0.4.1" 1138 | }, 1139 | "bin": { 1140 | "html-tokenize": "bin/cmd.js" 1141 | } 1142 | }, 1143 | "node_modules/import-fresh": { 1144 | "version": "3.3.0", 1145 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1146 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1147 | "dependencies": { 1148 | "parent-module": "^1.0.0", 1149 | "resolve-from": "^4.0.0" 1150 | }, 1151 | "engines": { 1152 | "node": ">=6" 1153 | }, 1154 | "funding": { 1155 | "url": "https://github.com/sponsors/sindresorhus" 1156 | } 1157 | }, 1158 | "node_modules/inherits": { 1159 | "version": "2.0.4", 1160 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1161 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1162 | }, 1163 | "node_modules/inline-style-parser": { 1164 | "version": "0.1.1", 1165 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", 1166 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" 1167 | }, 1168 | "node_modules/is-arrayish": { 1169 | "version": "0.2.1", 1170 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1171 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" 1172 | }, 1173 | "node_modules/is-buffer": { 1174 | "version": "2.0.5", 1175 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", 1176 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", 1177 | "funding": [ 1178 | { 1179 | "type": "github", 1180 | "url": "https://github.com/sponsors/feross" 1181 | }, 1182 | { 1183 | "type": "patreon", 1184 | "url": "https://www.patreon.com/feross" 1185 | }, 1186 | { 1187 | "type": "consulting", 1188 | "url": "https://feross.org/support" 1189 | } 1190 | ], 1191 | "engines": { 1192 | "node": ">=4" 1193 | } 1194 | }, 1195 | "node_modules/is-core-module": { 1196 | "version": "2.12.1", 1197 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", 1198 | "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", 1199 | "dependencies": { 1200 | "has": "^1.0.3" 1201 | }, 1202 | "funding": { 1203 | "url": "https://github.com/sponsors/ljharb" 1204 | } 1205 | }, 1206 | "node_modules/is-plain-obj": { 1207 | "version": "4.1.0", 1208 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", 1209 | "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", 1210 | "engines": { 1211 | "node": ">=12" 1212 | }, 1213 | "funding": { 1214 | "url": "https://github.com/sponsors/sindresorhus" 1215 | } 1216 | }, 1217 | "node_modules/isarray": { 1218 | "version": "0.0.1", 1219 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1220 | "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" 1221 | }, 1222 | "node_modules/js-tokens": { 1223 | "version": "4.0.0", 1224 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1225 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1226 | }, 1227 | "node_modules/json-parse-even-better-errors": { 1228 | "version": "2.3.1", 1229 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 1230 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 1231 | }, 1232 | "node_modules/kleur": { 1233 | "version": "4.1.5", 1234 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 1235 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 1236 | "engines": { 1237 | "node": ">=6" 1238 | } 1239 | }, 1240 | "node_modules/lines-and-columns": { 1241 | "version": "1.2.4", 1242 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1243 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 1244 | }, 1245 | "node_modules/loose-envify": { 1246 | "version": "1.4.0", 1247 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1248 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1249 | "dependencies": { 1250 | "js-tokens": "^3.0.0 || ^4.0.0" 1251 | }, 1252 | "bin": { 1253 | "loose-envify": "cli.js" 1254 | } 1255 | }, 1256 | "node_modules/mdast-util-definitions": { 1257 | "version": "5.1.2", 1258 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", 1259 | "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", 1260 | "dependencies": { 1261 | "@types/mdast": "^3.0.0", 1262 | "@types/unist": "^2.0.0", 1263 | "unist-util-visit": "^4.0.0" 1264 | }, 1265 | "funding": { 1266 | "type": "opencollective", 1267 | "url": "https://opencollective.com/unified" 1268 | } 1269 | }, 1270 | "node_modules/mdast-util-from-markdown": { 1271 | "version": "1.3.1", 1272 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", 1273 | "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", 1274 | "dependencies": { 1275 | "@types/mdast": "^3.0.0", 1276 | "@types/unist": "^2.0.0", 1277 | "decode-named-character-reference": "^1.0.0", 1278 | "mdast-util-to-string": "^3.1.0", 1279 | "micromark": "^3.0.0", 1280 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1281 | "micromark-util-decode-string": "^1.0.0", 1282 | "micromark-util-normalize-identifier": "^1.0.0", 1283 | "micromark-util-symbol": "^1.0.0", 1284 | "micromark-util-types": "^1.0.0", 1285 | "unist-util-stringify-position": "^3.0.0", 1286 | "uvu": "^0.5.0" 1287 | }, 1288 | "funding": { 1289 | "type": "opencollective", 1290 | "url": "https://opencollective.com/unified" 1291 | } 1292 | }, 1293 | "node_modules/mdast-util-to-hast": { 1294 | "version": "12.3.0", 1295 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", 1296 | "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", 1297 | "dependencies": { 1298 | "@types/hast": "^2.0.0", 1299 | "@types/mdast": "^3.0.0", 1300 | "mdast-util-definitions": "^5.0.0", 1301 | "micromark-util-sanitize-uri": "^1.1.0", 1302 | "trim-lines": "^3.0.0", 1303 | "unist-util-generated": "^2.0.0", 1304 | "unist-util-position": "^4.0.0", 1305 | "unist-util-visit": "^4.0.0" 1306 | }, 1307 | "funding": { 1308 | "type": "opencollective", 1309 | "url": "https://opencollective.com/unified" 1310 | } 1311 | }, 1312 | "node_modules/mdast-util-to-string": { 1313 | "version": "3.2.0", 1314 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", 1315 | "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", 1316 | "dependencies": { 1317 | "@types/mdast": "^3.0.0" 1318 | }, 1319 | "funding": { 1320 | "type": "opencollective", 1321 | "url": "https://opencollective.com/unified" 1322 | } 1323 | }, 1324 | "node_modules/micromark": { 1325 | "version": "3.2.0", 1326 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", 1327 | "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", 1328 | "funding": [ 1329 | { 1330 | "type": "GitHub Sponsors", 1331 | "url": "https://github.com/sponsors/unifiedjs" 1332 | }, 1333 | { 1334 | "type": "OpenCollective", 1335 | "url": "https://opencollective.com/unified" 1336 | } 1337 | ], 1338 | "dependencies": { 1339 | "@types/debug": "^4.0.0", 1340 | "debug": "^4.0.0", 1341 | "decode-named-character-reference": "^1.0.0", 1342 | "micromark-core-commonmark": "^1.0.1", 1343 | "micromark-factory-space": "^1.0.0", 1344 | "micromark-util-character": "^1.0.0", 1345 | "micromark-util-chunked": "^1.0.0", 1346 | "micromark-util-combine-extensions": "^1.0.0", 1347 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1348 | "micromark-util-encode": "^1.0.0", 1349 | "micromark-util-normalize-identifier": "^1.0.0", 1350 | "micromark-util-resolve-all": "^1.0.0", 1351 | "micromark-util-sanitize-uri": "^1.0.0", 1352 | "micromark-util-subtokenize": "^1.0.0", 1353 | "micromark-util-symbol": "^1.0.0", 1354 | "micromark-util-types": "^1.0.1", 1355 | "uvu": "^0.5.0" 1356 | } 1357 | }, 1358 | "node_modules/micromark-core-commonmark": { 1359 | "version": "1.1.0", 1360 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", 1361 | "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", 1362 | "funding": [ 1363 | { 1364 | "type": "GitHub Sponsors", 1365 | "url": "https://github.com/sponsors/unifiedjs" 1366 | }, 1367 | { 1368 | "type": "OpenCollective", 1369 | "url": "https://opencollective.com/unified" 1370 | } 1371 | ], 1372 | "dependencies": { 1373 | "decode-named-character-reference": "^1.0.0", 1374 | "micromark-factory-destination": "^1.0.0", 1375 | "micromark-factory-label": "^1.0.0", 1376 | "micromark-factory-space": "^1.0.0", 1377 | "micromark-factory-title": "^1.0.0", 1378 | "micromark-factory-whitespace": "^1.0.0", 1379 | "micromark-util-character": "^1.0.0", 1380 | "micromark-util-chunked": "^1.0.0", 1381 | "micromark-util-classify-character": "^1.0.0", 1382 | "micromark-util-html-tag-name": "^1.0.0", 1383 | "micromark-util-normalize-identifier": "^1.0.0", 1384 | "micromark-util-resolve-all": "^1.0.0", 1385 | "micromark-util-subtokenize": "^1.0.0", 1386 | "micromark-util-symbol": "^1.0.0", 1387 | "micromark-util-types": "^1.0.1", 1388 | "uvu": "^0.5.0" 1389 | } 1390 | }, 1391 | "node_modules/micromark-factory-destination": { 1392 | "version": "1.1.0", 1393 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", 1394 | "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", 1395 | "funding": [ 1396 | { 1397 | "type": "GitHub Sponsors", 1398 | "url": "https://github.com/sponsors/unifiedjs" 1399 | }, 1400 | { 1401 | "type": "OpenCollective", 1402 | "url": "https://opencollective.com/unified" 1403 | } 1404 | ], 1405 | "dependencies": { 1406 | "micromark-util-character": "^1.0.0", 1407 | "micromark-util-symbol": "^1.0.0", 1408 | "micromark-util-types": "^1.0.0" 1409 | } 1410 | }, 1411 | "node_modules/micromark-factory-label": { 1412 | "version": "1.1.0", 1413 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", 1414 | "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", 1415 | "funding": [ 1416 | { 1417 | "type": "GitHub Sponsors", 1418 | "url": "https://github.com/sponsors/unifiedjs" 1419 | }, 1420 | { 1421 | "type": "OpenCollective", 1422 | "url": "https://opencollective.com/unified" 1423 | } 1424 | ], 1425 | "dependencies": { 1426 | "micromark-util-character": "^1.0.0", 1427 | "micromark-util-symbol": "^1.0.0", 1428 | "micromark-util-types": "^1.0.0", 1429 | "uvu": "^0.5.0" 1430 | } 1431 | }, 1432 | "node_modules/micromark-factory-space": { 1433 | "version": "1.1.0", 1434 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", 1435 | "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", 1436 | "funding": [ 1437 | { 1438 | "type": "GitHub Sponsors", 1439 | "url": "https://github.com/sponsors/unifiedjs" 1440 | }, 1441 | { 1442 | "type": "OpenCollective", 1443 | "url": "https://opencollective.com/unified" 1444 | } 1445 | ], 1446 | "dependencies": { 1447 | "micromark-util-character": "^1.0.0", 1448 | "micromark-util-types": "^1.0.0" 1449 | } 1450 | }, 1451 | "node_modules/micromark-factory-title": { 1452 | "version": "1.1.0", 1453 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", 1454 | "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", 1455 | "funding": [ 1456 | { 1457 | "type": "GitHub Sponsors", 1458 | "url": "https://github.com/sponsors/unifiedjs" 1459 | }, 1460 | { 1461 | "type": "OpenCollective", 1462 | "url": "https://opencollective.com/unified" 1463 | } 1464 | ], 1465 | "dependencies": { 1466 | "micromark-factory-space": "^1.0.0", 1467 | "micromark-util-character": "^1.0.0", 1468 | "micromark-util-symbol": "^1.0.0", 1469 | "micromark-util-types": "^1.0.0" 1470 | } 1471 | }, 1472 | "node_modules/micromark-factory-whitespace": { 1473 | "version": "1.1.0", 1474 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", 1475 | "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", 1476 | "funding": [ 1477 | { 1478 | "type": "GitHub Sponsors", 1479 | "url": "https://github.com/sponsors/unifiedjs" 1480 | }, 1481 | { 1482 | "type": "OpenCollective", 1483 | "url": "https://opencollective.com/unified" 1484 | } 1485 | ], 1486 | "dependencies": { 1487 | "micromark-factory-space": "^1.0.0", 1488 | "micromark-util-character": "^1.0.0", 1489 | "micromark-util-symbol": "^1.0.0", 1490 | "micromark-util-types": "^1.0.0" 1491 | } 1492 | }, 1493 | "node_modules/micromark-util-character": { 1494 | "version": "1.2.0", 1495 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", 1496 | "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", 1497 | "funding": [ 1498 | { 1499 | "type": "GitHub Sponsors", 1500 | "url": "https://github.com/sponsors/unifiedjs" 1501 | }, 1502 | { 1503 | "type": "OpenCollective", 1504 | "url": "https://opencollective.com/unified" 1505 | } 1506 | ], 1507 | "dependencies": { 1508 | "micromark-util-symbol": "^1.0.0", 1509 | "micromark-util-types": "^1.0.0" 1510 | } 1511 | }, 1512 | "node_modules/micromark-util-chunked": { 1513 | "version": "1.1.0", 1514 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", 1515 | "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", 1516 | "funding": [ 1517 | { 1518 | "type": "GitHub Sponsors", 1519 | "url": "https://github.com/sponsors/unifiedjs" 1520 | }, 1521 | { 1522 | "type": "OpenCollective", 1523 | "url": "https://opencollective.com/unified" 1524 | } 1525 | ], 1526 | "dependencies": { 1527 | "micromark-util-symbol": "^1.0.0" 1528 | } 1529 | }, 1530 | "node_modules/micromark-util-classify-character": { 1531 | "version": "1.1.0", 1532 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", 1533 | "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", 1534 | "funding": [ 1535 | { 1536 | "type": "GitHub Sponsors", 1537 | "url": "https://github.com/sponsors/unifiedjs" 1538 | }, 1539 | { 1540 | "type": "OpenCollective", 1541 | "url": "https://opencollective.com/unified" 1542 | } 1543 | ], 1544 | "dependencies": { 1545 | "micromark-util-character": "^1.0.0", 1546 | "micromark-util-symbol": "^1.0.0", 1547 | "micromark-util-types": "^1.0.0" 1548 | } 1549 | }, 1550 | "node_modules/micromark-util-combine-extensions": { 1551 | "version": "1.1.0", 1552 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", 1553 | "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", 1554 | "funding": [ 1555 | { 1556 | "type": "GitHub Sponsors", 1557 | "url": "https://github.com/sponsors/unifiedjs" 1558 | }, 1559 | { 1560 | "type": "OpenCollective", 1561 | "url": "https://opencollective.com/unified" 1562 | } 1563 | ], 1564 | "dependencies": { 1565 | "micromark-util-chunked": "^1.0.0", 1566 | "micromark-util-types": "^1.0.0" 1567 | } 1568 | }, 1569 | "node_modules/micromark-util-decode-numeric-character-reference": { 1570 | "version": "1.1.0", 1571 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", 1572 | "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", 1573 | "funding": [ 1574 | { 1575 | "type": "GitHub Sponsors", 1576 | "url": "https://github.com/sponsors/unifiedjs" 1577 | }, 1578 | { 1579 | "type": "OpenCollective", 1580 | "url": "https://opencollective.com/unified" 1581 | } 1582 | ], 1583 | "dependencies": { 1584 | "micromark-util-symbol": "^1.0.0" 1585 | } 1586 | }, 1587 | "node_modules/micromark-util-decode-string": { 1588 | "version": "1.1.0", 1589 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", 1590 | "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", 1591 | "funding": [ 1592 | { 1593 | "type": "GitHub Sponsors", 1594 | "url": "https://github.com/sponsors/unifiedjs" 1595 | }, 1596 | { 1597 | "type": "OpenCollective", 1598 | "url": "https://opencollective.com/unified" 1599 | } 1600 | ], 1601 | "dependencies": { 1602 | "decode-named-character-reference": "^1.0.0", 1603 | "micromark-util-character": "^1.0.0", 1604 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1605 | "micromark-util-symbol": "^1.0.0" 1606 | } 1607 | }, 1608 | "node_modules/micromark-util-encode": { 1609 | "version": "1.1.0", 1610 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", 1611 | "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", 1612 | "funding": [ 1613 | { 1614 | "type": "GitHub Sponsors", 1615 | "url": "https://github.com/sponsors/unifiedjs" 1616 | }, 1617 | { 1618 | "type": "OpenCollective", 1619 | "url": "https://opencollective.com/unified" 1620 | } 1621 | ] 1622 | }, 1623 | "node_modules/micromark-util-html-tag-name": { 1624 | "version": "1.2.0", 1625 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", 1626 | "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", 1627 | "funding": [ 1628 | { 1629 | "type": "GitHub Sponsors", 1630 | "url": "https://github.com/sponsors/unifiedjs" 1631 | }, 1632 | { 1633 | "type": "OpenCollective", 1634 | "url": "https://opencollective.com/unified" 1635 | } 1636 | ] 1637 | }, 1638 | "node_modules/micromark-util-normalize-identifier": { 1639 | "version": "1.1.0", 1640 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", 1641 | "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", 1642 | "funding": [ 1643 | { 1644 | "type": "GitHub Sponsors", 1645 | "url": "https://github.com/sponsors/unifiedjs" 1646 | }, 1647 | { 1648 | "type": "OpenCollective", 1649 | "url": "https://opencollective.com/unified" 1650 | } 1651 | ], 1652 | "dependencies": { 1653 | "micromark-util-symbol": "^1.0.0" 1654 | } 1655 | }, 1656 | "node_modules/micromark-util-resolve-all": { 1657 | "version": "1.1.0", 1658 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", 1659 | "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", 1660 | "funding": [ 1661 | { 1662 | "type": "GitHub Sponsors", 1663 | "url": "https://github.com/sponsors/unifiedjs" 1664 | }, 1665 | { 1666 | "type": "OpenCollective", 1667 | "url": "https://opencollective.com/unified" 1668 | } 1669 | ], 1670 | "dependencies": { 1671 | "micromark-util-types": "^1.0.0" 1672 | } 1673 | }, 1674 | "node_modules/micromark-util-sanitize-uri": { 1675 | "version": "1.2.0", 1676 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", 1677 | "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", 1678 | "funding": [ 1679 | { 1680 | "type": "GitHub Sponsors", 1681 | "url": "https://github.com/sponsors/unifiedjs" 1682 | }, 1683 | { 1684 | "type": "OpenCollective", 1685 | "url": "https://opencollective.com/unified" 1686 | } 1687 | ], 1688 | "dependencies": { 1689 | "micromark-util-character": "^1.0.0", 1690 | "micromark-util-encode": "^1.0.0", 1691 | "micromark-util-symbol": "^1.0.0" 1692 | } 1693 | }, 1694 | "node_modules/micromark-util-subtokenize": { 1695 | "version": "1.1.0", 1696 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", 1697 | "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", 1698 | "funding": [ 1699 | { 1700 | "type": "GitHub Sponsors", 1701 | "url": "https://github.com/sponsors/unifiedjs" 1702 | }, 1703 | { 1704 | "type": "OpenCollective", 1705 | "url": "https://opencollective.com/unified" 1706 | } 1707 | ], 1708 | "dependencies": { 1709 | "micromark-util-chunked": "^1.0.0", 1710 | "micromark-util-symbol": "^1.0.0", 1711 | "micromark-util-types": "^1.0.0", 1712 | "uvu": "^0.5.0" 1713 | } 1714 | }, 1715 | "node_modules/micromark-util-symbol": { 1716 | "version": "1.1.0", 1717 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", 1718 | "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", 1719 | "funding": [ 1720 | { 1721 | "type": "GitHub Sponsors", 1722 | "url": "https://github.com/sponsors/unifiedjs" 1723 | }, 1724 | { 1725 | "type": "OpenCollective", 1726 | "url": "https://opencollective.com/unified" 1727 | } 1728 | ] 1729 | }, 1730 | "node_modules/micromark-util-types": { 1731 | "version": "1.1.0", 1732 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", 1733 | "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", 1734 | "funding": [ 1735 | { 1736 | "type": "GitHub Sponsors", 1737 | "url": "https://github.com/sponsors/unifiedjs" 1738 | }, 1739 | { 1740 | "type": "OpenCollective", 1741 | "url": "https://opencollective.com/unified" 1742 | } 1743 | ] 1744 | }, 1745 | "node_modules/mime-db": { 1746 | "version": "1.52.0", 1747 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1748 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1749 | "engines": { 1750 | "node": ">= 0.6" 1751 | } 1752 | }, 1753 | "node_modules/mime-types": { 1754 | "version": "2.1.35", 1755 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1756 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1757 | "dependencies": { 1758 | "mime-db": "1.52.0" 1759 | }, 1760 | "engines": { 1761 | "node": ">= 0.6" 1762 | } 1763 | }, 1764 | "node_modules/minimist": { 1765 | "version": "1.2.8", 1766 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1767 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1768 | "funding": { 1769 | "url": "https://github.com/sponsors/ljharb" 1770 | } 1771 | }, 1772 | "node_modules/mri": { 1773 | "version": "1.2.0", 1774 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1775 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1776 | "engines": { 1777 | "node": ">=4" 1778 | } 1779 | }, 1780 | "node_modules/ms": { 1781 | "version": "2.1.2", 1782 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1783 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1784 | }, 1785 | "node_modules/multipipe": { 1786 | "version": "1.0.2", 1787 | "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-1.0.2.tgz", 1788 | "integrity": "sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==", 1789 | "dependencies": { 1790 | "duplexer2": "^0.1.2", 1791 | "object-assign": "^4.1.0" 1792 | } 1793 | }, 1794 | "node_modules/nanoid": { 1795 | "version": "3.3.6", 1796 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1797 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1798 | "funding": [ 1799 | { 1800 | "type": "github", 1801 | "url": "https://github.com/sponsors/ai" 1802 | } 1803 | ], 1804 | "bin": { 1805 | "nanoid": "bin/nanoid.cjs" 1806 | }, 1807 | "engines": { 1808 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1809 | } 1810 | }, 1811 | "node_modules/next": { 1812 | "version": "13.4.4", 1813 | "resolved": "https://registry.npmjs.org/next/-/next-13.4.4.tgz", 1814 | "integrity": "sha512-C5S0ysM0Ily9McL4Jb48nOQHT1BukOWI59uC3X/xCMlYIh9rJZCv7nzG92J6e1cOBqQbKovlpgvHWFmz4eKKEA==", 1815 | "dependencies": { 1816 | "@next/env": "13.4.4", 1817 | "@swc/helpers": "0.5.1", 1818 | "busboy": "1.6.0", 1819 | "caniuse-lite": "^1.0.30001406", 1820 | "postcss": "8.4.14", 1821 | "styled-jsx": "5.1.1", 1822 | "zod": "3.21.4" 1823 | }, 1824 | "bin": { 1825 | "next": "dist/bin/next" 1826 | }, 1827 | "engines": { 1828 | "node": ">=16.8.0" 1829 | }, 1830 | "optionalDependencies": { 1831 | "@next/swc-darwin-arm64": "13.4.4", 1832 | "@next/swc-darwin-x64": "13.4.4", 1833 | "@next/swc-linux-arm64-gnu": "13.4.4", 1834 | "@next/swc-linux-arm64-musl": "13.4.4", 1835 | "@next/swc-linux-x64-gnu": "13.4.4", 1836 | "@next/swc-linux-x64-musl": "13.4.4", 1837 | "@next/swc-win32-arm64-msvc": "13.4.4", 1838 | "@next/swc-win32-ia32-msvc": "13.4.4", 1839 | "@next/swc-win32-x64-msvc": "13.4.4" 1840 | }, 1841 | "peerDependencies": { 1842 | "@opentelemetry/api": "^1.1.0", 1843 | "fibers": ">= 3.1.0", 1844 | "react": "^18.2.0", 1845 | "react-dom": "^18.2.0", 1846 | "sass": "^1.3.0" 1847 | }, 1848 | "peerDependenciesMeta": { 1849 | "@opentelemetry/api": { 1850 | "optional": true 1851 | }, 1852 | "fibers": { 1853 | "optional": true 1854 | }, 1855 | "sass": { 1856 | "optional": true 1857 | } 1858 | } 1859 | }, 1860 | "node_modules/object-assign": { 1861 | "version": "4.1.1", 1862 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1863 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1864 | "engines": { 1865 | "node": ">=0.10.0" 1866 | } 1867 | }, 1868 | "node_modules/object-keys": { 1869 | "version": "0.4.0", 1870 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", 1871 | "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" 1872 | }, 1873 | "node_modules/papaparse": { 1874 | "version": "5.4.1", 1875 | "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", 1876 | "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==" 1877 | }, 1878 | "node_modules/parent-module": { 1879 | "version": "1.0.1", 1880 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1881 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1882 | "dependencies": { 1883 | "callsites": "^3.0.0" 1884 | }, 1885 | "engines": { 1886 | "node": ">=6" 1887 | } 1888 | }, 1889 | "node_modules/parse-json": { 1890 | "version": "5.2.0", 1891 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 1892 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 1893 | "dependencies": { 1894 | "@babel/code-frame": "^7.0.0", 1895 | "error-ex": "^1.3.1", 1896 | "json-parse-even-better-errors": "^2.3.0", 1897 | "lines-and-columns": "^1.1.6" 1898 | }, 1899 | "engines": { 1900 | "node": ">=8" 1901 | }, 1902 | "funding": { 1903 | "url": "https://github.com/sponsors/sindresorhus" 1904 | } 1905 | }, 1906 | "node_modules/path-parse": { 1907 | "version": "1.0.7", 1908 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1909 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 1910 | }, 1911 | "node_modules/path-type": { 1912 | "version": "4.0.0", 1913 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1914 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1915 | "engines": { 1916 | "node": ">=8" 1917 | } 1918 | }, 1919 | "node_modules/picocolors": { 1920 | "version": "1.0.0", 1921 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1922 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1923 | }, 1924 | "node_modules/postcss": { 1925 | "version": "8.4.14", 1926 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 1927 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 1928 | "funding": [ 1929 | { 1930 | "type": "opencollective", 1931 | "url": "https://opencollective.com/postcss/" 1932 | }, 1933 | { 1934 | "type": "tidelift", 1935 | "url": "https://tidelift.com/funding/github/npm/postcss" 1936 | } 1937 | ], 1938 | "dependencies": { 1939 | "nanoid": "^3.3.4", 1940 | "picocolors": "^1.0.0", 1941 | "source-map-js": "^1.0.2" 1942 | }, 1943 | "engines": { 1944 | "node": "^10 || ^12 || >=14" 1945 | } 1946 | }, 1947 | "node_modules/process-nextick-args": { 1948 | "version": "2.0.1", 1949 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1950 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1951 | }, 1952 | "node_modules/prop-types": { 1953 | "version": "15.8.1", 1954 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 1955 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 1956 | "dependencies": { 1957 | "loose-envify": "^1.4.0", 1958 | "object-assign": "^4.1.1", 1959 | "react-is": "^16.13.1" 1960 | } 1961 | }, 1962 | "node_modules/prop-types/node_modules/react-is": { 1963 | "version": "16.13.1", 1964 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 1965 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 1966 | }, 1967 | "node_modules/property-information": { 1968 | "version": "6.2.0", 1969 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", 1970 | "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", 1971 | "funding": { 1972 | "type": "github", 1973 | "url": "https://github.com/sponsors/wooorm" 1974 | } 1975 | }, 1976 | "node_modules/proxy-from-env": { 1977 | "version": "1.1.0", 1978 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1979 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1980 | }, 1981 | "node_modules/react": { 1982 | "version": "18.2.0", 1983 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1984 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1985 | "dependencies": { 1986 | "loose-envify": "^1.1.0" 1987 | }, 1988 | "engines": { 1989 | "node": ">=0.10.0" 1990 | } 1991 | }, 1992 | "node_modules/react-dom": { 1993 | "version": "18.2.0", 1994 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1995 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1996 | "dependencies": { 1997 | "loose-envify": "^1.1.0", 1998 | "scheduler": "^0.23.0" 1999 | }, 2000 | "peerDependencies": { 2001 | "react": "^18.2.0" 2002 | } 2003 | }, 2004 | "node_modules/react-is": { 2005 | "version": "18.2.0", 2006 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", 2007 | "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" 2008 | }, 2009 | "node_modules/react-markdown": { 2010 | "version": "8.0.7", 2011 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", 2012 | "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", 2013 | "dependencies": { 2014 | "@types/hast": "^2.0.0", 2015 | "@types/prop-types": "^15.0.0", 2016 | "@types/unist": "^2.0.0", 2017 | "comma-separated-tokens": "^2.0.0", 2018 | "hast-util-whitespace": "^2.0.0", 2019 | "prop-types": "^15.0.0", 2020 | "property-information": "^6.0.0", 2021 | "react-is": "^18.0.0", 2022 | "remark-parse": "^10.0.0", 2023 | "remark-rehype": "^10.0.0", 2024 | "space-separated-tokens": "^2.0.0", 2025 | "style-to-object": "^0.4.0", 2026 | "unified": "^10.0.0", 2027 | "unist-util-visit": "^4.0.0", 2028 | "vfile": "^5.0.0" 2029 | }, 2030 | "funding": { 2031 | "type": "opencollective", 2032 | "url": "https://opencollective.com/unified" 2033 | }, 2034 | "peerDependencies": { 2035 | "@types/react": ">=16", 2036 | "react": ">=16" 2037 | } 2038 | }, 2039 | "node_modules/react-transition-group": { 2040 | "version": "4.4.5", 2041 | "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", 2042 | "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", 2043 | "dependencies": { 2044 | "@babel/runtime": "^7.5.5", 2045 | "dom-helpers": "^5.0.1", 2046 | "loose-envify": "^1.4.0", 2047 | "prop-types": "^15.6.2" 2048 | }, 2049 | "peerDependencies": { 2050 | "react": ">=16.6.0", 2051 | "react-dom": ">=16.6.0" 2052 | } 2053 | }, 2054 | "node_modules/readable-stream": { 2055 | "version": "1.0.34", 2056 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 2057 | "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", 2058 | "dependencies": { 2059 | "core-util-is": "~1.0.0", 2060 | "inherits": "~2.0.1", 2061 | "isarray": "0.0.1", 2062 | "string_decoder": "~0.10.x" 2063 | } 2064 | }, 2065 | "node_modules/regenerator-runtime": { 2066 | "version": "0.13.11", 2067 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", 2068 | "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" 2069 | }, 2070 | "node_modules/remark-parse": { 2071 | "version": "10.0.2", 2072 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", 2073 | "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", 2074 | "dependencies": { 2075 | "@types/mdast": "^3.0.0", 2076 | "mdast-util-from-markdown": "^1.0.0", 2077 | "unified": "^10.0.0" 2078 | }, 2079 | "funding": { 2080 | "type": "opencollective", 2081 | "url": "https://opencollective.com/unified" 2082 | } 2083 | }, 2084 | "node_modules/remark-rehype": { 2085 | "version": "10.1.0", 2086 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", 2087 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", 2088 | "dependencies": { 2089 | "@types/hast": "^2.0.0", 2090 | "@types/mdast": "^3.0.0", 2091 | "mdast-util-to-hast": "^12.1.0", 2092 | "unified": "^10.0.0" 2093 | }, 2094 | "funding": { 2095 | "type": "opencollective", 2096 | "url": "https://opencollective.com/unified" 2097 | } 2098 | }, 2099 | "node_modules/resolve": { 2100 | "version": "1.22.2", 2101 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 2102 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 2103 | "dependencies": { 2104 | "is-core-module": "^2.11.0", 2105 | "path-parse": "^1.0.7", 2106 | "supports-preserve-symlinks-flag": "^1.0.0" 2107 | }, 2108 | "bin": { 2109 | "resolve": "bin/resolve" 2110 | }, 2111 | "funding": { 2112 | "url": "https://github.com/sponsors/ljharb" 2113 | } 2114 | }, 2115 | "node_modules/resolve-from": { 2116 | "version": "4.0.0", 2117 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2118 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2119 | "engines": { 2120 | "node": ">=4" 2121 | } 2122 | }, 2123 | "node_modules/sade": { 2124 | "version": "1.8.1", 2125 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 2126 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 2127 | "dependencies": { 2128 | "mri": "^1.1.0" 2129 | }, 2130 | "engines": { 2131 | "node": ">=6" 2132 | } 2133 | }, 2134 | "node_modules/safe-buffer": { 2135 | "version": "5.1.2", 2136 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2137 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 2138 | }, 2139 | "node_modules/scheduler": { 2140 | "version": "0.23.0", 2141 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2142 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2143 | "dependencies": { 2144 | "loose-envify": "^1.1.0" 2145 | } 2146 | }, 2147 | "node_modules/source-map": { 2148 | "version": "0.5.7", 2149 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2150 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", 2151 | "engines": { 2152 | "node": ">=0.10.0" 2153 | } 2154 | }, 2155 | "node_modules/source-map-js": { 2156 | "version": "1.0.2", 2157 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2158 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2159 | "engines": { 2160 | "node": ">=0.10.0" 2161 | } 2162 | }, 2163 | "node_modules/space-separated-tokens": { 2164 | "version": "2.0.2", 2165 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", 2166 | "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", 2167 | "funding": { 2168 | "type": "github", 2169 | "url": "https://github.com/sponsors/wooorm" 2170 | } 2171 | }, 2172 | "node_modules/streamsearch": { 2173 | "version": "1.1.0", 2174 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 2175 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 2176 | "engines": { 2177 | "node": ">=10.0.0" 2178 | } 2179 | }, 2180 | "node_modules/string_decoder": { 2181 | "version": "0.10.31", 2182 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 2183 | "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" 2184 | }, 2185 | "node_modules/style-to-object": { 2186 | "version": "0.4.1", 2187 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", 2188 | "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", 2189 | "dependencies": { 2190 | "inline-style-parser": "0.1.1" 2191 | } 2192 | }, 2193 | "node_modules/styled-jsx": { 2194 | "version": "5.1.1", 2195 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 2196 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 2197 | "dependencies": { 2198 | "client-only": "0.0.1" 2199 | }, 2200 | "engines": { 2201 | "node": ">= 12.0.0" 2202 | }, 2203 | "peerDependencies": { 2204 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" 2205 | }, 2206 | "peerDependenciesMeta": { 2207 | "@babel/core": { 2208 | "optional": true 2209 | }, 2210 | "babel-plugin-macros": { 2211 | "optional": true 2212 | } 2213 | } 2214 | }, 2215 | "node_modules/stylis": { 2216 | "version": "4.2.0", 2217 | "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", 2218 | "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" 2219 | }, 2220 | "node_modules/supports-color": { 2221 | "version": "5.5.0", 2222 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2223 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2224 | "dependencies": { 2225 | "has-flag": "^3.0.0" 2226 | }, 2227 | "engines": { 2228 | "node": ">=4" 2229 | } 2230 | }, 2231 | "node_modules/supports-preserve-symlinks-flag": { 2232 | "version": "1.0.0", 2233 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2234 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2235 | "engines": { 2236 | "node": ">= 0.4" 2237 | }, 2238 | "funding": { 2239 | "url": "https://github.com/sponsors/ljharb" 2240 | } 2241 | }, 2242 | "node_modules/through": { 2243 | "version": "2.3.8", 2244 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2245 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" 2246 | }, 2247 | "node_modules/through2": { 2248 | "version": "0.4.2", 2249 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", 2250 | "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", 2251 | "dependencies": { 2252 | "readable-stream": "~1.0.17", 2253 | "xtend": "~2.1.1" 2254 | } 2255 | }, 2256 | "node_modules/to-fast-properties": { 2257 | "version": "2.0.0", 2258 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 2259 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 2260 | "engines": { 2261 | "node": ">=4" 2262 | } 2263 | }, 2264 | "node_modules/trim-lines": { 2265 | "version": "3.0.1", 2266 | "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", 2267 | "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", 2268 | "funding": { 2269 | "type": "github", 2270 | "url": "https://github.com/sponsors/wooorm" 2271 | } 2272 | }, 2273 | "node_modules/trough": { 2274 | "version": "2.1.0", 2275 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", 2276 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", 2277 | "funding": { 2278 | "type": "github", 2279 | "url": "https://github.com/sponsors/wooorm" 2280 | } 2281 | }, 2282 | "node_modules/tslib": { 2283 | "version": "2.5.2", 2284 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", 2285 | "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" 2286 | }, 2287 | "node_modules/unified": { 2288 | "version": "10.1.2", 2289 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", 2290 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", 2291 | "dependencies": { 2292 | "@types/unist": "^2.0.0", 2293 | "bail": "^2.0.0", 2294 | "extend": "^3.0.0", 2295 | "is-buffer": "^2.0.0", 2296 | "is-plain-obj": "^4.0.0", 2297 | "trough": "^2.0.0", 2298 | "vfile": "^5.0.0" 2299 | }, 2300 | "funding": { 2301 | "type": "opencollective", 2302 | "url": "https://opencollective.com/unified" 2303 | } 2304 | }, 2305 | "node_modules/unist-util-generated": { 2306 | "version": "2.0.1", 2307 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", 2308 | "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", 2309 | "funding": { 2310 | "type": "opencollective", 2311 | "url": "https://opencollective.com/unified" 2312 | } 2313 | }, 2314 | "node_modules/unist-util-is": { 2315 | "version": "5.2.1", 2316 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", 2317 | "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", 2318 | "dependencies": { 2319 | "@types/unist": "^2.0.0" 2320 | }, 2321 | "funding": { 2322 | "type": "opencollective", 2323 | "url": "https://opencollective.com/unified" 2324 | } 2325 | }, 2326 | "node_modules/unist-util-position": { 2327 | "version": "4.0.4", 2328 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", 2329 | "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", 2330 | "dependencies": { 2331 | "@types/unist": "^2.0.0" 2332 | }, 2333 | "funding": { 2334 | "type": "opencollective", 2335 | "url": "https://opencollective.com/unified" 2336 | } 2337 | }, 2338 | "node_modules/unist-util-stringify-position": { 2339 | "version": "3.0.3", 2340 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", 2341 | "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", 2342 | "dependencies": { 2343 | "@types/unist": "^2.0.0" 2344 | }, 2345 | "funding": { 2346 | "type": "opencollective", 2347 | "url": "https://opencollective.com/unified" 2348 | } 2349 | }, 2350 | "node_modules/unist-util-visit": { 2351 | "version": "4.1.2", 2352 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", 2353 | "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", 2354 | "dependencies": { 2355 | "@types/unist": "^2.0.0", 2356 | "unist-util-is": "^5.0.0", 2357 | "unist-util-visit-parents": "^5.1.1" 2358 | }, 2359 | "funding": { 2360 | "type": "opencollective", 2361 | "url": "https://opencollective.com/unified" 2362 | } 2363 | }, 2364 | "node_modules/unist-util-visit-parents": { 2365 | "version": "5.1.3", 2366 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", 2367 | "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", 2368 | "dependencies": { 2369 | "@types/unist": "^2.0.0", 2370 | "unist-util-is": "^5.0.0" 2371 | }, 2372 | "funding": { 2373 | "type": "opencollective", 2374 | "url": "https://opencollective.com/unified" 2375 | } 2376 | }, 2377 | "node_modules/util-deprecate": { 2378 | "version": "1.0.2", 2379 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2380 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 2381 | }, 2382 | "node_modules/uvu": { 2383 | "version": "0.5.6", 2384 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", 2385 | "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", 2386 | "dependencies": { 2387 | "dequal": "^2.0.0", 2388 | "diff": "^5.0.0", 2389 | "kleur": "^4.0.3", 2390 | "sade": "^1.7.3" 2391 | }, 2392 | "bin": { 2393 | "uvu": "bin.js" 2394 | }, 2395 | "engines": { 2396 | "node": ">=8" 2397 | } 2398 | }, 2399 | "node_modules/vfile": { 2400 | "version": "5.3.7", 2401 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", 2402 | "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", 2403 | "dependencies": { 2404 | "@types/unist": "^2.0.0", 2405 | "is-buffer": "^2.0.0", 2406 | "unist-util-stringify-position": "^3.0.0", 2407 | "vfile-message": "^3.0.0" 2408 | }, 2409 | "funding": { 2410 | "type": "opencollective", 2411 | "url": "https://opencollective.com/unified" 2412 | } 2413 | }, 2414 | "node_modules/vfile-message": { 2415 | "version": "3.1.4", 2416 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", 2417 | "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", 2418 | "dependencies": { 2419 | "@types/unist": "^2.0.0", 2420 | "unist-util-stringify-position": "^3.0.0" 2421 | }, 2422 | "funding": { 2423 | "type": "opencollective", 2424 | "url": "https://opencollective.com/unified" 2425 | } 2426 | }, 2427 | "node_modules/xtend": { 2428 | "version": "2.1.2", 2429 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", 2430 | "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", 2431 | "dependencies": { 2432 | "object-keys": "~0.4.0" 2433 | }, 2434 | "engines": { 2435 | "node": ">=0.4" 2436 | } 2437 | }, 2438 | "node_modules/yaml": { 2439 | "version": "1.10.2", 2440 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2441 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2442 | "engines": { 2443 | "node": ">= 6" 2444 | } 2445 | }, 2446 | "node_modules/zod": { 2447 | "version": "3.21.4", 2448 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", 2449 | "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", 2450 | "funding": { 2451 | "url": "https://github.com/sponsors/colinhacks" 2452 | } 2453 | } 2454 | }, 2455 | "dependencies": { 2456 | "@babel/code-frame": { 2457 | "version": "7.21.4", 2458 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", 2459 | "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", 2460 | "requires": { 2461 | "@babel/highlight": "^7.18.6" 2462 | } 2463 | }, 2464 | "@babel/helper-module-imports": { 2465 | "version": "7.21.4", 2466 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", 2467 | "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", 2468 | "requires": { 2469 | "@babel/types": "^7.21.4" 2470 | } 2471 | }, 2472 | "@babel/helper-string-parser": { 2473 | "version": "7.21.5", 2474 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", 2475 | "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==" 2476 | }, 2477 | "@babel/helper-validator-identifier": { 2478 | "version": "7.19.1", 2479 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", 2480 | "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" 2481 | }, 2482 | "@babel/highlight": { 2483 | "version": "7.18.6", 2484 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", 2485 | "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", 2486 | "requires": { 2487 | "@babel/helper-validator-identifier": "^7.18.6", 2488 | "chalk": "^2.0.0", 2489 | "js-tokens": "^4.0.0" 2490 | } 2491 | }, 2492 | "@babel/runtime": { 2493 | "version": "7.22.3", 2494 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", 2495 | "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", 2496 | "requires": { 2497 | "regenerator-runtime": "^0.13.11" 2498 | } 2499 | }, 2500 | "@babel/types": { 2501 | "version": "7.22.4", 2502 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", 2503 | "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", 2504 | "requires": { 2505 | "@babel/helper-string-parser": "^7.21.5", 2506 | "@babel/helper-validator-identifier": "^7.19.1", 2507 | "to-fast-properties": "^2.0.0" 2508 | } 2509 | }, 2510 | "@emotion/babel-plugin": { 2511 | "version": "11.11.0", 2512 | "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", 2513 | "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", 2514 | "requires": { 2515 | "@babel/helper-module-imports": "^7.16.7", 2516 | "@babel/runtime": "^7.18.3", 2517 | "@emotion/hash": "^0.9.1", 2518 | "@emotion/memoize": "^0.8.1", 2519 | "@emotion/serialize": "^1.1.2", 2520 | "babel-plugin-macros": "^3.1.0", 2521 | "convert-source-map": "^1.5.0", 2522 | "escape-string-regexp": "^4.0.0", 2523 | "find-root": "^1.1.0", 2524 | "source-map": "^0.5.7", 2525 | "stylis": "4.2.0" 2526 | } 2527 | }, 2528 | "@emotion/cache": { 2529 | "version": "11.11.0", 2530 | "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", 2531 | "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", 2532 | "requires": { 2533 | "@emotion/memoize": "^0.8.1", 2534 | "@emotion/sheet": "^1.2.2", 2535 | "@emotion/utils": "^1.2.1", 2536 | "@emotion/weak-memoize": "^0.3.1", 2537 | "stylis": "4.2.0" 2538 | } 2539 | }, 2540 | "@emotion/hash": { 2541 | "version": "0.9.1", 2542 | "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", 2543 | "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" 2544 | }, 2545 | "@emotion/is-prop-valid": { 2546 | "version": "1.2.1", 2547 | "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", 2548 | "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", 2549 | "requires": { 2550 | "@emotion/memoize": "^0.8.1" 2551 | } 2552 | }, 2553 | "@emotion/memoize": { 2554 | "version": "0.8.1", 2555 | "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", 2556 | "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" 2557 | }, 2558 | "@emotion/react": { 2559 | "version": "11.11.0", 2560 | "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.0.tgz", 2561 | "integrity": "sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==", 2562 | "requires": { 2563 | "@babel/runtime": "^7.18.3", 2564 | "@emotion/babel-plugin": "^11.11.0", 2565 | "@emotion/cache": "^11.11.0", 2566 | "@emotion/serialize": "^1.1.2", 2567 | "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", 2568 | "@emotion/utils": "^1.2.1", 2569 | "@emotion/weak-memoize": "^0.3.1", 2570 | "hoist-non-react-statics": "^3.3.1" 2571 | } 2572 | }, 2573 | "@emotion/serialize": { 2574 | "version": "1.1.2", 2575 | "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", 2576 | "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", 2577 | "requires": { 2578 | "@emotion/hash": "^0.9.1", 2579 | "@emotion/memoize": "^0.8.1", 2580 | "@emotion/unitless": "^0.8.1", 2581 | "@emotion/utils": "^1.2.1", 2582 | "csstype": "^3.0.2" 2583 | } 2584 | }, 2585 | "@emotion/server": { 2586 | "version": "11.11.0", 2587 | "resolved": "https://registry.npmjs.org/@emotion/server/-/server-11.11.0.tgz", 2588 | "integrity": "sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==", 2589 | "requires": { 2590 | "@emotion/utils": "^1.2.1", 2591 | "html-tokenize": "^2.0.0", 2592 | "multipipe": "^1.0.2", 2593 | "through": "^2.3.8" 2594 | } 2595 | }, 2596 | "@emotion/sheet": { 2597 | "version": "1.2.2", 2598 | "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", 2599 | "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" 2600 | }, 2601 | "@emotion/styled": { 2602 | "version": "11.11.0", 2603 | "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", 2604 | "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", 2605 | "requires": { 2606 | "@babel/runtime": "^7.18.3", 2607 | "@emotion/babel-plugin": "^11.11.0", 2608 | "@emotion/is-prop-valid": "^1.2.1", 2609 | "@emotion/serialize": "^1.1.2", 2610 | "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", 2611 | "@emotion/utils": "^1.2.1" 2612 | } 2613 | }, 2614 | "@emotion/unitless": { 2615 | "version": "0.8.1", 2616 | "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", 2617 | "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" 2618 | }, 2619 | "@emotion/use-insertion-effect-with-fallbacks": { 2620 | "version": "1.0.1", 2621 | "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", 2622 | "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", 2623 | "requires": {} 2624 | }, 2625 | "@emotion/utils": { 2626 | "version": "1.2.1", 2627 | "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", 2628 | "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" 2629 | }, 2630 | "@emotion/weak-memoize": { 2631 | "version": "0.3.1", 2632 | "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", 2633 | "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" 2634 | }, 2635 | "@fontsource/roboto": { 2636 | "version": "5.0.2", 2637 | "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-5.0.2.tgz", 2638 | "integrity": "sha512-SLw0o3kWwJ53/Ogyk8GGwSaULNX6Hogs+GsVempDdqpX8wm5hKBLYgUkdUPk+NogiViPp1x++OnkuLA+fAd9Kg==" 2639 | }, 2640 | "@mui/base": { 2641 | "version": "5.0.0-beta.3", 2642 | "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.3.tgz", 2643 | "integrity": "sha512-ErOMoGNpgf6BF5W+jgXDiRlXJnpSeg8XSRonuY5UCCMHIlOWtKDtt/LS3qDAbFFGb7tV/y6EBddbcMeexx+zHw==", 2644 | "requires": { 2645 | "@babel/runtime": "^7.21.0", 2646 | "@emotion/is-prop-valid": "^1.2.1", 2647 | "@mui/types": "^7.2.4", 2648 | "@mui/utils": "^5.13.1", 2649 | "@popperjs/core": "^2.11.7", 2650 | "clsx": "^1.2.1", 2651 | "prop-types": "^15.8.1", 2652 | "react-is": "^18.2.0" 2653 | } 2654 | }, 2655 | "@mui/core-downloads-tracker": { 2656 | "version": "5.13.3", 2657 | "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.13.3.tgz", 2658 | "integrity": "sha512-w4//nRIi9fiMow/MmhkForOezd8nc229EpSZZ5DzwpJNOmAXwypFTapOUVAGTUQiTJyeZXUNbQqYuUIrIs2nbg==" 2659 | }, 2660 | "@mui/icons-material": { 2661 | "version": "5.11.16", 2662 | "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.16.tgz", 2663 | "integrity": "sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==", 2664 | "requires": { 2665 | "@babel/runtime": "^7.21.0" 2666 | } 2667 | }, 2668 | "@mui/material": { 2669 | "version": "5.13.3", 2670 | "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.13.3.tgz", 2671 | "integrity": "sha512-10pek+Bz+PZ4rjUf3KTKfXWjPMUqU1nSnRPf4DAXABhsjzelGGfGW/EICgrLRrttYplTJZhoponWALezAge8ug==", 2672 | "requires": { 2673 | "@babel/runtime": "^7.21.0", 2674 | "@mui/base": "5.0.0-beta.3", 2675 | "@mui/core-downloads-tracker": "^5.13.3", 2676 | "@mui/system": "^5.13.2", 2677 | "@mui/types": "^7.2.4", 2678 | "@mui/utils": "^5.13.1", 2679 | "@types/react-transition-group": "^4.4.6", 2680 | "clsx": "^1.2.1", 2681 | "csstype": "^3.1.2", 2682 | "prop-types": "^15.8.1", 2683 | "react-is": "^18.2.0", 2684 | "react-transition-group": "^4.4.5" 2685 | } 2686 | }, 2687 | "@mui/private-theming": { 2688 | "version": "5.13.1", 2689 | "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.1.tgz", 2690 | "integrity": "sha512-HW4npLUD9BAkVppOUZHeO1FOKUJWAwbpy0VQoGe3McUYTlck1HezGHQCfBQ5S/Nszi7EViqiimECVl9xi+/WjQ==", 2691 | "requires": { 2692 | "@babel/runtime": "^7.21.0", 2693 | "@mui/utils": "^5.13.1", 2694 | "prop-types": "^15.8.1" 2695 | } 2696 | }, 2697 | "@mui/styled-engine": { 2698 | "version": "5.13.2", 2699 | "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", 2700 | "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", 2701 | "requires": { 2702 | "@babel/runtime": "^7.21.0", 2703 | "@emotion/cache": "^11.11.0", 2704 | "csstype": "^3.1.2", 2705 | "prop-types": "^15.8.1" 2706 | } 2707 | }, 2708 | "@mui/system": { 2709 | "version": "5.13.2", 2710 | "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.13.2.tgz", 2711 | "integrity": "sha512-TPyWmRJPt0JPVxacZISI4o070xEJ7ftxpVtu6LWuYVOUOINlhoGOclam4iV8PDT3EMQEHuUrwU49po34UdWLlw==", 2712 | "requires": { 2713 | "@babel/runtime": "^7.21.0", 2714 | "@mui/private-theming": "^5.13.1", 2715 | "@mui/styled-engine": "^5.13.2", 2716 | "@mui/types": "^7.2.4", 2717 | "@mui/utils": "^5.13.1", 2718 | "clsx": "^1.2.1", 2719 | "csstype": "^3.1.2", 2720 | "prop-types": "^15.8.1" 2721 | } 2722 | }, 2723 | "@mui/types": { 2724 | "version": "7.2.4", 2725 | "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", 2726 | "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", 2727 | "requires": {} 2728 | }, 2729 | "@mui/utils": { 2730 | "version": "5.13.1", 2731 | "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.13.1.tgz", 2732 | "integrity": "sha512-6lXdWwmlUbEU2jUI8blw38Kt+3ly7xkmV9ljzY4Q20WhsJMWiNry9CX8M+TaP/HbtuyR8XKsdMgQW7h7MM3n3A==", 2733 | "requires": { 2734 | "@babel/runtime": "^7.21.0", 2735 | "@types/prop-types": "^15.7.5", 2736 | "@types/react-is": "^18.2.0", 2737 | "prop-types": "^15.8.1", 2738 | "react-is": "^18.2.0" 2739 | } 2740 | }, 2741 | "@next/env": { 2742 | "version": "13.4.4", 2743 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.4.tgz", 2744 | "integrity": "sha512-q/y7VZj/9YpgzDe64Zi6rY1xPizx80JjlU2BTevlajtaE3w1LqweH1gGgxou2N7hdFosXHjGrI4OUvtFXXhGLg==" 2745 | }, 2746 | "@next/swc-darwin-arm64": { 2747 | "version": "13.4.4", 2748 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.4.tgz", 2749 | "integrity": "sha512-xfjgXvp4KalNUKZMHmsFxr1Ug+aGmmO6NWP0uoh4G3WFqP/mJ1xxfww0gMOeMeSq/Jyr5k7DvoZ2Pv+XOITTtw==", 2750 | "optional": true 2751 | }, 2752 | "@next/swc-darwin-x64": { 2753 | "version": "13.4.4", 2754 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.4.tgz", 2755 | "integrity": "sha512-ZY9Ti1hkIwJsxGus3nlubIkvYyB0gNOYxKrfsOrLEqD0I2iCX8D7w8v6QQZ2H+dDl6UT29oeEUdDUNGk4UEpfg==", 2756 | "optional": true 2757 | }, 2758 | "@next/swc-linux-arm64-gnu": { 2759 | "version": "13.4.4", 2760 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.4.tgz", 2761 | "integrity": "sha512-+KZnDeMShYkpkqAvGCEDeqYTRADJXc6SY1jWXz+Uo6qWQO/Jd9CoyhTJwRSxvQA16MoYzvILkGaDqirkRNctyA==", 2762 | "optional": true 2763 | }, 2764 | "@next/swc-linux-arm64-musl": { 2765 | "version": "13.4.4", 2766 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.4.tgz", 2767 | "integrity": "sha512-evC1twrny2XDT4uOftoubZvW3EG0zs0ZxMwEtu/dDGVRO5n5pT48S8qqEIBGBUZYu/Xx4zzpOkIxx1vpWdE+9A==", 2768 | "optional": true 2769 | }, 2770 | "@next/swc-linux-x64-gnu": { 2771 | "version": "13.4.4", 2772 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.4.tgz", 2773 | "integrity": "sha512-PX706XcCHr2FfkyhP2lpf+pX/tUvq6/ke7JYnnr0ykNdEMo+sb7cC/o91gnURh4sPYSiZJhsF2gbIqg9rciOHQ==", 2774 | "optional": true 2775 | }, 2776 | "@next/swc-linux-x64-musl": { 2777 | "version": "13.4.4", 2778 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.4.tgz", 2779 | "integrity": "sha512-TKUUx3Ftd95JlHV6XagEnqpT204Y+IsEa3awaYIjayn0MOGjgKZMZibqarK3B1FsMSPaieJf2FEAcu9z0yT5aA==", 2780 | "optional": true 2781 | }, 2782 | "@next/swc-win32-arm64-msvc": { 2783 | "version": "13.4.4", 2784 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.4.tgz", 2785 | "integrity": "sha512-FP8AadgSq4+HPtim7WBkCMGbhr5vh9FePXiWx9+YOdjwdQocwoCK5ZVC3OW8oh3TWth6iJ0AXJ/yQ1q1cwSZ3A==", 2786 | "optional": true 2787 | }, 2788 | "@next/swc-win32-ia32-msvc": { 2789 | "version": "13.4.4", 2790 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.4.tgz", 2791 | "integrity": "sha512-3WekVmtuA2MCdcAOrgrI+PuFiFURtSyyrN1I3UPtS0ckR2HtLqyqmS334Eulf15g1/bdwMteePdK363X/Y9JMg==", 2792 | "optional": true 2793 | }, 2794 | "@next/swc-win32-x64-msvc": { 2795 | "version": "13.4.4", 2796 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.4.tgz", 2797 | "integrity": "sha512-AHRITu/CrlQ+qzoqQtEMfaTu7GHaQ6bziQln/pVWpOYC1wU+Mq6VQQFlsDtMCnDztPZtppAXdvvbNS7pcfRzlw==", 2798 | "optional": true 2799 | }, 2800 | "@popperjs/core": { 2801 | "version": "2.11.8", 2802 | "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", 2803 | "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" 2804 | }, 2805 | "@swc/helpers": { 2806 | "version": "0.5.1", 2807 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", 2808 | "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", 2809 | "requires": { 2810 | "tslib": "^2.4.0" 2811 | } 2812 | }, 2813 | "@types/debug": { 2814 | "version": "4.1.8", 2815 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", 2816 | "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", 2817 | "requires": { 2818 | "@types/ms": "*" 2819 | } 2820 | }, 2821 | "@types/hast": { 2822 | "version": "2.3.4", 2823 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", 2824 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", 2825 | "requires": { 2826 | "@types/unist": "*" 2827 | } 2828 | }, 2829 | "@types/mdast": { 2830 | "version": "3.0.11", 2831 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", 2832 | "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", 2833 | "requires": { 2834 | "@types/unist": "*" 2835 | } 2836 | }, 2837 | "@types/ms": { 2838 | "version": "0.7.31", 2839 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 2840 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 2841 | }, 2842 | "@types/parse-json": { 2843 | "version": "4.0.0", 2844 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", 2845 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" 2846 | }, 2847 | "@types/prop-types": { 2848 | "version": "15.7.5", 2849 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 2850 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" 2851 | }, 2852 | "@types/react": { 2853 | "version": "18.2.8", 2854 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.8.tgz", 2855 | "integrity": "sha512-lTyWUNrd8ntVkqycEEplasWy2OxNlShj3zqS0LuB1ENUGis5HodmhM7DtCoUGbxj3VW/WsGA0DUhpG6XrM7gPA==", 2856 | "requires": { 2857 | "@types/prop-types": "*", 2858 | "@types/scheduler": "*", 2859 | "csstype": "^3.0.2" 2860 | } 2861 | }, 2862 | "@types/react-is": { 2863 | "version": "18.2.0", 2864 | "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.0.tgz", 2865 | "integrity": "sha512-1vz2yObaQkLL7YFe/pme2cpvDsCwI1WXIfL+5eLz0MI9gFG24Re16RzUsI8t9XZn9ZWvgLNDrJBmrqXJO7GNQQ==", 2866 | "requires": { 2867 | "@types/react": "*" 2868 | } 2869 | }, 2870 | "@types/react-transition-group": { 2871 | "version": "4.4.6", 2872 | "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", 2873 | "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", 2874 | "requires": { 2875 | "@types/react": "*" 2876 | } 2877 | }, 2878 | "@types/scheduler": { 2879 | "version": "0.16.3", 2880 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 2881 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" 2882 | }, 2883 | "@types/unist": { 2884 | "version": "2.0.6", 2885 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", 2886 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" 2887 | }, 2888 | "ansi-styles": { 2889 | "version": "3.2.1", 2890 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2891 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2892 | "requires": { 2893 | "color-convert": "^1.9.0" 2894 | } 2895 | }, 2896 | "asynckit": { 2897 | "version": "0.4.0", 2898 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2899 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 2900 | }, 2901 | "axios": { 2902 | "version": "1.4.0", 2903 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", 2904 | "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", 2905 | "requires": { 2906 | "follow-redirects": "^1.15.0", 2907 | "form-data": "^4.0.0", 2908 | "proxy-from-env": "^1.1.0" 2909 | } 2910 | }, 2911 | "babel-plugin-macros": { 2912 | "version": "3.1.0", 2913 | "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", 2914 | "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", 2915 | "requires": { 2916 | "@babel/runtime": "^7.12.5", 2917 | "cosmiconfig": "^7.0.0", 2918 | "resolve": "^1.19.0" 2919 | } 2920 | }, 2921 | "bail": { 2922 | "version": "2.0.2", 2923 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", 2924 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" 2925 | }, 2926 | "buffer-from": { 2927 | "version": "0.1.2", 2928 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", 2929 | "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==" 2930 | }, 2931 | "busboy": { 2932 | "version": "1.6.0", 2933 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 2934 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 2935 | "requires": { 2936 | "streamsearch": "^1.1.0" 2937 | } 2938 | }, 2939 | "callsites": { 2940 | "version": "3.1.0", 2941 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2942 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" 2943 | }, 2944 | "caniuse-lite": { 2945 | "version": "1.0.30001492", 2946 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", 2947 | "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==" 2948 | }, 2949 | "chalk": { 2950 | "version": "2.4.2", 2951 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2952 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2953 | "requires": { 2954 | "ansi-styles": "^3.2.1", 2955 | "escape-string-regexp": "^1.0.5", 2956 | "supports-color": "^5.3.0" 2957 | }, 2958 | "dependencies": { 2959 | "escape-string-regexp": { 2960 | "version": "1.0.5", 2961 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2962 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" 2963 | } 2964 | } 2965 | }, 2966 | "character-entities": { 2967 | "version": "2.0.2", 2968 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", 2969 | "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" 2970 | }, 2971 | "client-only": { 2972 | "version": "0.0.1", 2973 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 2974 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 2975 | }, 2976 | "clsx": { 2977 | "version": "1.2.1", 2978 | "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", 2979 | "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" 2980 | }, 2981 | "color-convert": { 2982 | "version": "1.9.3", 2983 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2984 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2985 | "requires": { 2986 | "color-name": "1.1.3" 2987 | } 2988 | }, 2989 | "color-name": { 2990 | "version": "1.1.3", 2991 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2992 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 2993 | }, 2994 | "combined-stream": { 2995 | "version": "1.0.8", 2996 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2997 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2998 | "requires": { 2999 | "delayed-stream": "~1.0.0" 3000 | } 3001 | }, 3002 | "comma-separated-tokens": { 3003 | "version": "2.0.3", 3004 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", 3005 | "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" 3006 | }, 3007 | "convert-source-map": { 3008 | "version": "1.9.0", 3009 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", 3010 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" 3011 | }, 3012 | "core-util-is": { 3013 | "version": "1.0.3", 3014 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 3015 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" 3016 | }, 3017 | "cosmiconfig": { 3018 | "version": "7.1.0", 3019 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", 3020 | "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", 3021 | "requires": { 3022 | "@types/parse-json": "^4.0.0", 3023 | "import-fresh": "^3.2.1", 3024 | "parse-json": "^5.0.0", 3025 | "path-type": "^4.0.0", 3026 | "yaml": "^1.10.0" 3027 | } 3028 | }, 3029 | "csstype": { 3030 | "version": "3.1.2", 3031 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 3032 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" 3033 | }, 3034 | "debug": { 3035 | "version": "4.3.4", 3036 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 3037 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 3038 | "requires": { 3039 | "ms": "2.1.2" 3040 | } 3041 | }, 3042 | "decode-named-character-reference": { 3043 | "version": "1.0.2", 3044 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", 3045 | "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", 3046 | "requires": { 3047 | "character-entities": "^2.0.0" 3048 | } 3049 | }, 3050 | "delayed-stream": { 3051 | "version": "1.0.0", 3052 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 3053 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 3054 | }, 3055 | "dequal": { 3056 | "version": "2.0.3", 3057 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 3058 | "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" 3059 | }, 3060 | "diff": { 3061 | "version": "5.1.0", 3062 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", 3063 | "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" 3064 | }, 3065 | "dom-helpers": { 3066 | "version": "5.2.1", 3067 | "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", 3068 | "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", 3069 | "requires": { 3070 | "@babel/runtime": "^7.8.7", 3071 | "csstype": "^3.0.2" 3072 | } 3073 | }, 3074 | "duplexer2": { 3075 | "version": "0.1.4", 3076 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 3077 | "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", 3078 | "requires": { 3079 | "readable-stream": "^2.0.2" 3080 | }, 3081 | "dependencies": { 3082 | "isarray": { 3083 | "version": "1.0.0", 3084 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3085 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" 3086 | }, 3087 | "readable-stream": { 3088 | "version": "2.3.8", 3089 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 3090 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 3091 | "requires": { 3092 | "core-util-is": "~1.0.0", 3093 | "inherits": "~2.0.3", 3094 | "isarray": "~1.0.0", 3095 | "process-nextick-args": "~2.0.0", 3096 | "safe-buffer": "~5.1.1", 3097 | "string_decoder": "~1.1.1", 3098 | "util-deprecate": "~1.0.1" 3099 | } 3100 | }, 3101 | "string_decoder": { 3102 | "version": "1.1.1", 3103 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3104 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3105 | "requires": { 3106 | "safe-buffer": "~5.1.0" 3107 | } 3108 | } 3109 | } 3110 | }, 3111 | "error-ex": { 3112 | "version": "1.3.2", 3113 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 3114 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 3115 | "requires": { 3116 | "is-arrayish": "^0.2.1" 3117 | } 3118 | }, 3119 | "escape-string-regexp": { 3120 | "version": "4.0.0", 3121 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 3122 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" 3123 | }, 3124 | "extend": { 3125 | "version": "3.0.2", 3126 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 3127 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 3128 | }, 3129 | "find-root": { 3130 | "version": "1.1.0", 3131 | "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", 3132 | "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" 3133 | }, 3134 | "follow-redirects": { 3135 | "version": "1.15.2", 3136 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 3137 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" 3138 | }, 3139 | "form-data": { 3140 | "version": "4.0.0", 3141 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 3142 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 3143 | "requires": { 3144 | "asynckit": "^0.4.0", 3145 | "combined-stream": "^1.0.8", 3146 | "mime-types": "^2.1.12" 3147 | } 3148 | }, 3149 | "function-bind": { 3150 | "version": "1.1.1", 3151 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 3152 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 3153 | }, 3154 | "has": { 3155 | "version": "1.0.3", 3156 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 3157 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 3158 | "requires": { 3159 | "function-bind": "^1.1.1" 3160 | } 3161 | }, 3162 | "has-flag": { 3163 | "version": "3.0.0", 3164 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 3165 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" 3166 | }, 3167 | "hast-util-whitespace": { 3168 | "version": "2.0.1", 3169 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", 3170 | "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" 3171 | }, 3172 | "hoist-non-react-statics": { 3173 | "version": "3.3.2", 3174 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", 3175 | "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", 3176 | "requires": { 3177 | "react-is": "^16.7.0" 3178 | }, 3179 | "dependencies": { 3180 | "react-is": { 3181 | "version": "16.13.1", 3182 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 3183 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 3184 | } 3185 | } 3186 | }, 3187 | "html-tokenize": { 3188 | "version": "2.0.1", 3189 | "resolved": "https://registry.npmjs.org/html-tokenize/-/html-tokenize-2.0.1.tgz", 3190 | "integrity": "sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==", 3191 | "requires": { 3192 | "buffer-from": "~0.1.1", 3193 | "inherits": "~2.0.1", 3194 | "minimist": "~1.2.5", 3195 | "readable-stream": "~1.0.27-1", 3196 | "through2": "~0.4.1" 3197 | } 3198 | }, 3199 | "import-fresh": { 3200 | "version": "3.3.0", 3201 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 3202 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 3203 | "requires": { 3204 | "parent-module": "^1.0.0", 3205 | "resolve-from": "^4.0.0" 3206 | } 3207 | }, 3208 | "inherits": { 3209 | "version": "2.0.4", 3210 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3211 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 3212 | }, 3213 | "inline-style-parser": { 3214 | "version": "0.1.1", 3215 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", 3216 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" 3217 | }, 3218 | "is-arrayish": { 3219 | "version": "0.2.1", 3220 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 3221 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" 3222 | }, 3223 | "is-buffer": { 3224 | "version": "2.0.5", 3225 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", 3226 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" 3227 | }, 3228 | "is-core-module": { 3229 | "version": "2.12.1", 3230 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", 3231 | "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", 3232 | "requires": { 3233 | "has": "^1.0.3" 3234 | } 3235 | }, 3236 | "is-plain-obj": { 3237 | "version": "4.1.0", 3238 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", 3239 | "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" 3240 | }, 3241 | "isarray": { 3242 | "version": "0.0.1", 3243 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 3244 | "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" 3245 | }, 3246 | "js-tokens": { 3247 | "version": "4.0.0", 3248 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3249 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 3250 | }, 3251 | "json-parse-even-better-errors": { 3252 | "version": "2.3.1", 3253 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 3254 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 3255 | }, 3256 | "kleur": { 3257 | "version": "4.1.5", 3258 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 3259 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" 3260 | }, 3261 | "lines-and-columns": { 3262 | "version": "1.2.4", 3263 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 3264 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 3265 | }, 3266 | "loose-envify": { 3267 | "version": "1.4.0", 3268 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 3269 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 3270 | "requires": { 3271 | "js-tokens": "^3.0.0 || ^4.0.0" 3272 | } 3273 | }, 3274 | "mdast-util-definitions": { 3275 | "version": "5.1.2", 3276 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", 3277 | "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", 3278 | "requires": { 3279 | "@types/mdast": "^3.0.0", 3280 | "@types/unist": "^2.0.0", 3281 | "unist-util-visit": "^4.0.0" 3282 | } 3283 | }, 3284 | "mdast-util-from-markdown": { 3285 | "version": "1.3.1", 3286 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", 3287 | "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", 3288 | "requires": { 3289 | "@types/mdast": "^3.0.0", 3290 | "@types/unist": "^2.0.0", 3291 | "decode-named-character-reference": "^1.0.0", 3292 | "mdast-util-to-string": "^3.1.0", 3293 | "micromark": "^3.0.0", 3294 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3295 | "micromark-util-decode-string": "^1.0.0", 3296 | "micromark-util-normalize-identifier": "^1.0.0", 3297 | "micromark-util-symbol": "^1.0.0", 3298 | "micromark-util-types": "^1.0.0", 3299 | "unist-util-stringify-position": "^3.0.0", 3300 | "uvu": "^0.5.0" 3301 | } 3302 | }, 3303 | "mdast-util-to-hast": { 3304 | "version": "12.3.0", 3305 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", 3306 | "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", 3307 | "requires": { 3308 | "@types/hast": "^2.0.0", 3309 | "@types/mdast": "^3.0.0", 3310 | "mdast-util-definitions": "^5.0.0", 3311 | "micromark-util-sanitize-uri": "^1.1.0", 3312 | "trim-lines": "^3.0.0", 3313 | "unist-util-generated": "^2.0.0", 3314 | "unist-util-position": "^4.0.0", 3315 | "unist-util-visit": "^4.0.0" 3316 | } 3317 | }, 3318 | "mdast-util-to-string": { 3319 | "version": "3.2.0", 3320 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", 3321 | "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", 3322 | "requires": { 3323 | "@types/mdast": "^3.0.0" 3324 | } 3325 | }, 3326 | "micromark": { 3327 | "version": "3.2.0", 3328 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", 3329 | "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", 3330 | "requires": { 3331 | "@types/debug": "^4.0.0", 3332 | "debug": "^4.0.0", 3333 | "decode-named-character-reference": "^1.0.0", 3334 | "micromark-core-commonmark": "^1.0.1", 3335 | "micromark-factory-space": "^1.0.0", 3336 | "micromark-util-character": "^1.0.0", 3337 | "micromark-util-chunked": "^1.0.0", 3338 | "micromark-util-combine-extensions": "^1.0.0", 3339 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3340 | "micromark-util-encode": "^1.0.0", 3341 | "micromark-util-normalize-identifier": "^1.0.0", 3342 | "micromark-util-resolve-all": "^1.0.0", 3343 | "micromark-util-sanitize-uri": "^1.0.0", 3344 | "micromark-util-subtokenize": "^1.0.0", 3345 | "micromark-util-symbol": "^1.0.0", 3346 | "micromark-util-types": "^1.0.1", 3347 | "uvu": "^0.5.0" 3348 | } 3349 | }, 3350 | "micromark-core-commonmark": { 3351 | "version": "1.1.0", 3352 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", 3353 | "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", 3354 | "requires": { 3355 | "decode-named-character-reference": "^1.0.0", 3356 | "micromark-factory-destination": "^1.0.0", 3357 | "micromark-factory-label": "^1.0.0", 3358 | "micromark-factory-space": "^1.0.0", 3359 | "micromark-factory-title": "^1.0.0", 3360 | "micromark-factory-whitespace": "^1.0.0", 3361 | "micromark-util-character": "^1.0.0", 3362 | "micromark-util-chunked": "^1.0.0", 3363 | "micromark-util-classify-character": "^1.0.0", 3364 | "micromark-util-html-tag-name": "^1.0.0", 3365 | "micromark-util-normalize-identifier": "^1.0.0", 3366 | "micromark-util-resolve-all": "^1.0.0", 3367 | "micromark-util-subtokenize": "^1.0.0", 3368 | "micromark-util-symbol": "^1.0.0", 3369 | "micromark-util-types": "^1.0.1", 3370 | "uvu": "^0.5.0" 3371 | } 3372 | }, 3373 | "micromark-factory-destination": { 3374 | "version": "1.1.0", 3375 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", 3376 | "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", 3377 | "requires": { 3378 | "micromark-util-character": "^1.0.0", 3379 | "micromark-util-symbol": "^1.0.0", 3380 | "micromark-util-types": "^1.0.0" 3381 | } 3382 | }, 3383 | "micromark-factory-label": { 3384 | "version": "1.1.0", 3385 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", 3386 | "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", 3387 | "requires": { 3388 | "micromark-util-character": "^1.0.0", 3389 | "micromark-util-symbol": "^1.0.0", 3390 | "micromark-util-types": "^1.0.0", 3391 | "uvu": "^0.5.0" 3392 | } 3393 | }, 3394 | "micromark-factory-space": { 3395 | "version": "1.1.0", 3396 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", 3397 | "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", 3398 | "requires": { 3399 | "micromark-util-character": "^1.0.0", 3400 | "micromark-util-types": "^1.0.0" 3401 | } 3402 | }, 3403 | "micromark-factory-title": { 3404 | "version": "1.1.0", 3405 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", 3406 | "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", 3407 | "requires": { 3408 | "micromark-factory-space": "^1.0.0", 3409 | "micromark-util-character": "^1.0.0", 3410 | "micromark-util-symbol": "^1.0.0", 3411 | "micromark-util-types": "^1.0.0" 3412 | } 3413 | }, 3414 | "micromark-factory-whitespace": { 3415 | "version": "1.1.0", 3416 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", 3417 | "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", 3418 | "requires": { 3419 | "micromark-factory-space": "^1.0.0", 3420 | "micromark-util-character": "^1.0.0", 3421 | "micromark-util-symbol": "^1.0.0", 3422 | "micromark-util-types": "^1.0.0" 3423 | } 3424 | }, 3425 | "micromark-util-character": { 3426 | "version": "1.2.0", 3427 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", 3428 | "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", 3429 | "requires": { 3430 | "micromark-util-symbol": "^1.0.0", 3431 | "micromark-util-types": "^1.0.0" 3432 | } 3433 | }, 3434 | "micromark-util-chunked": { 3435 | "version": "1.1.0", 3436 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", 3437 | "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", 3438 | "requires": { 3439 | "micromark-util-symbol": "^1.0.0" 3440 | } 3441 | }, 3442 | "micromark-util-classify-character": { 3443 | "version": "1.1.0", 3444 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", 3445 | "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", 3446 | "requires": { 3447 | "micromark-util-character": "^1.0.0", 3448 | "micromark-util-symbol": "^1.0.0", 3449 | "micromark-util-types": "^1.0.0" 3450 | } 3451 | }, 3452 | "micromark-util-combine-extensions": { 3453 | "version": "1.1.0", 3454 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", 3455 | "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", 3456 | "requires": { 3457 | "micromark-util-chunked": "^1.0.0", 3458 | "micromark-util-types": "^1.0.0" 3459 | } 3460 | }, 3461 | "micromark-util-decode-numeric-character-reference": { 3462 | "version": "1.1.0", 3463 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", 3464 | "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", 3465 | "requires": { 3466 | "micromark-util-symbol": "^1.0.0" 3467 | } 3468 | }, 3469 | "micromark-util-decode-string": { 3470 | "version": "1.1.0", 3471 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", 3472 | "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", 3473 | "requires": { 3474 | "decode-named-character-reference": "^1.0.0", 3475 | "micromark-util-character": "^1.0.0", 3476 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3477 | "micromark-util-symbol": "^1.0.0" 3478 | } 3479 | }, 3480 | "micromark-util-encode": { 3481 | "version": "1.1.0", 3482 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", 3483 | "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==" 3484 | }, 3485 | "micromark-util-html-tag-name": { 3486 | "version": "1.2.0", 3487 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", 3488 | "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==" 3489 | }, 3490 | "micromark-util-normalize-identifier": { 3491 | "version": "1.1.0", 3492 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", 3493 | "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", 3494 | "requires": { 3495 | "micromark-util-symbol": "^1.0.0" 3496 | } 3497 | }, 3498 | "micromark-util-resolve-all": { 3499 | "version": "1.1.0", 3500 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", 3501 | "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", 3502 | "requires": { 3503 | "micromark-util-types": "^1.0.0" 3504 | } 3505 | }, 3506 | "micromark-util-sanitize-uri": { 3507 | "version": "1.2.0", 3508 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", 3509 | "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", 3510 | "requires": { 3511 | "micromark-util-character": "^1.0.0", 3512 | "micromark-util-encode": "^1.0.0", 3513 | "micromark-util-symbol": "^1.0.0" 3514 | } 3515 | }, 3516 | "micromark-util-subtokenize": { 3517 | "version": "1.1.0", 3518 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", 3519 | "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", 3520 | "requires": { 3521 | "micromark-util-chunked": "^1.0.0", 3522 | "micromark-util-symbol": "^1.0.0", 3523 | "micromark-util-types": "^1.0.0", 3524 | "uvu": "^0.5.0" 3525 | } 3526 | }, 3527 | "micromark-util-symbol": { 3528 | "version": "1.1.0", 3529 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", 3530 | "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==" 3531 | }, 3532 | "micromark-util-types": { 3533 | "version": "1.1.0", 3534 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", 3535 | "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==" 3536 | }, 3537 | "mime-db": { 3538 | "version": "1.52.0", 3539 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3540 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 3541 | }, 3542 | "mime-types": { 3543 | "version": "2.1.35", 3544 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3545 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3546 | "requires": { 3547 | "mime-db": "1.52.0" 3548 | } 3549 | }, 3550 | "minimist": { 3551 | "version": "1.2.8", 3552 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3553 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" 3554 | }, 3555 | "mri": { 3556 | "version": "1.2.0", 3557 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 3558 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" 3559 | }, 3560 | "ms": { 3561 | "version": "2.1.2", 3562 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3563 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3564 | }, 3565 | "multipipe": { 3566 | "version": "1.0.2", 3567 | "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-1.0.2.tgz", 3568 | "integrity": "sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==", 3569 | "requires": { 3570 | "duplexer2": "^0.1.2", 3571 | "object-assign": "^4.1.0" 3572 | } 3573 | }, 3574 | "nanoid": { 3575 | "version": "3.3.6", 3576 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 3577 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" 3578 | }, 3579 | "next": { 3580 | "version": "13.4.4", 3581 | "resolved": "https://registry.npmjs.org/next/-/next-13.4.4.tgz", 3582 | "integrity": "sha512-C5S0ysM0Ily9McL4Jb48nOQHT1BukOWI59uC3X/xCMlYIh9rJZCv7nzG92J6e1cOBqQbKovlpgvHWFmz4eKKEA==", 3583 | "requires": { 3584 | "@next/env": "13.4.4", 3585 | "@next/swc-darwin-arm64": "13.4.4", 3586 | "@next/swc-darwin-x64": "13.4.4", 3587 | "@next/swc-linux-arm64-gnu": "13.4.4", 3588 | "@next/swc-linux-arm64-musl": "13.4.4", 3589 | "@next/swc-linux-x64-gnu": "13.4.4", 3590 | "@next/swc-linux-x64-musl": "13.4.4", 3591 | "@next/swc-win32-arm64-msvc": "13.4.4", 3592 | "@next/swc-win32-ia32-msvc": "13.4.4", 3593 | "@next/swc-win32-x64-msvc": "13.4.4", 3594 | "@swc/helpers": "0.5.1", 3595 | "busboy": "1.6.0", 3596 | "caniuse-lite": "^1.0.30001406", 3597 | "postcss": "8.4.14", 3598 | "styled-jsx": "5.1.1", 3599 | "zod": "3.21.4" 3600 | } 3601 | }, 3602 | "object-assign": { 3603 | "version": "4.1.1", 3604 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3605 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 3606 | }, 3607 | "object-keys": { 3608 | "version": "0.4.0", 3609 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", 3610 | "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==" 3611 | }, 3612 | "papaparse": { 3613 | "version": "5.4.1", 3614 | "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz", 3615 | "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==" 3616 | }, 3617 | "parent-module": { 3618 | "version": "1.0.1", 3619 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3620 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3621 | "requires": { 3622 | "callsites": "^3.0.0" 3623 | } 3624 | }, 3625 | "parse-json": { 3626 | "version": "5.2.0", 3627 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 3628 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 3629 | "requires": { 3630 | "@babel/code-frame": "^7.0.0", 3631 | "error-ex": "^1.3.1", 3632 | "json-parse-even-better-errors": "^2.3.0", 3633 | "lines-and-columns": "^1.1.6" 3634 | } 3635 | }, 3636 | "path-parse": { 3637 | "version": "1.0.7", 3638 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3639 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 3640 | }, 3641 | "path-type": { 3642 | "version": "4.0.0", 3643 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3644 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" 3645 | }, 3646 | "picocolors": { 3647 | "version": "1.0.0", 3648 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3649 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 3650 | }, 3651 | "postcss": { 3652 | "version": "8.4.14", 3653 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 3654 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 3655 | "requires": { 3656 | "nanoid": "^3.3.4", 3657 | "picocolors": "^1.0.0", 3658 | "source-map-js": "^1.0.2" 3659 | } 3660 | }, 3661 | "process-nextick-args": { 3662 | "version": "2.0.1", 3663 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3664 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 3665 | }, 3666 | "prop-types": { 3667 | "version": "15.8.1", 3668 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 3669 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 3670 | "requires": { 3671 | "loose-envify": "^1.4.0", 3672 | "object-assign": "^4.1.1", 3673 | "react-is": "^16.13.1" 3674 | }, 3675 | "dependencies": { 3676 | "react-is": { 3677 | "version": "16.13.1", 3678 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 3679 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 3680 | } 3681 | } 3682 | }, 3683 | "property-information": { 3684 | "version": "6.2.0", 3685 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", 3686 | "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" 3687 | }, 3688 | "proxy-from-env": { 3689 | "version": "1.1.0", 3690 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3691 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 3692 | }, 3693 | "react": { 3694 | "version": "18.2.0", 3695 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 3696 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 3697 | "requires": { 3698 | "loose-envify": "^1.1.0" 3699 | } 3700 | }, 3701 | "react-dom": { 3702 | "version": "18.2.0", 3703 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 3704 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 3705 | "requires": { 3706 | "loose-envify": "^1.1.0", 3707 | "scheduler": "^0.23.0" 3708 | } 3709 | }, 3710 | "react-is": { 3711 | "version": "18.2.0", 3712 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", 3713 | "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" 3714 | }, 3715 | "react-markdown": { 3716 | "version": "8.0.7", 3717 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", 3718 | "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", 3719 | "requires": { 3720 | "@types/hast": "^2.0.0", 3721 | "@types/prop-types": "^15.0.0", 3722 | "@types/unist": "^2.0.0", 3723 | "comma-separated-tokens": "^2.0.0", 3724 | "hast-util-whitespace": "^2.0.0", 3725 | "prop-types": "^15.0.0", 3726 | "property-information": "^6.0.0", 3727 | "react-is": "^18.0.0", 3728 | "remark-parse": "^10.0.0", 3729 | "remark-rehype": "^10.0.0", 3730 | "space-separated-tokens": "^2.0.0", 3731 | "style-to-object": "^0.4.0", 3732 | "unified": "^10.0.0", 3733 | "unist-util-visit": "^4.0.0", 3734 | "vfile": "^5.0.0" 3735 | } 3736 | }, 3737 | "react-transition-group": { 3738 | "version": "4.4.5", 3739 | "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", 3740 | "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", 3741 | "requires": { 3742 | "@babel/runtime": "^7.5.5", 3743 | "dom-helpers": "^5.0.1", 3744 | "loose-envify": "^1.4.0", 3745 | "prop-types": "^15.6.2" 3746 | } 3747 | }, 3748 | "readable-stream": { 3749 | "version": "1.0.34", 3750 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 3751 | "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", 3752 | "requires": { 3753 | "core-util-is": "~1.0.0", 3754 | "inherits": "~2.0.1", 3755 | "isarray": "0.0.1", 3756 | "string_decoder": "~0.10.x" 3757 | } 3758 | }, 3759 | "regenerator-runtime": { 3760 | "version": "0.13.11", 3761 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", 3762 | "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" 3763 | }, 3764 | "remark-parse": { 3765 | "version": "10.0.2", 3766 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", 3767 | "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", 3768 | "requires": { 3769 | "@types/mdast": "^3.0.0", 3770 | "mdast-util-from-markdown": "^1.0.0", 3771 | "unified": "^10.0.0" 3772 | } 3773 | }, 3774 | "remark-rehype": { 3775 | "version": "10.1.0", 3776 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", 3777 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", 3778 | "requires": { 3779 | "@types/hast": "^2.0.0", 3780 | "@types/mdast": "^3.0.0", 3781 | "mdast-util-to-hast": "^12.1.0", 3782 | "unified": "^10.0.0" 3783 | } 3784 | }, 3785 | "resolve": { 3786 | "version": "1.22.2", 3787 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 3788 | "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 3789 | "requires": { 3790 | "is-core-module": "^2.11.0", 3791 | "path-parse": "^1.0.7", 3792 | "supports-preserve-symlinks-flag": "^1.0.0" 3793 | } 3794 | }, 3795 | "resolve-from": { 3796 | "version": "4.0.0", 3797 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3798 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" 3799 | }, 3800 | "sade": { 3801 | "version": "1.8.1", 3802 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 3803 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 3804 | "requires": { 3805 | "mri": "^1.1.0" 3806 | } 3807 | }, 3808 | "safe-buffer": { 3809 | "version": "5.1.2", 3810 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3811 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 3812 | }, 3813 | "scheduler": { 3814 | "version": "0.23.0", 3815 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 3816 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 3817 | "requires": { 3818 | "loose-envify": "^1.1.0" 3819 | } 3820 | }, 3821 | "source-map": { 3822 | "version": "0.5.7", 3823 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3824 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" 3825 | }, 3826 | "source-map-js": { 3827 | "version": "1.0.2", 3828 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3829 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 3830 | }, 3831 | "space-separated-tokens": { 3832 | "version": "2.0.2", 3833 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", 3834 | "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" 3835 | }, 3836 | "streamsearch": { 3837 | "version": "1.1.0", 3838 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 3839 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" 3840 | }, 3841 | "string_decoder": { 3842 | "version": "0.10.31", 3843 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 3844 | "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" 3845 | }, 3846 | "style-to-object": { 3847 | "version": "0.4.1", 3848 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", 3849 | "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", 3850 | "requires": { 3851 | "inline-style-parser": "0.1.1" 3852 | } 3853 | }, 3854 | "styled-jsx": { 3855 | "version": "5.1.1", 3856 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 3857 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 3858 | "requires": { 3859 | "client-only": "0.0.1" 3860 | } 3861 | }, 3862 | "stylis": { 3863 | "version": "4.2.0", 3864 | "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", 3865 | "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" 3866 | }, 3867 | "supports-color": { 3868 | "version": "5.5.0", 3869 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3870 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3871 | "requires": { 3872 | "has-flag": "^3.0.0" 3873 | } 3874 | }, 3875 | "supports-preserve-symlinks-flag": { 3876 | "version": "1.0.0", 3877 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3878 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" 3879 | }, 3880 | "through": { 3881 | "version": "2.3.8", 3882 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3883 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" 3884 | }, 3885 | "through2": { 3886 | "version": "0.4.2", 3887 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", 3888 | "integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==", 3889 | "requires": { 3890 | "readable-stream": "~1.0.17", 3891 | "xtend": "~2.1.1" 3892 | } 3893 | }, 3894 | "to-fast-properties": { 3895 | "version": "2.0.0", 3896 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 3897 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" 3898 | }, 3899 | "trim-lines": { 3900 | "version": "3.0.1", 3901 | "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", 3902 | "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" 3903 | }, 3904 | "trough": { 3905 | "version": "2.1.0", 3906 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", 3907 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" 3908 | }, 3909 | "tslib": { 3910 | "version": "2.5.2", 3911 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", 3912 | "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" 3913 | }, 3914 | "unified": { 3915 | "version": "10.1.2", 3916 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", 3917 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", 3918 | "requires": { 3919 | "@types/unist": "^2.0.0", 3920 | "bail": "^2.0.0", 3921 | "extend": "^3.0.0", 3922 | "is-buffer": "^2.0.0", 3923 | "is-plain-obj": "^4.0.0", 3924 | "trough": "^2.0.0", 3925 | "vfile": "^5.0.0" 3926 | } 3927 | }, 3928 | "unist-util-generated": { 3929 | "version": "2.0.1", 3930 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", 3931 | "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==" 3932 | }, 3933 | "unist-util-is": { 3934 | "version": "5.2.1", 3935 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", 3936 | "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", 3937 | "requires": { 3938 | "@types/unist": "^2.0.0" 3939 | } 3940 | }, 3941 | "unist-util-position": { 3942 | "version": "4.0.4", 3943 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", 3944 | "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", 3945 | "requires": { 3946 | "@types/unist": "^2.0.0" 3947 | } 3948 | }, 3949 | "unist-util-stringify-position": { 3950 | "version": "3.0.3", 3951 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", 3952 | "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", 3953 | "requires": { 3954 | "@types/unist": "^2.0.0" 3955 | } 3956 | }, 3957 | "unist-util-visit": { 3958 | "version": "4.1.2", 3959 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", 3960 | "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", 3961 | "requires": { 3962 | "@types/unist": "^2.0.0", 3963 | "unist-util-is": "^5.0.0", 3964 | "unist-util-visit-parents": "^5.1.1" 3965 | } 3966 | }, 3967 | "unist-util-visit-parents": { 3968 | "version": "5.1.3", 3969 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", 3970 | "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", 3971 | "requires": { 3972 | "@types/unist": "^2.0.0", 3973 | "unist-util-is": "^5.0.0" 3974 | } 3975 | }, 3976 | "util-deprecate": { 3977 | "version": "1.0.2", 3978 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3979 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" 3980 | }, 3981 | "uvu": { 3982 | "version": "0.5.6", 3983 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", 3984 | "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", 3985 | "requires": { 3986 | "dequal": "^2.0.0", 3987 | "diff": "^5.0.0", 3988 | "kleur": "^4.0.3", 3989 | "sade": "^1.7.3" 3990 | } 3991 | }, 3992 | "vfile": { 3993 | "version": "5.3.7", 3994 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", 3995 | "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", 3996 | "requires": { 3997 | "@types/unist": "^2.0.0", 3998 | "is-buffer": "^2.0.0", 3999 | "unist-util-stringify-position": "^3.0.0", 4000 | "vfile-message": "^3.0.0" 4001 | } 4002 | }, 4003 | "vfile-message": { 4004 | "version": "3.1.4", 4005 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", 4006 | "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", 4007 | "requires": { 4008 | "@types/unist": "^2.0.0", 4009 | "unist-util-stringify-position": "^3.0.0" 4010 | } 4011 | }, 4012 | "xtend": { 4013 | "version": "2.1.2", 4014 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", 4015 | "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", 4016 | "requires": { 4017 | "object-keys": "~0.4.0" 4018 | } 4019 | }, 4020 | "yaml": { 4021 | "version": "1.10.2", 4022 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 4023 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" 4024 | }, 4025 | "zod": { 4026 | "version": "3.21.4", 4027 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", 4028 | "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==" 4029 | } 4030 | } 4031 | } 4032 | --------------------------------------------------------------------------------