├── next.config.js ├── public ├── robots.txt ├── favicon.ico ├── apple-icon.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon-96x96.png ├── ms-icon-70x70.png ├── apple-icon-57x57.png ├── apple-icon-60x60.png ├── apple-icon-72x72.png ├── apple-icon-76x76.png ├── ms-icon-144x144.png ├── ms-icon-150x150.png ├── ms-icon-310x310.png ├── android-icon-36x36.png ├── android-icon-48x48.png ├── android-icon-72x72.png ├── android-icon-96x96.png ├── apple-icon-114x114.png ├── apple-icon-120x120.png ├── apple-icon-144x144.png ├── apple-icon-152x152.png ├── apple-icon-180x180.png ├── android-icon-144x144.png ├── android-icon-192x192.png ├── apple-icon-precomposed.png ├── assets │ └── fonts │ │ ├── Hack-NF.ttf │ │ ├── CascadiaCode.ttf │ │ └── Hack-Regular.ttf ├── browserconfig.xml └── manifest.json ├── vercel.json ├── demo ├── demo.gif ├── demo.png ├── nord.png ├── mocha.png ├── themes.png ├── cveinnt.png ├── dracula.png ├── gruvbox.png ├── monokai.png ├── paraiso.png └── solarized.png ├── .husky └── pre-commit ├── postcss.config.js ├── src ├── utils │ ├── bin │ │ ├── index.ts │ │ ├── api_commands.ts │ │ ├── sumfetch.ts │ │ └── commands.ts │ ├── commandExists.ts │ ├── tabCompletion.ts │ ├── shell.ts │ └── api.ts ├── components │ ├── history │ │ ├── interface.ts │ │ ├── hook.ts │ │ └── History.tsx │ ├── Ps1.tsx │ └── input.tsx ├── pages │ ├── 404.tsx │ ├── _app.tsx │ └── index.tsx └── styles │ └── global.css ├── .prettierrc.json ├── next-env.d.ts ├── .eslintrc.js ├── Dockerfile ├── docker-compose.yml ├── .prettierignore ├── .gitignore ├── tailwind.config.js ├── tsconfig.json ├── LICENSE ├── config.json ├── package.json ├── install └── install.sh ├── themes.json ├── README.md └── yarn.lock /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | Disallow: /cgi-bin/ 4 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "github": { 3 | "silent": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /demo/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/demo.gif -------------------------------------------------------------------------------- /demo/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/demo.png -------------------------------------------------------------------------------- /demo/nord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/nord.png -------------------------------------------------------------------------------- /demo/mocha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/mocha.png -------------------------------------------------------------------------------- /demo/themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/themes.png -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn lint 5 | -------------------------------------------------------------------------------- /demo/cveinnt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/cveinnt.png -------------------------------------------------------------------------------- /demo/dracula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/dracula.png -------------------------------------------------------------------------------- /demo/gruvbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/gruvbox.png -------------------------------------------------------------------------------- /demo/monokai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/monokai.png -------------------------------------------------------------------------------- /demo/paraiso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/paraiso.png -------------------------------------------------------------------------------- /demo/solarized.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/demo/solarized.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon.png -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/favicon-96x96.png -------------------------------------------------------------------------------- /public/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-36x36.png -------------------------------------------------------------------------------- /public/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-48x48.png -------------------------------------------------------------------------------- /public/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-72x72.png -------------------------------------------------------------------------------- /public/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-96x96.png -------------------------------------------------------------------------------- /public/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-144x144.png -------------------------------------------------------------------------------- /public/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/android-icon-192x192.png -------------------------------------------------------------------------------- /public/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/apple-icon-precomposed.png -------------------------------------------------------------------------------- /public/assets/fonts/Hack-NF.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/assets/fonts/Hack-NF.ttf -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/assets/fonts/CascadiaCode.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/assets/fonts/CascadiaCode.ttf -------------------------------------------------------------------------------- /public/assets/fonts/Hack-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cveinnt/LiveTerm/HEAD/public/assets/fonts/Hack-Regular.ttf -------------------------------------------------------------------------------- /src/utils/bin/index.ts: -------------------------------------------------------------------------------- 1 | export * from './commands'; 2 | export * from './api_commands'; 3 | export { default as sumfetch } from './sumfetch'; 4 | -------------------------------------------------------------------------------- /src/components/history/interface.ts: -------------------------------------------------------------------------------- 1 | export interface History { 2 | id: number; 3 | date: Date; 4 | command: string; 5 | output: string; 6 | } 7 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "bracketSpacing": true, 6 | "tabWidth": 2 7 | } 8 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /src/utils/commandExists.ts: -------------------------------------------------------------------------------- 1 | import * as bin from './bin'; 2 | 3 | export const commandExists = (command: string) => { 4 | const commands = ['clear', ...Object.keys(bin)]; 5 | return commands.indexOf(command.split(' ')[0].toLowerCase()) !== -1; 6 | }; 7 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: ['prettier'], 3 | extends: ['next/core-web-vitals'], 4 | rules: { 5 | 'no-console': 'error', 6 | 'prettier/prettier': 'warn', 7 | 'react-hooks/exhaustive-deps': 'off', 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:18-alpine as base 2 | 3 | WORKDIR /home/node/app 4 | COPY package.json ./ 5 | RUN npm install -g npm-check-updates 6 | RUN ncu -u 7 | RUN npm install 8 | COPY . ./ 9 | 10 | FROM base as production 11 | 12 | ENV NODE_PATH=./build 13 | RUN npm run build 14 | -------------------------------------------------------------------------------- /public/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /src/pages/404.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useRouter } from 'next/router'; 3 | 4 | const NotFoundPage = () => { 5 | const router = useRouter(); 6 | 7 | React.useEffect(() => { 8 | router.replace('/'); 9 | }); 10 | 11 | return null; 12 | }; 13 | 14 | export default NotFoundPage; 15 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | liveterm: 4 | build: 5 | context: . 6 | dockerfile: Dockerfile 7 | target: base 8 | expose: 9 | - '3000' 10 | ports: 11 | - '3000:3000' 12 | volumes: 13 | - ./src/:/home/node/app/src 14 | command: npm run dev 15 | -------------------------------------------------------------------------------- /src/utils/tabCompletion.ts: -------------------------------------------------------------------------------- 1 | import * as bin from './bin'; 2 | 3 | export const handleTabCompletion = ( 4 | command: string, 5 | setCommand: React.Dispatch>, 6 | ) => { 7 | const commands = Object.keys(bin).filter((entry) => 8 | entry.startsWith(command), 9 | ); 10 | 11 | if (commands.length === 1) { 12 | setCommand(commands[0]); 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | /node_modules 3 | /.pnp 4 | .pnp.js 5 | 6 | # testing 7 | /coverage 8 | 9 | # next.js 10 | /.next/ 11 | /out/ 12 | 13 | # production 14 | /build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env*.local 28 | 29 | # vercel 30 | .vercel 31 | 32 | # typescript 33 | *.tsbuildinfo 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | /node_modules 3 | /.pnp 4 | .pnp.js 5 | 6 | # testing 7 | /coverage 8 | 9 | # next.js 10 | /.next/ 11 | /out/ 12 | 13 | # production 14 | /build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env*.local 28 | 29 | # vercel 30 | .vercel 31 | 32 | # typescript 33 | *.tsbuildinfo 34 | 35 | .gitattributes -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const { colors } = require('./config.json'); 2 | 3 | module.exports = { 4 | content: [ 5 | './src/pages/**/*.{js,ts,jsx,tsx}', 6 | './src/components/**/*.{js,ts,jsx,tsx}', 7 | ], 8 | darkMode: 'media', // or 'media' or 'class' 9 | theme: { 10 | colors: { 11 | transparent: 'transparent', 12 | current: 'currentColor', 13 | ...colors, 14 | }, 15 | extend: {}, 16 | }, 17 | variants: { 18 | extend: {}, 19 | }, 20 | plugins: [], 21 | }; 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": false, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "incremental": true, 11 | "esModuleInterop": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "jsx": "preserve" 17 | }, 18 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 19 | "exclude": ["node_modules"] 20 | } 21 | -------------------------------------------------------------------------------- /src/components/Ps1.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import config from '../../config.json'; 3 | 4 | export const Ps1 = () => { 5 | return ( 6 |
7 | 8 | {config.ps1_username} 9 | 10 | @ 11 | 12 | {config.ps1_hostname} 13 | 14 | :$ ~ 15 |
16 | ); 17 | }; 18 | 19 | export default Ps1; 20 | -------------------------------------------------------------------------------- /src/styles/global.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @font-face { 6 | font-family: 'Hack'; 7 | src: url(/assets/fonts/Hack-NF.ttf); 8 | display: swap; 9 | } 10 | 11 | * { 12 | font-family: 'Hack', monospace; 13 | } 14 | 15 | html, 16 | body, 17 | body > div:first-child, 18 | div#__next, 19 | div#__next > div { 20 | height: 100%; 21 | overflow: auto; 22 | } 23 | 24 | ::-webkit-scrollbar { 25 | width: 10px; 26 | height: 10px; 27 | } 28 | 29 | ::-webkit-scrollbar-track { 30 | background: #1e252e; 31 | border-radius: 5px; 32 | } 33 | 34 | ::-webkit-scrollbar-thumb { 35 | background: #ebdbb2; 36 | border-radius: 5px; 37 | } 38 | 39 | ::-webkit-scrollbar-thumb:hover { 40 | background: #ff8037; 41 | } 42 | -------------------------------------------------------------------------------- /src/utils/shell.ts: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import * as bin from './bin'; 3 | 4 | export const shell = async ( 5 | command: string, 6 | setHistory: (value: string) => void, 7 | clearHistory: () => void, 8 | setCommand: React.Dispatch>, 9 | ) => { 10 | const args = command.split(' '); 11 | args[0] = args[0].toLowerCase(); 12 | 13 | if (args[0] === 'clear') { 14 | clearHistory(); 15 | } else if (command === '') { 16 | setHistory(''); 17 | } else if (Object.keys(bin).indexOf(args[0]) === -1) { 18 | setHistory( 19 | `shell: command not found: ${args[0]}. Try 'help' to get started.`, 20 | ); 21 | } else { 22 | const output = await bin[args[0]](args.slice(1)); 23 | setHistory(output); 24 | } 25 | 26 | setCommand(''); 27 | }; 28 | -------------------------------------------------------------------------------- /src/components/history/hook.ts: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { History } from './interface'; 3 | 4 | export const useHistory = (defaultValue: Array) => { 5 | const [history, setHistory] = React.useState>(defaultValue); 6 | const [command, setCommand] = React.useState(''); 7 | const [lastCommandIndex, setLastCommandIndex] = React.useState(0); 8 | 9 | return { 10 | history, 11 | command, 12 | lastCommandIndex, 13 | setHistory: (value: string) => 14 | setHistory([ 15 | ...history, 16 | { 17 | id: history.length, 18 | date: new Date(), 19 | command, 20 | output: value, 21 | }, 22 | ]), 23 | setCommand, 24 | setLastCommandIndex, 25 | clearHistory: () => setHistory([]), 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /src/utils/api.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import config from '../../config.json'; 3 | 4 | export const getProjects = async () => { 5 | const { data } = await axios.get( 6 | `https://api.github.com/users/${config.social.github}/repos`, 7 | ); 8 | return data; 9 | }; 10 | 11 | export const getReadme = async () => { 12 | const { data } = await axios.get(config.readmeUrl); 13 | return data; 14 | }; 15 | 16 | export const getWeather = async (city: string) => { 17 | try { 18 | const { data } = await axios.get(`https://wttr.in/${city}?ATm`); 19 | return data; 20 | } catch (error) { 21 | return error; 22 | } 23 | }; 24 | 25 | export const getQuote = async () => { 26 | const { data } = await axios.get('https://api.quotable.io/random'); 27 | return { 28 | quote: `“${data.content}” — ${data.author}`, 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /src/components/history/History.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { History as HistoryInterface } from './interface'; 3 | import { Ps1 } from '../Ps1'; 4 | 5 | export const History: React.FC<{ history: Array }> = ({ 6 | history, 7 | }) => { 8 | return ( 9 | <> 10 | {history.map((entry: HistoryInterface, index: number) => ( 11 |
12 |
13 |
14 | 15 |
16 | 17 |
{entry.command}
18 |
19 | 20 |

25 |

26 | ))} 27 | 28 | ); 29 | }; 30 | 31 | export default History; 32 | -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import '../styles/global.css'; 3 | import Head from 'next/head'; 4 | 5 | const App = ({ Component, pageProps }) => { 6 | const inputRef = React.useRef(null); 7 | 8 | const onClickAnywhere = () => { 9 | inputRef.current.focus(); 10 | }; 11 | 12 | return ( 13 | <> 14 | 15 | 21 | 22 | 23 |
27 |
28 | 29 |
30 |
31 | 32 | ); 33 | }; 34 | 35 | export default App; 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Vincent Wu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "readmeUrl": "https://raw.githubusercontent.com/cveinnt/cveinnt/master/README.md", 3 | "title": "LiveTerm", 4 | "name": "John Doe", 5 | "ascii": "liveterm", 6 | "social": { 7 | "github": "github", 8 | "linkedin": "linkedin" 9 | }, 10 | "email": "contact@email.com", 11 | "ps1_hostname": "liveterm", 12 | "ps1_username": "visitor", 13 | "repo": "https://github.com/Cveinnt/LiveTerm", 14 | "resume_url": "https://upload.wikimedia.org/wikipedia/commons/c/cc/Resume.pdf", 15 | "donate_urls": { 16 | "paypal": "https://paypal.me/cveinnt", 17 | "patreon": "https://patreon.com/cveinnt" 18 | }, 19 | "colors": { 20 | "light": { 21 | "background": "#FBF1C9", 22 | "foreground": "#3C3836", 23 | "yellow": "#D79921", 24 | "green": "#98971A", 25 | "gray": "#7C6F64", 26 | "blue": "#458588", 27 | "red": "#CA2124" 28 | }, 29 | "dark": { 30 | "background": "#2E3440", 31 | "foreground": "#E5E9F0", 32 | "yellow": "#5E81AC", 33 | "green": "#A3BE8C", 34 | "gray": "#88C0D0", 35 | "blue": "#EBCB8B", 36 | "red": "#BF616A" 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/utils/bin/api_commands.ts: -------------------------------------------------------------------------------- 1 | // // List of commands that require API calls 2 | 3 | import { getProjects } from '../api'; 4 | import { getQuote } from '../api'; 5 | import { getReadme } from '../api'; 6 | import { getWeather } from '../api'; 7 | 8 | export const projects = async (args: string[]): Promise => { 9 | const projects = await getProjects(); 10 | return projects 11 | .map( 12 | (repo) => 13 | `${repo.name} - ${repo.html_url}`, 14 | ) 15 | .join('\n'); 16 | }; 17 | 18 | export const quote = async (args: string[]): Promise => { 19 | const data = await getQuote(); 20 | return data.quote; 21 | }; 22 | 23 | export const readme = async (args: string[]): Promise => { 24 | const readme = await getReadme(); 25 | return `Opening GitHub README...\n 26 | ${readme}`; 27 | }; 28 | 29 | export const weather = async (args: string[]): Promise => { 30 | const city = args.join('+'); 31 | if (!city) { 32 | return 'Usage: weather [city]. Example: weather casablanca'; 33 | } 34 | const weather = await getWeather(city); 35 | return weather; 36 | }; 37 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "liveterm", 3 | "version": "0.1.0", 4 | "license": "MIT", 5 | "author": { 6 | "name": "Vincent Wu", 7 | "url": "https://cveinnt.com", 8 | "email": "contact@wensenwu.com" 9 | }, 10 | "scripts": { 11 | "dev": "next dev", 12 | "build": "next build", 13 | "start": "next start", 14 | "lint": "next lint", 15 | "prepare": "husky install" 16 | }, 17 | "dependencies": { 18 | "axios": "^0.27.2", 19 | "next": "12.1.6", 20 | "react": "18.1.0", 21 | "react-dom": "18.1.0", 22 | "react-icons": "^4.3.1" 23 | }, 24 | "devDependencies": { 25 | "@types/node": "17.0.32", 26 | "@types/react": "18.0.9", 27 | "@types/react-dom": "18.0.3", 28 | "@typescript-eslint/eslint-plugin": "^5.23.0", 29 | "@typescript-eslint/parser": "^5.23.0", 30 | "autoprefixer": "^10.4.7", 31 | "eslint": "8.15.0", 32 | "eslint-config-next": "^12.1.6", 33 | "eslint-plugin-next": "^0.0.0", 34 | "eslint-plugin-prettier": "^4.0.0", 35 | "eslint-plugin-react": "^7.29.4", 36 | "husky": "^8.0.1", 37 | "postcss": "^8.4.13", 38 | "prettier": "^2.6.2", 39 | "tailwindcss": "^3.0.24", 40 | "typescript": "^4.6.4" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LiveTerm", 3 | "short_name": "LiveTerm", 4 | "theme_color": "#2E3440", 5 | "background_color": "#2E3440", 6 | "display": "fullscreen", 7 | "orientation": "portrait", 8 | "scope": "/", 9 | "start_url": "/", 10 | "icons": [ 11 | { 12 | "src": "/android-icon-36x36.png", 13 | "sizes": "36x36", 14 | "type": "image/png", 15 | "density": "0.75" 16 | }, 17 | { 18 | "src": "/android-icon-48x48.png", 19 | "sizes": "48x48", 20 | "type": "image/png", 21 | "density": "1.0" 22 | }, 23 | { 24 | "src": "/android-icon-72x72.png", 25 | "sizes": "72x72", 26 | "type": "image/png", 27 | "density": "1.5" 28 | }, 29 | { 30 | "src": "/android-icon-96x96.png", 31 | "sizes": "96x96", 32 | "type": "image/png", 33 | "density": "2.0" 34 | }, 35 | { 36 | "src": "/android-icon-144x144.png", 37 | "sizes": "144x144", 38 | "type": "image/png", 39 | "density": "3.0" 40 | }, 41 | { 42 | "src": "/android-icon-192x192.png", 43 | "sizes": "192x192", 44 | "type": "image/png", 45 | "density": "4.0" 46 | } 47 | ], 48 | "splash_pages": null 49 | } 50 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import Head from 'next/head'; 2 | import React from 'react'; 3 | import config from '../../config.json'; 4 | import { Input } from '../components/input'; 5 | import { useHistory } from '../components/history/hook'; 6 | import { History } from '../components/history/History'; 7 | import { banner } from '../utils/bin'; 8 | 9 | interface IndexPageProps { 10 | inputRef: React.MutableRefObject; 11 | } 12 | 13 | const IndexPage: React.FC = ({ inputRef }) => { 14 | const containerRef = React.useRef(null); 15 | const { 16 | history, 17 | command, 18 | lastCommandIndex, 19 | setCommand, 20 | setHistory, 21 | clearHistory, 22 | setLastCommandIndex, 23 | } = useHistory([]); 24 | 25 | const init = React.useCallback(() => setHistory(banner()), []); 26 | 27 | React.useEffect(() => { 28 | init(); 29 | }, [init]); 30 | 31 | React.useEffect(() => { 32 | if (inputRef.current) { 33 | inputRef.current.scrollIntoView(); 34 | inputRef.current.focus({ preventScroll: true }); 35 | } 36 | }, [history]); 37 | 38 | return ( 39 | <> 40 | 41 | {config.title} 42 | 43 | 44 |
45 |
46 | 47 | 48 | 59 |
60 |
61 | 62 | ); 63 | }; 64 | 65 | export default IndexPage; 66 | -------------------------------------------------------------------------------- /install/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This script installs LiveTerm. 3 | # 4 | # Found a bug? Report it here: https://github.com/Cveinnt/LiveTerm/issues 5 | 6 | set -e -u 7 | 8 | eval "git clone 'https://github.com/Cveinnt/LiveTerm.git'" 9 | 10 | cd LiveTerm 11 | 12 | echo "LiveTerm cloned! Installing dependencies..." 13 | 14 | if command -v yarn >/dev/null 2>&1 ; then 15 | yarn install 16 | else 17 | cat 1>&2 << 'EOA' 18 | /=====================================\\ 19 | | COMMAND NOT FOUND: 'yarn' | 20 | \\=====================================/ 21 | 22 | Uh oh! We couldn't find 'yarn' installed on your system. 23 | 24 | You should first install 'yarn' on your system. 25 | 26 | For more information, visit yarn's installation page: 27 | 28 | https://classic.yarnpkg.com/lang/en/docs/install/ 29 | 30 | EOA 31 | exit 1 32 | fi 33 | 34 | cat <<-'EOM' 35 | 36 | 37 | █████ ███ ███████████ 38 | ░░███ ░░░ ░█░░░███░░░█ 39 | ░███ ████ █████ █████ ██████ ░ ░███ ░ ██████ ████████ █████████████ 40 | ░███ ░░███ ░░███ ░░███ ███░░███ ░███ ███░░███░░███░░███░░███░░███░░███ 41 | ░███ ░███ ░███ ░███ ░███████ ░███ ░███████ ░███ ░░░ ░███ ░███ ░███ 42 | ░███ █ ░███ ░░███ ███ ░███░░░ ░███ ░███░░░ ░███ ░███ ░███ ░███ 43 | ███████████ █████ ░░█████ ░░██████ █████ ░░██████ █████ █████░███ █████ 44 | ░░░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ 45 | 46 | 47 | LiveTerm has been downloaded to the current directory. 48 | You can start developing it with: 49 | 50 | cd LiveTerm && yarn dev 51 | 52 | This will open a local port at http://localhost:3000, 53 | where you can preview your website. To apply changes, edit: 54 | 55 | config.json 56 | 57 | And the changes should be applied upon saves! 58 | 59 | EOM -------------------------------------------------------------------------------- /src/components/input.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { commandExists } from '../utils/commandExists'; 3 | import { shell } from '../utils/shell'; 4 | import { handleTabCompletion } from '../utils/tabCompletion'; 5 | import { Ps1 } from './Ps1'; 6 | 7 | export const Input = ({ 8 | inputRef, 9 | containerRef, 10 | command, 11 | history, 12 | lastCommandIndex, 13 | setCommand, 14 | setHistory, 15 | setLastCommandIndex, 16 | clearHistory, 17 | }) => { 18 | const onSubmit = async (event: React.KeyboardEvent) => { 19 | const commands: [string] = history 20 | .map(({ command }) => command) 21 | .filter((command: string) => command); 22 | 23 | if (event.key === 'c' && event.ctrlKey) { 24 | event.preventDefault(); 25 | setCommand(''); 26 | setHistory(''); 27 | setLastCommandIndex(0); 28 | } 29 | 30 | if (event.key === 'l' && event.ctrlKey) { 31 | event.preventDefault(); 32 | clearHistory(); 33 | } 34 | 35 | if (event.key === 'Tab') { 36 | event.preventDefault(); 37 | handleTabCompletion(command, setCommand); 38 | } 39 | 40 | if (event.key === 'Enter' || event.code === '13') { 41 | event.preventDefault(); 42 | setLastCommandIndex(0); 43 | await shell(command, setHistory, clearHistory, setCommand); 44 | containerRef.current.scrollTo(0, containerRef.current.scrollHeight); 45 | } 46 | 47 | if (event.key === 'ArrowUp') { 48 | event.preventDefault(); 49 | if (!commands.length) { 50 | return; 51 | } 52 | const index: number = lastCommandIndex + 1; 53 | if (index <= commands.length) { 54 | setLastCommandIndex(index); 55 | setCommand(commands[commands.length - index]); 56 | } 57 | } 58 | 59 | if (event.key === 'ArrowDown') { 60 | event.preventDefault(); 61 | if (!commands.length) { 62 | return; 63 | } 64 | const index: number = lastCommandIndex - 1; 65 | if (index > 0) { 66 | setLastCommandIndex(index); 67 | setCommand(commands[commands.length - index]); 68 | } else { 69 | setLastCommandIndex(0); 70 | setCommand(''); 71 | } 72 | } 73 | }; 74 | 75 | const onChange = ({ 76 | target: { value }, 77 | }: React.ChangeEvent) => { 78 | setCommand(value); 79 | }; 80 | 81 | return ( 82 |
83 | 86 | 87 | 103 |
104 | ); 105 | }; 106 | 107 | export default Input; 108 | -------------------------------------------------------------------------------- /src/utils/bin/sumfetch.ts: -------------------------------------------------------------------------------- 1 | import config from '../../../config.json'; 2 | 3 | const sumfetch = async (args: string[]): Promise => { 4 | if (config.ascii === 'cveinnt') { 5 | return ` 6 | @@@@@@@@@@@@@  sumfetch: summary display 7 | @@@@ @@@@ ----------- 8 | @@ @@  ABOUT 9 | @@ @@  ${config.name} 10 | @@ @@ ﰩ ${config.ps1_hostname} 11 | @@ @@@ @@  resume 12 | @@ @@@ @@ 爵 Github repo 13 | @@ @@ ----------- 14 | @@ .@@@@@@@@@@. @@  CONTACT 15 | @@ @@ @@ @@  ${config.email} 16 | @@ @@ @@ @@  github.com/${config.social.github} 17 | @@ @@@@@@ @@  linkedin.com/in/${config.social.linkedin} 18 | @@@ @@@ ----------- 19 | @@@ @@@ @@  DONATE 20 | @| @@@@@@@@@@@@@@@@ @@  ${config.donate_urls.paypal} 21 | @| @@  ${config.donate_urls.patreon} 22 | 23 | `; 24 | } else { 25 | return ` 26 | ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄   sumfetch 27 | ▄▓▓▀ ▄▓▓▀▓▓▓▀▓▓▄ ▀▀▓▓▄  ----------- 28 | ▓▓▀ ▄▓▀  ▐▓▓ ▀▓▓  ▓▓▄   ABOUT 29 | ▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓   ${config.name} 30 | ▓▓ ▓▓▓  ▐▓▓  ▐▓▓  ▓▓   resume 31 | ▐▓▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▓ 爵 Github repo 32 | ▐▓  ▐▓ ----------- 33 | ▐▓  > L I V E T E R M ▐▓  CONTACT 34 | ▐▓  ▐▓  ${config.email} 35 | ▐▓▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▓  github.com/${config.social.github} 36 | ▓▓ ▐▓▓  ▓▓  ▐▓▓  ▓▓   linkedin.com/in/${config.social.linkedin} 37 | ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  ----------- 38 | ▓▓▓  ▐▓▓  ▓▓  ▓▓▓ ▓▓▀   DONATE 39 | ▀▓▓▄▄ ▀▓▓▄▓▓▄▓▓▓▄▄▓▓▀   ${config.donate_urls.paypal} 40 | ▀▓▓▓▓▓▓▓▓▓▓▓▀▀   ${config.donate_urls.patreon} 41 | 42 | `; 43 | } 44 | }; 45 | 46 | export default sumfetch; 47 | -------------------------------------------------------------------------------- /themes.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": { 3 | "light": { 4 | "background": "#FBF1C9", 5 | "foreground": "#3C3836", 6 | "yellow": "#D79921", 7 | "green": "#98971A", 8 | "gray": "#7C6F64", 9 | "blue": "#458588", 10 | "red": "#CA2124" 11 | }, 12 | "dark": { 13 | "background": "#2E3440", 14 | "foreground": "#E5E9F0", 15 | "yellow": "#5E81AC", 16 | "green": "#A3BE8C", 17 | "gray": "#88C0D0", 18 | "blue": "#EBCB8B", 19 | "red": "#BF616A" 20 | } 21 | }, 22 | "gruvbox": { 23 | "light": { 24 | "background": "#FBF1C9", 25 | "foreground": "#3C3836", 26 | "yellow": "#D79921", 27 | "green": "#98971A", 28 | "gray": "#7C6F64", 29 | "blue": "#458588", 30 | "red": "#CA2124" 31 | }, 32 | "dark": { 33 | "background": "#1c1c1c", 34 | "foreground": "#EBDBB2", 35 | "yellow": "#D79921", 36 | "green": "#98971A", 37 | "gray": "#A89984", 38 | "blue": "#458588", 39 | "red": "#CA2124" 40 | } 41 | }, 42 | "dracula": { 43 | "light": { 44 | "background": "#FFFFDB", 45 | "foreground": "#282a36", 46 | "yellow": "#ffb86c", 47 | "green": "#50fa7b", 48 | "gray": "#8B6BB9", 49 | "blue": "#67AFC0", 50 | "red": "#ff5555" 51 | }, 52 | "dark": { 53 | "background": "#282a36", 54 | "foreground": "#f8f8f2", 55 | "yellow": "#ffb86c", 56 | "green": "#50fa7b", 57 | "gray": "#bd93f9", 58 | "blue": "#8be9fd", 59 | "red": "#ff5555" 60 | } 61 | }, 62 | "Nord": { 63 | "light": { 64 | "background": "#E5E9F0", 65 | "foreground": "#2E3440", 66 | "yellow": "#5E81AC", 67 | "green": "#A3BE8C", 68 | "gray": "#88C0D0", 69 | "blue": "#EBCB8B", 70 | "red": "#BF616A" 71 | }, 72 | "dark": { 73 | "background": "#2E3440", 74 | "foreground": "#E5E9F0", 75 | "yellow": "#5E81AC", 76 | "green": "#A3BE8C", 77 | "gray": "#88C0D0", 78 | "blue": "#EBCB8B", 79 | "red": "#BF616A" 80 | } 81 | }, 82 | "Monokai": { 83 | "light": { 84 | "background": "#F8F8F2", 85 | "foreground": "#272822", 86 | "yellow": "#F4BF75", 87 | "green": "#A6E22E", 88 | "gray": "#AE81FF", 89 | "blue": "#66D9EF", 90 | "red": "#F92672" 91 | }, 92 | "dark": { 93 | "background": "#272822", 94 | "foreground": "#F8F8F2", 95 | "yellow": "#F4BF75", 96 | "green": "#A6E22E", 97 | "gray": "#AE81FF", 98 | "blue": "#66D9EF", 99 | "red": "#F92672" 100 | } 101 | }, 102 | "Mocha": { 103 | "light": { 104 | "background": "#D0C8C6", 105 | "foreground": "#3B3228", 106 | "yellow": "#F4BC87", 107 | "green": "#BEB55B", 108 | "gray": "#A89BB9", 109 | "blue": "#8AB3B5", 110 | "red": "#CB6077" 111 | }, 112 | "dark": { 113 | "background": "#3B3228", 114 | "foreground": "#D0C8C6", 115 | "yellow": "#F4BC87", 116 | "green": "#BEB55B", 117 | "gray": "#A89BB9", 118 | "blue": "#8AB3B5", 119 | "red": "#CB6077" 120 | } 121 | }, 122 | "Solarized": { 123 | "light": { 124 | "background": "#FDF6E3", 125 | "foreground": "#586E75", 126 | "yellow": "#B58900", 127 | "green": "#859900", 128 | "gray": "#6C71C4", 129 | "blue": "#268BD2", 130 | "red": "#DC322F" 131 | }, 132 | "dark": { 133 | "background": "#002B36", 134 | "foreground": "#93A1A1", 135 | "yellow": "#B58900", 136 | "green": "#859900", 137 | "gray": "#6C71C4", 138 | "blue": "#268BD2", 139 | "red": "#DC322F" 140 | } 141 | }, 142 | "Paraiso": { 143 | "light": { 144 | "background": "#A39E9B", 145 | "foreground": "#2F1E2E", 146 | "yellow": "#FEC418", 147 | "green": "#48B685", 148 | "gray": "#815BA4", 149 | "blue": "#06B6EF", 150 | "red": "#EF6155" 151 | }, 152 | "dark": { 153 | "background": "#2F1E2E", 154 | "foreground": "#A39E9B", 155 | "yellow": "#FEC418", 156 | "green": "#48B685", 157 | "gray": "#815BA4", 158 | "blue": "#06B6EF", 159 | "red": "#EF6155" 160 | } 161 | } 162 | } 163 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [💻 LiveTerm - build terminal styled websites in minutes!](https://liveterm.vercel.app) 2 | 3 | Highly customizable, easy-to-use, and minimal terminal styled website template, powered by Next.js. 4 | 5 | Building a simple website with LiveTerm only takes **minutes**, and you only need to work with **one** file: `config.json`. After you cloned this repository, simply run `yarn install && yarn dev` and start editing `config.json` to build your website! 6 | 7 | LiveTerm can be used to build a variety of websites: 8 | 9 | - [personal website](https://cveinnt.com) 10 | - [browser startpage](https://livetermstart.vercel.app/) 11 | - [project page](https://liveterm.vercel.app/) 12 | - or maybe just a cool browser music player...be creative! 13 | 14 | Feel free to play with the web demo above! 15 | 16 | ## 📸 Showcase 17 | 18 |

19 |
20 | LiveTerm with different themes 21 |

22 | 23 |

24 |
25 | my personal website 26 |

27 | 28 | ## 🚀 Ship your LiveTerm site in less than 5 minutes 29 | 30 | LiveTerm requires the `yarn` package manager. You can install `yarn` [here](https://classic.yarnpkg.com/lang/en/docs/install/). 31 | 32 | Simply run the following commmand in your terminal: 33 | 34 | ```bash 35 | sh -c "$(curl -fsSL https://raw.github.com/Cveinnt/LiveTerm/main/install/install.sh)" 36 | ``` 37 | 38 | This will install LiveTerm to the current directory. You can start building your website with: 39 | 40 | ```bash 41 | cd LiveTerm && yarn dev 42 | ``` 43 | 44 | Start editing `config.json` and try saving and see the updated changes! 45 | 46 | Alternatively, you can clone this repository to a location of your choosing 47 | 48 | ```bash 49 | git clone https://github.com/Cveinnt/LiveTerm.git && cd LiveTerm 50 | ``` 51 | 52 | Then install dependencies and start developing there: 53 | 54 | ```bash 55 | yarn install && yarn dev 56 | ``` 57 | 58 | ### Docker Usage 59 | 60 | First, clone the project and edit `config.json` to your liking. Then run the following to start the container in the background: 61 | 62 | ```shell 63 | docker-compose up -d 64 | ``` 65 | 66 | If you **know** what you were doing, you can also try changing `Dockerfile` & `docker-compose.yml`! 67 | Learn more about Docker [here](https://docs.docker.com/get-started/overview/ 'here'). 68 | 69 | ## 📄 Configuration 70 | 71 | ### Basic Configuration 72 | 73 | 90% of LiveTerm's configurations are done through the `config.json` file. 74 | 75 | ```javascript 76 | { 77 | "readmeUrl": // create a Github README and link it here! 78 | "title": // title of the website 79 | "name": // your name, included in 'about' command 80 | "ascii": // ascii art to display 81 | "social": { 82 | "github": // your handle 83 | "linkedin": // your handle 84 | }, 85 | "email": // your email 86 | "ps1_hostname": "liveterm" // hostname in prompt 87 | "ps1_username": "visitor", // username in prompt 88 | "resume_url": "../resume.pdf", // path to your resume 89 | "non_terminal_url": "W", 90 | "colors": { 91 | "light": { 92 | ... 93 | }, 94 | "dark": { 95 | ... // you can use existing templates in themes.json or use your own! 96 | } 97 | } 98 | } 99 | ``` 100 | 101 | Feel free to change it as you see fit! 102 | 103 | ### Themes 104 | 105 | You can find several pre-configured themes in `themes.json`, and you can replace the colors in `config.json` with the theme color you like! The themes are based on the themes on [this website](https://glitchbone.github.io/vscode-base16-term/#/). 106 | 107 | For a better preview of the themes, checkout the images in the `demo` folder. 108 | 109 | ### Favicons 110 | 111 | Favicons are located in `public/`, along with the other files you may want to upload to your website. I used this [website](https://www.favicon-generator.org/) to generate favicons. 112 | 113 | ### Banner 114 | 115 | You may also want to change the output of the `banner` command. To do that, simply paste your generated banner in `src/utils/bin/commands.ts`. I used this [website](https://manytools.org/hacker-tools/ascii-banner/) to generate my banner. 116 | 117 | ### Advanced Configuration 118 | 119 | If you want to further customize your page, feel free to change the source code to your liking! 120 | 121 | ## 🌐 Deploy on Vercel 122 | 123 | The easiest way to deploy a Next.js app is to use the [Vercel Platform](https://vercel.com/) from the creators of Next.js. 124 | 125 | You can install `vercel` cli and follow the instruction [here](https://vercel.com/docs/concepts/deployments/overview). 126 | 127 | You can also connect your github account to vercel and have vercel automatically deploy the github repository for you. 128 | 129 | ## Credit 130 | 131 | Based on M4TT72's awesome [Terminal](https://github.com/m4tt72/terminal). 132 | -------------------------------------------------------------------------------- /src/utils/bin/commands.ts: -------------------------------------------------------------------------------- 1 | // List of commands that do not require API calls 2 | 3 | import * as bin from './index'; 4 | import config from '../../../config.json'; 5 | 6 | // Help 7 | export const help = async (args: string[]): Promise => { 8 | const commands = Object.keys(bin).sort().join(', '); 9 | var c = ''; 10 | for (let i = 1; i <= Object.keys(bin).sort().length; i++) { 11 | if (i % 7 === 0) { 12 | c += Object.keys(bin).sort()[i - 1] + '\n'; 13 | } else { 14 | c += Object.keys(bin).sort()[i - 1] + ' '; 15 | } 16 | } 17 | return `Welcome! Here are all the available commands: 18 | \n${c}\n 19 | [tab]: trigger completion. 20 | [ctrl+l]/clear: clear terminal.\n 21 | Type 'sumfetch' to display summary. 22 | `; 23 | }; 24 | 25 | // Redirection 26 | export const repo = async (args: string[]): Promise => { 27 | window.open(`${config.repo}`); 28 | return 'Opening Github repository...'; 29 | }; 30 | 31 | // About 32 | export const about = async (args: string[]): Promise => { 33 | return `Hi, I am ${config.name}. 34 | Welcome to my website! 35 | More about me: 36 | 'sumfetch' - short summary. 37 | 'resume' - my latest resume. 38 | 'readme' - my github readme.`; 39 | }; 40 | 41 | export const resume = async (args: string[]): Promise => { 42 | window.open(`${config.resume_url}`); 43 | return 'Opening resume...'; 44 | }; 45 | 46 | // Donate 47 | export const donate = async (args: string[]): Promise => { 48 | return `thank you for your interest. 49 | here are the ways you can support my work: 50 | - paypal 51 | - patreon 52 | `; 53 | }; 54 | 55 | // Contact 56 | export const email = async (args: string[]): Promise => { 57 | window.open(`mailto:${config.email}`); 58 | return `Opening mailto:${config.email}...`; 59 | }; 60 | 61 | export const github = async (args: string[]): Promise => { 62 | window.open(`https://github.com/${config.social.github}/`); 63 | 64 | return 'Opening github...'; 65 | }; 66 | 67 | export const linkedin = async (args: string[]): Promise => { 68 | window.open(`https://www.linkedin.com/in/${config.social.linkedin}/`); 69 | 70 | return 'Opening linkedin...'; 71 | }; 72 | 73 | // Search 74 | export const google = async (args: string[]): Promise => { 75 | window.open(`https://google.com/search?q=${args.join(' ')}`); 76 | return `Searching google for ${args.join(' ')}...`; 77 | }; 78 | 79 | export const duckduckgo = async (args: string[]): Promise => { 80 | window.open(`https://duckduckgo.com/?q=${args.join(' ')}`); 81 | return `Searching duckduckgo for ${args.join(' ')}...`; 82 | }; 83 | 84 | export const bing = async (args: string[]): Promise => { 85 | window.open(`https://bing.com/search?q=${args.join(' ')}`); 86 | return `Wow, really? You are using bing for ${args.join(' ')}?`; 87 | }; 88 | 89 | export const reddit = async (args: string[]): Promise => { 90 | window.open(`https://www.reddit.com/search/?q=${args.join(' ')}`); 91 | return `Searching reddit for ${args.join(' ')}...`; 92 | }; 93 | 94 | // Typical linux commands 95 | export const echo = async (args: string[]): Promise => { 96 | return args.join(' '); 97 | }; 98 | 99 | export const whoami = async (args: string[]): Promise => { 100 | return `${config.ps1_username}`; 101 | }; 102 | 103 | export const ls = async (args: string[]): Promise => { 104 | return `a 105 | bunch 106 | of 107 | fake 108 | directories`; 109 | }; 110 | 111 | export const cd = async (args: string[]): Promise => { 112 | return `unfortunately, i cannot afford more directories. 113 | if you want to help, you can type 'donate'.`; 114 | }; 115 | 116 | export const date = async (args: string[]): Promise => { 117 | return new Date().toString(); 118 | }; 119 | 120 | export const vi = async (args: string[]): Promise => { 121 | return `woah, you still use 'vi'? just try 'vim'.`; 122 | }; 123 | 124 | export const vim = async (args: string[]): Promise => { 125 | return `'vim' is so outdated. how about 'nvim'?`; 126 | }; 127 | 128 | export const nvim = async (args: string[]): Promise => { 129 | return `'nvim'? too fancy. why not 'emacs'?`; 130 | }; 131 | 132 | export const emacs = async (args?: string[]): Promise => { 133 | return `you know what? just use vscode.`; 134 | }; 135 | 136 | export const sudo = async (args?: string[]): Promise => { 137 | window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank'); // ...I'm sorry 138 | return `Permission denied: with little power comes... no responsibility? `; 139 | }; 140 | 141 | // Banner 142 | export const banner = (args?: string[]): string => { 143 | return ` 144 | █████ ███ ███████████ 145 | ░░███ ░░░ ░█░░░███░░░█ 146 | ░███ ████ █████ █████ ██████ ░ ░███ ░ ██████ ████████ █████████████ 147 | ░███ ░░███ ░░███ ░░███ ███░░███ ░███ ███░░███░░███░░███░░███░░███░░███ 148 | ░███ ░███ ░███ ░███ ░███████ ░███ ░███████ ░███ ░░░ ░███ ░███ ░███ 149 | ░███ █ ░███ ░░███ ███ ░███░░░ ░███ ░███░░░ ░███ ░███ ░███ ░███ 150 | ███████████ █████ ░░█████ ░░██████ █████ ░░██████ █████ █████░███ █████ 151 | ░░░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ 152 | 153 | Type 'help' to see the list of available commands. 154 | Type 'sumfetch' to display summary. 155 | Type 'repo' or click here for the Github repository. 156 | `; 157 | }; 158 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime-corejs3@^7.10.2": 6 | version "7.17.9" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz#3d02d0161f0fbf3ada8e88159375af97690f4055" 8 | integrity sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw== 9 | dependencies: 10 | core-js-pure "^3.20.2" 11 | regenerator-runtime "^0.13.4" 12 | 13 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": 14 | version "7.17.9" 15 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" 16 | integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== 17 | dependencies: 18 | regenerator-runtime "^0.13.4" 19 | 20 | "@eslint/eslintrc@^1.2.3": 21 | version "1.2.3" 22 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886" 23 | integrity sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA== 24 | dependencies: 25 | ajv "^6.12.4" 26 | debug "^4.3.2" 27 | espree "^9.3.2" 28 | globals "^13.9.0" 29 | ignore "^5.2.0" 30 | import-fresh "^3.2.1" 31 | js-yaml "^4.1.0" 32 | minimatch "^3.1.2" 33 | strip-json-comments "^3.1.1" 34 | 35 | "@humanwhocodes/config-array@^0.9.2": 36 | version "0.9.5" 37 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" 38 | integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== 39 | dependencies: 40 | "@humanwhocodes/object-schema" "^1.2.1" 41 | debug "^4.1.1" 42 | minimatch "^3.0.4" 43 | 44 | "@humanwhocodes/object-schema@^1.2.1": 45 | version "1.2.1" 46 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 47 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 48 | 49 | "@next/env@12.1.6": 50 | version "12.1.6" 51 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.6.tgz#5f44823a78335355f00f1687cfc4f1dafa3eca08" 52 | integrity sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA== 53 | 54 | "@next/eslint-plugin-next@12.1.6": 55 | version "12.1.6" 56 | resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz#dde3f98831f15923b25244588d924c716956292e" 57 | integrity sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw== 58 | dependencies: 59 | glob "7.1.7" 60 | 61 | "@next/swc-android-arm-eabi@12.1.6": 62 | version "12.1.6" 63 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz#79a35349b98f2f8c038ab6261aa9cd0d121c03f9" 64 | integrity sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ== 65 | 66 | "@next/swc-android-arm64@12.1.6": 67 | version "12.1.6" 68 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.6.tgz#ec08ea61794f8752c8ebcacbed0aafc5b9407456" 69 | integrity sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew== 70 | 71 | "@next/swc-darwin-arm64@12.1.6": 72 | version "12.1.6" 73 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6.tgz#d1053805615fd0706e9b1667893a72271cd87119" 74 | integrity sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw== 75 | 76 | "@next/swc-darwin-x64@12.1.6": 77 | version "12.1.6" 78 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6.tgz#2d1b926a22f4c5230d5b311f9c56cfdcc406afec" 79 | integrity sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg== 80 | 81 | "@next/swc-linux-arm-gnueabihf@12.1.6": 82 | version "12.1.6" 83 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6.tgz#c021918d2a94a17f823106a5e069335b8a19724f" 84 | integrity sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw== 85 | 86 | "@next/swc-linux-arm64-gnu@12.1.6": 87 | version "12.1.6" 88 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6.tgz#ac55c07bfabde378dfa0ce2b8fc1c3b2897e81ae" 89 | integrity sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ== 90 | 91 | "@next/swc-linux-arm64-musl@12.1.6": 92 | version "12.1.6" 93 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6.tgz#e429f826279894be9096be6bec13e75e3d6bd671" 94 | integrity sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ== 95 | 96 | "@next/swc-linux-x64-gnu@12.1.6": 97 | version "12.1.6" 98 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6.tgz#1f276c0784a5ca599bfa34b2fcc0b38f3a738e08" 99 | integrity sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ== 100 | 101 | "@next/swc-linux-x64-musl@12.1.6": 102 | version "12.1.6" 103 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6.tgz#1d9933dd6ba303dcfd8a2acd6ac7c27ed41e2eea" 104 | integrity sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag== 105 | 106 | "@next/swc-win32-arm64-msvc@12.1.6": 107 | version "12.1.6" 108 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6.tgz#2ef9837f12ca652b1783d72ecb86208906042f02" 109 | integrity sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g== 110 | 111 | "@next/swc-win32-ia32-msvc@12.1.6": 112 | version "12.1.6" 113 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6.tgz#74003d0aa1c59dfa56cb15481a5c607cbc0027b9" 114 | integrity sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA== 115 | 116 | "@next/swc-win32-x64-msvc@12.1.6": 117 | version "12.1.6" 118 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6.tgz#a350caf42975e7197b24b495b8d764eec7e6a36e" 119 | integrity sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA== 120 | 121 | "@nodelib/fs.scandir@2.1.5": 122 | version "2.1.5" 123 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 124 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 125 | dependencies: 126 | "@nodelib/fs.stat" "2.0.5" 127 | run-parallel "^1.1.9" 128 | 129 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 130 | version "2.0.5" 131 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 132 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 133 | 134 | "@nodelib/fs.walk@^1.2.3": 135 | version "1.2.8" 136 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 137 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 138 | dependencies: 139 | "@nodelib/fs.scandir" "2.1.5" 140 | fastq "^1.6.0" 141 | 142 | "@rushstack/eslint-patch@^1.1.3": 143 | version "1.1.3" 144 | resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz#6801033be7ff87a6b7cadaf5b337c9f366a3c4b0" 145 | integrity sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw== 146 | 147 | "@types/json-schema@^7.0.9": 148 | version "7.0.11" 149 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 150 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 151 | 152 | "@types/json5@^0.0.29": 153 | version "0.0.29" 154 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 155 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 156 | 157 | "@types/node@17.0.32": 158 | version "17.0.32" 159 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.32.tgz#51d59d7a90ef2d0ae961791e0900cad2393a0149" 160 | integrity sha512-eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw== 161 | 162 | "@types/prop-types@*": 163 | version "15.7.5" 164 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 165 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 166 | 167 | "@types/react-dom@18.0.3": 168 | version "18.0.3" 169 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.3.tgz#a022ea08c75a476fe5e96b675c3e673363853831" 170 | integrity sha512-1RRW9kst+67gveJRYPxGmVy8eVJ05O43hg77G2j5m76/RFJtMbcfAs2viQ2UNsvvDg8F7OfQZx8qQcl6ymygaQ== 171 | dependencies: 172 | "@types/react" "*" 173 | 174 | "@types/react@*", "@types/react@18.0.9": 175 | version "18.0.9" 176 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.9.tgz#d6712a38bd6cd83469603e7359511126f122e878" 177 | integrity sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw== 178 | dependencies: 179 | "@types/prop-types" "*" 180 | "@types/scheduler" "*" 181 | csstype "^3.0.2" 182 | 183 | "@types/scheduler@*": 184 | version "0.16.2" 185 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 186 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 187 | 188 | "@typescript-eslint/eslint-plugin@^5.23.0": 189 | version "5.23.0" 190 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz#bc4cbcf91fbbcc2e47e534774781b82ae25cc3d8" 191 | integrity sha512-hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA== 192 | dependencies: 193 | "@typescript-eslint/scope-manager" "5.23.0" 194 | "@typescript-eslint/type-utils" "5.23.0" 195 | "@typescript-eslint/utils" "5.23.0" 196 | debug "^4.3.2" 197 | functional-red-black-tree "^1.0.1" 198 | ignore "^5.1.8" 199 | regexpp "^3.2.0" 200 | semver "^7.3.5" 201 | tsutils "^3.21.0" 202 | 203 | "@typescript-eslint/parser@^5.21.0", "@typescript-eslint/parser@^5.23.0": 204 | version "5.23.0" 205 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.23.0.tgz#443778e1afc9a8ff180f91b5e260ac3bec5e2de1" 206 | integrity sha512-V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw== 207 | dependencies: 208 | "@typescript-eslint/scope-manager" "5.23.0" 209 | "@typescript-eslint/types" "5.23.0" 210 | "@typescript-eslint/typescript-estree" "5.23.0" 211 | debug "^4.3.2" 212 | 213 | "@typescript-eslint/scope-manager@5.23.0": 214 | version "5.23.0" 215 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz#4305e61c2c8e3cfa3787d30f54e79430cc17ce1b" 216 | integrity sha512-EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw== 217 | dependencies: 218 | "@typescript-eslint/types" "5.23.0" 219 | "@typescript-eslint/visitor-keys" "5.23.0" 220 | 221 | "@typescript-eslint/type-utils@5.23.0": 222 | version "5.23.0" 223 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz#f852252f2fc27620d5bb279d8fed2a13d2e3685e" 224 | integrity sha512-iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw== 225 | dependencies: 226 | "@typescript-eslint/utils" "5.23.0" 227 | debug "^4.3.2" 228 | tsutils "^3.21.0" 229 | 230 | "@typescript-eslint/types@5.23.0": 231 | version "5.23.0" 232 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.23.0.tgz#8733de0f58ae0ed318dbdd8f09868cdbf9f9ad09" 233 | integrity sha512-NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw== 234 | 235 | "@typescript-eslint/typescript-estree@5.23.0": 236 | version "5.23.0" 237 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz#dca5f10a0a85226db0796e8ad86addc9aee52065" 238 | integrity sha512-xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg== 239 | dependencies: 240 | "@typescript-eslint/types" "5.23.0" 241 | "@typescript-eslint/visitor-keys" "5.23.0" 242 | debug "^4.3.2" 243 | globby "^11.0.4" 244 | is-glob "^4.0.3" 245 | semver "^7.3.5" 246 | tsutils "^3.21.0" 247 | 248 | "@typescript-eslint/utils@5.23.0": 249 | version "5.23.0" 250 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.23.0.tgz#4691c3d1b414da2c53d8943310df36ab1c50648a" 251 | integrity sha512-dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA== 252 | dependencies: 253 | "@types/json-schema" "^7.0.9" 254 | "@typescript-eslint/scope-manager" "5.23.0" 255 | "@typescript-eslint/types" "5.23.0" 256 | "@typescript-eslint/typescript-estree" "5.23.0" 257 | eslint-scope "^5.1.1" 258 | eslint-utils "^3.0.0" 259 | 260 | "@typescript-eslint/visitor-keys@5.23.0": 261 | version "5.23.0" 262 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz#057c60a7ca64667a39f991473059377a8067c87b" 263 | integrity sha512-Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg== 264 | dependencies: 265 | "@typescript-eslint/types" "5.23.0" 266 | eslint-visitor-keys "^3.0.0" 267 | 268 | acorn-jsx@^5.3.2: 269 | version "5.3.2" 270 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 271 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 272 | 273 | acorn-node@^1.6.1: 274 | version "1.8.2" 275 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 276 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 277 | dependencies: 278 | acorn "^7.0.0" 279 | acorn-walk "^7.0.0" 280 | xtend "^4.0.2" 281 | 282 | acorn-walk@^7.0.0: 283 | version "7.2.0" 284 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 285 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 286 | 287 | acorn@^7.0.0: 288 | version "7.4.1" 289 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 290 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 291 | 292 | acorn@^8.7.1: 293 | version "8.7.1" 294 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" 295 | integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== 296 | 297 | ajv@^6.10.0, ajv@^6.12.4: 298 | version "6.12.6" 299 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 300 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 301 | dependencies: 302 | fast-deep-equal "^3.1.1" 303 | fast-json-stable-stringify "^2.0.0" 304 | json-schema-traverse "^0.4.1" 305 | uri-js "^4.2.2" 306 | 307 | ansi-regex@^5.0.1: 308 | version "5.0.1" 309 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 310 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 311 | 312 | ansi-styles@^4.1.0: 313 | version "4.3.0" 314 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 315 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 316 | dependencies: 317 | color-convert "^2.0.1" 318 | 319 | anymatch@~3.1.2: 320 | version "3.1.2" 321 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 322 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 323 | dependencies: 324 | normalize-path "^3.0.0" 325 | picomatch "^2.0.4" 326 | 327 | arg@^5.0.1: 328 | version "5.0.1" 329 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" 330 | integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== 331 | 332 | argparse@^2.0.1: 333 | version "2.0.1" 334 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 335 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 336 | 337 | aria-query@^4.2.2: 338 | version "4.2.2" 339 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" 340 | integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== 341 | dependencies: 342 | "@babel/runtime" "^7.10.2" 343 | "@babel/runtime-corejs3" "^7.10.2" 344 | 345 | array-includes@^3.1.4: 346 | version "3.1.5" 347 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" 348 | integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== 349 | dependencies: 350 | call-bind "^1.0.2" 351 | define-properties "^1.1.4" 352 | es-abstract "^1.19.5" 353 | get-intrinsic "^1.1.1" 354 | is-string "^1.0.7" 355 | 356 | array-union@^2.1.0: 357 | version "2.1.0" 358 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 359 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 360 | 361 | array.prototype.flat@^1.2.5: 362 | version "1.3.0" 363 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" 364 | integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== 365 | dependencies: 366 | call-bind "^1.0.2" 367 | define-properties "^1.1.3" 368 | es-abstract "^1.19.2" 369 | es-shim-unscopables "^1.0.0" 370 | 371 | array.prototype.flatmap@^1.2.5: 372 | version "1.3.0" 373 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" 374 | integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== 375 | dependencies: 376 | call-bind "^1.0.2" 377 | define-properties "^1.1.3" 378 | es-abstract "^1.19.2" 379 | es-shim-unscopables "^1.0.0" 380 | 381 | ast-types-flow@^0.0.7: 382 | version "0.0.7" 383 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 384 | integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= 385 | 386 | asynckit@^0.4.0: 387 | version "0.4.0" 388 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 389 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 390 | 391 | autoprefixer@^10.4.7: 392 | version "10.4.7" 393 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" 394 | integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== 395 | dependencies: 396 | browserslist "^4.20.3" 397 | caniuse-lite "^1.0.30001335" 398 | fraction.js "^4.2.0" 399 | normalize-range "^0.1.2" 400 | picocolors "^1.0.0" 401 | postcss-value-parser "^4.2.0" 402 | 403 | axe-core@^4.3.5: 404 | version "4.4.1" 405 | resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413" 406 | integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== 407 | 408 | axios@^0.27.2: 409 | version "0.27.2" 410 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" 411 | integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 412 | dependencies: 413 | follow-redirects "^1.14.9" 414 | form-data "^4.0.0" 415 | 416 | axobject-query@^2.2.0: 417 | version "2.2.0" 418 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" 419 | integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== 420 | 421 | balanced-match@^1.0.0: 422 | version "1.0.2" 423 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 424 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 425 | 426 | binary-extensions@^2.0.0: 427 | version "2.2.0" 428 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 429 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 430 | 431 | brace-expansion@^1.1.7: 432 | version "1.1.11" 433 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 434 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 435 | dependencies: 436 | balanced-match "^1.0.0" 437 | concat-map "0.0.1" 438 | 439 | braces@^3.0.2, braces@~3.0.2: 440 | version "3.0.2" 441 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 442 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 443 | dependencies: 444 | fill-range "^7.0.1" 445 | 446 | browserslist@^4.20.3: 447 | version "4.20.3" 448 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" 449 | integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== 450 | dependencies: 451 | caniuse-lite "^1.0.30001332" 452 | electron-to-chromium "^1.4.118" 453 | escalade "^3.1.1" 454 | node-releases "^2.0.3" 455 | picocolors "^1.0.0" 456 | 457 | call-bind@^1.0.0, call-bind@^1.0.2: 458 | version "1.0.2" 459 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 460 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 461 | dependencies: 462 | function-bind "^1.1.1" 463 | get-intrinsic "^1.0.2" 464 | 465 | callsites@^3.0.0: 466 | version "3.1.0" 467 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 468 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 469 | 470 | camelcase-css@^2.0.1: 471 | version "2.0.1" 472 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 473 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 474 | 475 | caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001335: 476 | version "1.0.30001340" 477 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz#029a2f8bfc025d4820fafbfaa6259fd7778340c7" 478 | integrity sha512-jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw== 479 | 480 | chalk@^4.0.0: 481 | version "4.1.2" 482 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 483 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 484 | dependencies: 485 | ansi-styles "^4.1.0" 486 | supports-color "^7.1.0" 487 | 488 | chokidar@^3.5.3: 489 | version "3.5.3" 490 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 491 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 492 | dependencies: 493 | anymatch "~3.1.2" 494 | braces "~3.0.2" 495 | glob-parent "~5.1.2" 496 | is-binary-path "~2.1.0" 497 | is-glob "~4.0.1" 498 | normalize-path "~3.0.0" 499 | readdirp "~3.6.0" 500 | optionalDependencies: 501 | fsevents "~2.3.2" 502 | 503 | color-convert@^2.0.1: 504 | version "2.0.1" 505 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 506 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 507 | dependencies: 508 | color-name "~1.1.4" 509 | 510 | color-name@^1.1.4, color-name@~1.1.4: 511 | version "1.1.4" 512 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 513 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 514 | 515 | combined-stream@^1.0.8: 516 | version "1.0.8" 517 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 518 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 519 | dependencies: 520 | delayed-stream "~1.0.0" 521 | 522 | concat-map@0.0.1: 523 | version "0.0.1" 524 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 525 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 526 | 527 | core-js-pure@^3.20.2: 528 | version "3.22.5" 529 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.5.tgz#bdee0ed2f9b78f2862cda4338a07b13a49b6c9a9" 530 | integrity sha512-8xo9R00iYD7TcV7OrC98GwxiUEAabVWO3dix+uyWjnYrx9fyASLlIX+f/3p5dW5qByaP2bcZ8X/T47s55et/tA== 531 | 532 | cross-spawn@^7.0.2: 533 | version "7.0.3" 534 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 535 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 536 | dependencies: 537 | path-key "^3.1.0" 538 | shebang-command "^2.0.0" 539 | which "^2.0.1" 540 | 541 | cssesc@^3.0.0: 542 | version "3.0.0" 543 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 544 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 545 | 546 | csstype@^3.0.2: 547 | version "3.0.11" 548 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" 549 | integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== 550 | 551 | damerau-levenshtein@^1.0.7: 552 | version "1.0.8" 553 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" 554 | integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== 555 | 556 | debug@^2.6.9: 557 | version "2.6.9" 558 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 559 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 560 | dependencies: 561 | ms "2.0.0" 562 | 563 | debug@^3.2.7: 564 | version "3.2.7" 565 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 566 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 567 | dependencies: 568 | ms "^2.1.1" 569 | 570 | debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 571 | version "4.3.4" 572 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 573 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 574 | dependencies: 575 | ms "2.1.2" 576 | 577 | deep-is@^0.1.3: 578 | version "0.1.4" 579 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 580 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 581 | 582 | define-properties@^1.1.3, define-properties@^1.1.4: 583 | version "1.1.4" 584 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 585 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 586 | dependencies: 587 | has-property-descriptors "^1.0.0" 588 | object-keys "^1.1.1" 589 | 590 | defined@^1.0.0: 591 | version "1.0.0" 592 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 593 | integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= 594 | 595 | delayed-stream@~1.0.0: 596 | version "1.0.0" 597 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 598 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 599 | 600 | detective@^5.2.0: 601 | version "5.2.0" 602 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" 603 | integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== 604 | dependencies: 605 | acorn-node "^1.6.1" 606 | defined "^1.0.0" 607 | minimist "^1.1.1" 608 | 609 | didyoumean@^1.2.2: 610 | version "1.2.2" 611 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 612 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 613 | 614 | dir-glob@^3.0.1: 615 | version "3.0.1" 616 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 617 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 618 | dependencies: 619 | path-type "^4.0.0" 620 | 621 | dlv@^1.1.3: 622 | version "1.1.3" 623 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 624 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 625 | 626 | doctrine@^2.1.0: 627 | version "2.1.0" 628 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 629 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 630 | dependencies: 631 | esutils "^2.0.2" 632 | 633 | doctrine@^3.0.0: 634 | version "3.0.0" 635 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 636 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 637 | dependencies: 638 | esutils "^2.0.2" 639 | 640 | electron-to-chromium@^1.4.118: 641 | version "1.4.137" 642 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" 643 | integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== 644 | 645 | emoji-regex@^9.2.2: 646 | version "9.2.2" 647 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 648 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 649 | 650 | es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: 651 | version "1.20.0" 652 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.0.tgz#b2d526489cceca004588296334726329e0a6bfb6" 653 | integrity sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA== 654 | dependencies: 655 | call-bind "^1.0.2" 656 | es-to-primitive "^1.2.1" 657 | function-bind "^1.1.1" 658 | function.prototype.name "^1.1.5" 659 | get-intrinsic "^1.1.1" 660 | get-symbol-description "^1.0.0" 661 | has "^1.0.3" 662 | has-property-descriptors "^1.0.0" 663 | has-symbols "^1.0.3" 664 | internal-slot "^1.0.3" 665 | is-callable "^1.2.4" 666 | is-negative-zero "^2.0.2" 667 | is-regex "^1.1.4" 668 | is-shared-array-buffer "^1.0.2" 669 | is-string "^1.0.7" 670 | is-weakref "^1.0.2" 671 | object-inspect "^1.12.0" 672 | object-keys "^1.1.1" 673 | object.assign "^4.1.2" 674 | regexp.prototype.flags "^1.4.1" 675 | string.prototype.trimend "^1.0.5" 676 | string.prototype.trimstart "^1.0.5" 677 | unbox-primitive "^1.0.2" 678 | 679 | es-shim-unscopables@^1.0.0: 680 | version "1.0.0" 681 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" 682 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== 683 | dependencies: 684 | has "^1.0.3" 685 | 686 | es-to-primitive@^1.2.1: 687 | version "1.2.1" 688 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 689 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 690 | dependencies: 691 | is-callable "^1.1.4" 692 | is-date-object "^1.0.1" 693 | is-symbol "^1.0.2" 694 | 695 | escalade@^3.1.1: 696 | version "3.1.1" 697 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 698 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 699 | 700 | escape-string-regexp@^4.0.0: 701 | version "4.0.0" 702 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 703 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 704 | 705 | eslint-config-next@^12.1.6: 706 | version "12.1.6" 707 | resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.6.tgz#55097028982dce49159d8753000be3916ac55254" 708 | integrity sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA== 709 | dependencies: 710 | "@next/eslint-plugin-next" "12.1.6" 711 | "@rushstack/eslint-patch" "^1.1.3" 712 | "@typescript-eslint/parser" "^5.21.0" 713 | eslint-import-resolver-node "^0.3.6" 714 | eslint-import-resolver-typescript "^2.7.1" 715 | eslint-plugin-import "^2.26.0" 716 | eslint-plugin-jsx-a11y "^6.5.1" 717 | eslint-plugin-react "^7.29.4" 718 | eslint-plugin-react-hooks "^4.5.0" 719 | 720 | eslint-import-resolver-node@^0.3.6: 721 | version "0.3.6" 722 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" 723 | integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== 724 | dependencies: 725 | debug "^3.2.7" 726 | resolve "^1.20.0" 727 | 728 | eslint-import-resolver-typescript@^2.7.1: 729 | version "2.7.1" 730 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" 731 | integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== 732 | dependencies: 733 | debug "^4.3.4" 734 | glob "^7.2.0" 735 | is-glob "^4.0.3" 736 | resolve "^1.22.0" 737 | tsconfig-paths "^3.14.1" 738 | 739 | eslint-module-utils@^2.7.3: 740 | version "2.7.3" 741 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" 742 | integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== 743 | dependencies: 744 | debug "^3.2.7" 745 | find-up "^2.1.0" 746 | 747 | eslint-plugin-import@^2.26.0: 748 | version "2.26.0" 749 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" 750 | integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== 751 | dependencies: 752 | array-includes "^3.1.4" 753 | array.prototype.flat "^1.2.5" 754 | debug "^2.6.9" 755 | doctrine "^2.1.0" 756 | eslint-import-resolver-node "^0.3.6" 757 | eslint-module-utils "^2.7.3" 758 | has "^1.0.3" 759 | is-core-module "^2.8.1" 760 | is-glob "^4.0.3" 761 | minimatch "^3.1.2" 762 | object.values "^1.1.5" 763 | resolve "^1.22.0" 764 | tsconfig-paths "^3.14.1" 765 | 766 | eslint-plugin-jsx-a11y@^6.5.1: 767 | version "6.5.1" 768 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" 769 | integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== 770 | dependencies: 771 | "@babel/runtime" "^7.16.3" 772 | aria-query "^4.2.2" 773 | array-includes "^3.1.4" 774 | ast-types-flow "^0.0.7" 775 | axe-core "^4.3.5" 776 | axobject-query "^2.2.0" 777 | damerau-levenshtein "^1.0.7" 778 | emoji-regex "^9.2.2" 779 | has "^1.0.3" 780 | jsx-ast-utils "^3.2.1" 781 | language-tags "^1.0.5" 782 | minimatch "^3.0.4" 783 | 784 | eslint-plugin-next@^0.0.0: 785 | version "0.0.0" 786 | resolved "https://registry.yarnpkg.com/eslint-plugin-next/-/eslint-plugin-next-0.0.0.tgz#f9ef680e8f68763c716ab44697c4b3cc3e0b2069" 787 | integrity sha512-IldNDVb6WNduggwRbYzSGZhaskUwVecJ6fhmqwX01+S1aohwAWNzU4me6y47DDzpD/g0fdayNBGxEdt9vKkUtg== 788 | 789 | eslint-plugin-prettier@^4.0.0: 790 | version "4.0.0" 791 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" 792 | integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== 793 | dependencies: 794 | prettier-linter-helpers "^1.0.0" 795 | 796 | eslint-plugin-react-hooks@^4.5.0: 797 | version "4.5.0" 798 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz#5f762dfedf8b2cf431c689f533c9d3fa5dcf25ad" 799 | integrity sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw== 800 | 801 | eslint-plugin-react@^7.29.4: 802 | version "7.29.4" 803 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" 804 | integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== 805 | dependencies: 806 | array-includes "^3.1.4" 807 | array.prototype.flatmap "^1.2.5" 808 | doctrine "^2.1.0" 809 | estraverse "^5.3.0" 810 | jsx-ast-utils "^2.4.1 || ^3.0.0" 811 | minimatch "^3.1.2" 812 | object.entries "^1.1.5" 813 | object.fromentries "^2.0.5" 814 | object.hasown "^1.1.0" 815 | object.values "^1.1.5" 816 | prop-types "^15.8.1" 817 | resolve "^2.0.0-next.3" 818 | semver "^6.3.0" 819 | string.prototype.matchall "^4.0.6" 820 | 821 | eslint-scope@^5.1.1: 822 | version "5.1.1" 823 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 824 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 825 | dependencies: 826 | esrecurse "^4.3.0" 827 | estraverse "^4.1.1" 828 | 829 | eslint-scope@^7.1.1: 830 | version "7.1.1" 831 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 832 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 833 | dependencies: 834 | esrecurse "^4.3.0" 835 | estraverse "^5.2.0" 836 | 837 | eslint-utils@^3.0.0: 838 | version "3.0.0" 839 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 840 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 841 | dependencies: 842 | eslint-visitor-keys "^2.0.0" 843 | 844 | eslint-visitor-keys@^2.0.0: 845 | version "2.1.0" 846 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 847 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 848 | 849 | eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: 850 | version "3.3.0" 851 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 852 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 853 | 854 | eslint@8.15.0: 855 | version "8.15.0" 856 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.15.0.tgz#fea1d55a7062da48d82600d2e0974c55612a11e9" 857 | integrity sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA== 858 | dependencies: 859 | "@eslint/eslintrc" "^1.2.3" 860 | "@humanwhocodes/config-array" "^0.9.2" 861 | ajv "^6.10.0" 862 | chalk "^4.0.0" 863 | cross-spawn "^7.0.2" 864 | debug "^4.3.2" 865 | doctrine "^3.0.0" 866 | escape-string-regexp "^4.0.0" 867 | eslint-scope "^7.1.1" 868 | eslint-utils "^3.0.0" 869 | eslint-visitor-keys "^3.3.0" 870 | espree "^9.3.2" 871 | esquery "^1.4.0" 872 | esutils "^2.0.2" 873 | fast-deep-equal "^3.1.3" 874 | file-entry-cache "^6.0.1" 875 | functional-red-black-tree "^1.0.1" 876 | glob-parent "^6.0.1" 877 | globals "^13.6.0" 878 | ignore "^5.2.0" 879 | import-fresh "^3.0.0" 880 | imurmurhash "^0.1.4" 881 | is-glob "^4.0.0" 882 | js-yaml "^4.1.0" 883 | json-stable-stringify-without-jsonify "^1.0.1" 884 | levn "^0.4.1" 885 | lodash.merge "^4.6.2" 886 | minimatch "^3.1.2" 887 | natural-compare "^1.4.0" 888 | optionator "^0.9.1" 889 | regexpp "^3.2.0" 890 | strip-ansi "^6.0.1" 891 | strip-json-comments "^3.1.0" 892 | text-table "^0.2.0" 893 | v8-compile-cache "^2.0.3" 894 | 895 | espree@^9.3.2: 896 | version "9.3.2" 897 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" 898 | integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== 899 | dependencies: 900 | acorn "^8.7.1" 901 | acorn-jsx "^5.3.2" 902 | eslint-visitor-keys "^3.3.0" 903 | 904 | esquery@^1.4.0: 905 | version "1.4.0" 906 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 907 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 908 | dependencies: 909 | estraverse "^5.1.0" 910 | 911 | esrecurse@^4.3.0: 912 | version "4.3.0" 913 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 914 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 915 | dependencies: 916 | estraverse "^5.2.0" 917 | 918 | estraverse@^4.1.1: 919 | version "4.3.0" 920 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 921 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 922 | 923 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: 924 | version "5.3.0" 925 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 926 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 927 | 928 | esutils@^2.0.2: 929 | version "2.0.3" 930 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 931 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 932 | 933 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 934 | version "3.1.3" 935 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 936 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 937 | 938 | fast-diff@^1.1.2: 939 | version "1.2.0" 940 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 941 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 942 | 943 | fast-glob@^3.2.11, fast-glob@^3.2.9: 944 | version "3.2.11" 945 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 946 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 947 | dependencies: 948 | "@nodelib/fs.stat" "^2.0.2" 949 | "@nodelib/fs.walk" "^1.2.3" 950 | glob-parent "^5.1.2" 951 | merge2 "^1.3.0" 952 | micromatch "^4.0.4" 953 | 954 | fast-json-stable-stringify@^2.0.0: 955 | version "2.1.0" 956 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 957 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 958 | 959 | fast-levenshtein@^2.0.6: 960 | version "2.0.6" 961 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 962 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 963 | 964 | fastq@^1.6.0: 965 | version "1.13.0" 966 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 967 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 968 | dependencies: 969 | reusify "^1.0.4" 970 | 971 | file-entry-cache@^6.0.1: 972 | version "6.0.1" 973 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 974 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 975 | dependencies: 976 | flat-cache "^3.0.4" 977 | 978 | fill-range@^7.0.1: 979 | version "7.0.1" 980 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 981 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 982 | dependencies: 983 | to-regex-range "^5.0.1" 984 | 985 | find-up@^2.1.0: 986 | version "2.1.0" 987 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 988 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 989 | dependencies: 990 | locate-path "^2.0.0" 991 | 992 | flat-cache@^3.0.4: 993 | version "3.0.4" 994 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 995 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 996 | dependencies: 997 | flatted "^3.1.0" 998 | rimraf "^3.0.2" 999 | 1000 | flatted@^3.1.0: 1001 | version "3.2.5" 1002 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" 1003 | integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== 1004 | 1005 | follow-redirects@^1.14.9: 1006 | version "1.15.0" 1007 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" 1008 | integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== 1009 | 1010 | form-data@^4.0.0: 1011 | version "4.0.0" 1012 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 1013 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 1014 | dependencies: 1015 | asynckit "^0.4.0" 1016 | combined-stream "^1.0.8" 1017 | mime-types "^2.1.12" 1018 | 1019 | fraction.js@^4.2.0: 1020 | version "4.2.0" 1021 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 1022 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 1023 | 1024 | fs.realpath@^1.0.0: 1025 | version "1.0.0" 1026 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1027 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1028 | 1029 | fsevents@~2.3.2: 1030 | version "2.3.2" 1031 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1032 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1033 | 1034 | function-bind@^1.1.1: 1035 | version "1.1.1" 1036 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1037 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1038 | 1039 | function.prototype.name@^1.1.5: 1040 | version "1.1.5" 1041 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 1042 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 1043 | dependencies: 1044 | call-bind "^1.0.2" 1045 | define-properties "^1.1.3" 1046 | es-abstract "^1.19.0" 1047 | functions-have-names "^1.2.2" 1048 | 1049 | functional-red-black-tree@^1.0.1: 1050 | version "1.0.1" 1051 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1052 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1053 | 1054 | functions-have-names@^1.2.2: 1055 | version "1.2.3" 1056 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 1057 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 1058 | 1059 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 1060 | version "1.1.1" 1061 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1062 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1063 | dependencies: 1064 | function-bind "^1.1.1" 1065 | has "^1.0.3" 1066 | has-symbols "^1.0.1" 1067 | 1068 | get-symbol-description@^1.0.0: 1069 | version "1.0.0" 1070 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1071 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1072 | dependencies: 1073 | call-bind "^1.0.2" 1074 | get-intrinsic "^1.1.1" 1075 | 1076 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1077 | version "5.1.2" 1078 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1079 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1080 | dependencies: 1081 | is-glob "^4.0.1" 1082 | 1083 | glob-parent@^6.0.1, glob-parent@^6.0.2: 1084 | version "6.0.2" 1085 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1086 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1087 | dependencies: 1088 | is-glob "^4.0.3" 1089 | 1090 | glob@7.1.7: 1091 | version "7.1.7" 1092 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1093 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1094 | dependencies: 1095 | fs.realpath "^1.0.0" 1096 | inflight "^1.0.4" 1097 | inherits "2" 1098 | minimatch "^3.0.4" 1099 | once "^1.3.0" 1100 | path-is-absolute "^1.0.0" 1101 | 1102 | glob@^7.1.3, glob@^7.2.0: 1103 | version "7.2.0" 1104 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1105 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1106 | dependencies: 1107 | fs.realpath "^1.0.0" 1108 | inflight "^1.0.4" 1109 | inherits "2" 1110 | minimatch "^3.0.4" 1111 | once "^1.3.0" 1112 | path-is-absolute "^1.0.0" 1113 | 1114 | globals@^13.6.0, globals@^13.9.0: 1115 | version "13.15.0" 1116 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" 1117 | integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== 1118 | dependencies: 1119 | type-fest "^0.20.2" 1120 | 1121 | globby@^11.0.4: 1122 | version "11.1.0" 1123 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1124 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1125 | dependencies: 1126 | array-union "^2.1.0" 1127 | dir-glob "^3.0.1" 1128 | fast-glob "^3.2.9" 1129 | ignore "^5.2.0" 1130 | merge2 "^1.4.1" 1131 | slash "^3.0.0" 1132 | 1133 | has-bigints@^1.0.1, has-bigints@^1.0.2: 1134 | version "1.0.2" 1135 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 1136 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 1137 | 1138 | has-flag@^4.0.0: 1139 | version "4.0.0" 1140 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1141 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1142 | 1143 | has-property-descriptors@^1.0.0: 1144 | version "1.0.0" 1145 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 1146 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 1147 | dependencies: 1148 | get-intrinsic "^1.1.1" 1149 | 1150 | has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: 1151 | version "1.0.3" 1152 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1153 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1154 | 1155 | has-tostringtag@^1.0.0: 1156 | version "1.0.0" 1157 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1158 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1159 | dependencies: 1160 | has-symbols "^1.0.2" 1161 | 1162 | has@^1.0.3: 1163 | version "1.0.3" 1164 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1165 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1166 | dependencies: 1167 | function-bind "^1.1.1" 1168 | 1169 | husky@^8.0.1: 1170 | version "8.0.1" 1171 | resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" 1172 | integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== 1173 | 1174 | ignore@^5.1.8, ignore@^5.2.0: 1175 | version "5.2.0" 1176 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 1177 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 1178 | 1179 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1180 | version "3.3.0" 1181 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1182 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1183 | dependencies: 1184 | parent-module "^1.0.0" 1185 | resolve-from "^4.0.0" 1186 | 1187 | imurmurhash@^0.1.4: 1188 | version "0.1.4" 1189 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1190 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1191 | 1192 | inflight@^1.0.4: 1193 | version "1.0.6" 1194 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1195 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1196 | dependencies: 1197 | once "^1.3.0" 1198 | wrappy "1" 1199 | 1200 | inherits@2: 1201 | version "2.0.4" 1202 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1203 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1204 | 1205 | internal-slot@^1.0.3: 1206 | version "1.0.3" 1207 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 1208 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 1209 | dependencies: 1210 | get-intrinsic "^1.1.0" 1211 | has "^1.0.3" 1212 | side-channel "^1.0.4" 1213 | 1214 | is-bigint@^1.0.1: 1215 | version "1.0.4" 1216 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 1217 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 1218 | dependencies: 1219 | has-bigints "^1.0.1" 1220 | 1221 | is-binary-path@~2.1.0: 1222 | version "2.1.0" 1223 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1224 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1225 | dependencies: 1226 | binary-extensions "^2.0.0" 1227 | 1228 | is-boolean-object@^1.1.0: 1229 | version "1.1.2" 1230 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 1231 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 1232 | dependencies: 1233 | call-bind "^1.0.2" 1234 | has-tostringtag "^1.0.0" 1235 | 1236 | is-callable@^1.1.4, is-callable@^1.2.4: 1237 | version "1.2.4" 1238 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 1239 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 1240 | 1241 | is-core-module@^2.2.0, is-core-module@^2.8.1: 1242 | version "2.9.0" 1243 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 1244 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 1245 | dependencies: 1246 | has "^1.0.3" 1247 | 1248 | is-date-object@^1.0.1: 1249 | version "1.0.5" 1250 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1251 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1252 | dependencies: 1253 | has-tostringtag "^1.0.0" 1254 | 1255 | is-extglob@^2.1.1: 1256 | version "2.1.1" 1257 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1258 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1259 | 1260 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1261 | version "4.0.3" 1262 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1263 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1264 | dependencies: 1265 | is-extglob "^2.1.1" 1266 | 1267 | is-negative-zero@^2.0.2: 1268 | version "2.0.2" 1269 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 1270 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 1271 | 1272 | is-number-object@^1.0.4: 1273 | version "1.0.7" 1274 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 1275 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 1276 | dependencies: 1277 | has-tostringtag "^1.0.0" 1278 | 1279 | is-number@^7.0.0: 1280 | version "7.0.0" 1281 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1282 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1283 | 1284 | is-regex@^1.1.4: 1285 | version "1.1.4" 1286 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1287 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1288 | dependencies: 1289 | call-bind "^1.0.2" 1290 | has-tostringtag "^1.0.0" 1291 | 1292 | is-shared-array-buffer@^1.0.2: 1293 | version "1.0.2" 1294 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 1295 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 1296 | dependencies: 1297 | call-bind "^1.0.2" 1298 | 1299 | is-string@^1.0.5, is-string@^1.0.7: 1300 | version "1.0.7" 1301 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1302 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1303 | dependencies: 1304 | has-tostringtag "^1.0.0" 1305 | 1306 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1307 | version "1.0.4" 1308 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1309 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1310 | dependencies: 1311 | has-symbols "^1.0.2" 1312 | 1313 | is-weakref@^1.0.2: 1314 | version "1.0.2" 1315 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 1316 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 1317 | dependencies: 1318 | call-bind "^1.0.2" 1319 | 1320 | isexe@^2.0.0: 1321 | version "2.0.0" 1322 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1323 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1324 | 1325 | "js-tokens@^3.0.0 || ^4.0.0": 1326 | version "4.0.0" 1327 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1328 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1329 | 1330 | js-yaml@^4.1.0: 1331 | version "4.1.0" 1332 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1333 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1334 | dependencies: 1335 | argparse "^2.0.1" 1336 | 1337 | json-schema-traverse@^0.4.1: 1338 | version "0.4.1" 1339 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1340 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1341 | 1342 | json-stable-stringify-without-jsonify@^1.0.1: 1343 | version "1.0.1" 1344 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1345 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1346 | 1347 | json5@^1.0.1: 1348 | version "1.0.1" 1349 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1350 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 1351 | dependencies: 1352 | minimist "^1.2.0" 1353 | 1354 | "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: 1355 | version "3.3.0" 1356 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz#e624f259143b9062c92b6413ff92a164c80d3ccb" 1357 | integrity sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q== 1358 | dependencies: 1359 | array-includes "^3.1.4" 1360 | object.assign "^4.1.2" 1361 | 1362 | language-subtag-registry@~0.3.2: 1363 | version "0.3.21" 1364 | resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" 1365 | integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== 1366 | 1367 | language-tags@^1.0.5: 1368 | version "1.0.5" 1369 | resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" 1370 | integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= 1371 | dependencies: 1372 | language-subtag-registry "~0.3.2" 1373 | 1374 | levn@^0.4.1: 1375 | version "0.4.1" 1376 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1377 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1378 | dependencies: 1379 | prelude-ls "^1.2.1" 1380 | type-check "~0.4.0" 1381 | 1382 | lilconfig@^2.0.5: 1383 | version "2.0.5" 1384 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" 1385 | integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== 1386 | 1387 | locate-path@^2.0.0: 1388 | version "2.0.0" 1389 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1390 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 1391 | dependencies: 1392 | p-locate "^2.0.0" 1393 | path-exists "^3.0.0" 1394 | 1395 | lodash.merge@^4.6.2: 1396 | version "4.6.2" 1397 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1398 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1399 | 1400 | loose-envify@^1.1.0, loose-envify@^1.4.0: 1401 | version "1.4.0" 1402 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1403 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1404 | dependencies: 1405 | js-tokens "^3.0.0 || ^4.0.0" 1406 | 1407 | lru-cache@^6.0.0: 1408 | version "6.0.0" 1409 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1410 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1411 | dependencies: 1412 | yallist "^4.0.0" 1413 | 1414 | merge2@^1.3.0, merge2@^1.4.1: 1415 | version "1.4.1" 1416 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1417 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1418 | 1419 | micromatch@^4.0.4: 1420 | version "4.0.5" 1421 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1422 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1423 | dependencies: 1424 | braces "^3.0.2" 1425 | picomatch "^2.3.1" 1426 | 1427 | mime-db@1.52.0: 1428 | version "1.52.0" 1429 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1430 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1431 | 1432 | mime-types@^2.1.12: 1433 | version "2.1.35" 1434 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1435 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1436 | dependencies: 1437 | mime-db "1.52.0" 1438 | 1439 | minimatch@^3.0.4, minimatch@^3.1.2: 1440 | version "3.1.2" 1441 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1442 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1443 | dependencies: 1444 | brace-expansion "^1.1.7" 1445 | 1446 | minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: 1447 | version "1.2.6" 1448 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 1449 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 1450 | 1451 | ms@2.0.0: 1452 | version "2.0.0" 1453 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1454 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1455 | 1456 | ms@2.1.2: 1457 | version "2.1.2" 1458 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1459 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1460 | 1461 | ms@^2.1.1: 1462 | version "2.1.3" 1463 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1464 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1465 | 1466 | nanoid@^3.1.30, nanoid@^3.3.3: 1467 | version "3.3.4" 1468 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 1469 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1470 | 1471 | natural-compare@^1.4.0: 1472 | version "1.4.0" 1473 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1474 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1475 | 1476 | next@12.1.6: 1477 | version "12.1.6" 1478 | resolved "https://registry.yarnpkg.com/next/-/next-12.1.6.tgz#eb205e64af1998651f96f9df44556d47d8bbc533" 1479 | integrity sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A== 1480 | dependencies: 1481 | "@next/env" "12.1.6" 1482 | caniuse-lite "^1.0.30001332" 1483 | postcss "8.4.5" 1484 | styled-jsx "5.0.2" 1485 | optionalDependencies: 1486 | "@next/swc-android-arm-eabi" "12.1.6" 1487 | "@next/swc-android-arm64" "12.1.6" 1488 | "@next/swc-darwin-arm64" "12.1.6" 1489 | "@next/swc-darwin-x64" "12.1.6" 1490 | "@next/swc-linux-arm-gnueabihf" "12.1.6" 1491 | "@next/swc-linux-arm64-gnu" "12.1.6" 1492 | "@next/swc-linux-arm64-musl" "12.1.6" 1493 | "@next/swc-linux-x64-gnu" "12.1.6" 1494 | "@next/swc-linux-x64-musl" "12.1.6" 1495 | "@next/swc-win32-arm64-msvc" "12.1.6" 1496 | "@next/swc-win32-ia32-msvc" "12.1.6" 1497 | "@next/swc-win32-x64-msvc" "12.1.6" 1498 | 1499 | node-releases@^2.0.3: 1500 | version "2.0.4" 1501 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" 1502 | integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== 1503 | 1504 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1505 | version "3.0.0" 1506 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1507 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1508 | 1509 | normalize-range@^0.1.2: 1510 | version "0.1.2" 1511 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 1512 | integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= 1513 | 1514 | object-assign@^4.1.1: 1515 | version "4.1.1" 1516 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1517 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1518 | 1519 | object-hash@^3.0.0: 1520 | version "3.0.0" 1521 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 1522 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 1523 | 1524 | object-inspect@^1.12.0, object-inspect@^1.9.0: 1525 | version "1.12.0" 1526 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" 1527 | integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== 1528 | 1529 | object-keys@^1.1.1: 1530 | version "1.1.1" 1531 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1532 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1533 | 1534 | object.assign@^4.1.2: 1535 | version "4.1.2" 1536 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1537 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1538 | dependencies: 1539 | call-bind "^1.0.0" 1540 | define-properties "^1.1.3" 1541 | has-symbols "^1.0.1" 1542 | object-keys "^1.1.1" 1543 | 1544 | object.entries@^1.1.5: 1545 | version "1.1.5" 1546 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" 1547 | integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== 1548 | dependencies: 1549 | call-bind "^1.0.2" 1550 | define-properties "^1.1.3" 1551 | es-abstract "^1.19.1" 1552 | 1553 | object.fromentries@^2.0.5: 1554 | version "2.0.5" 1555 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" 1556 | integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== 1557 | dependencies: 1558 | call-bind "^1.0.2" 1559 | define-properties "^1.1.3" 1560 | es-abstract "^1.19.1" 1561 | 1562 | object.hasown@^1.1.0: 1563 | version "1.1.1" 1564 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" 1565 | integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== 1566 | dependencies: 1567 | define-properties "^1.1.4" 1568 | es-abstract "^1.19.5" 1569 | 1570 | object.values@^1.1.5: 1571 | version "1.1.5" 1572 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" 1573 | integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== 1574 | dependencies: 1575 | call-bind "^1.0.2" 1576 | define-properties "^1.1.3" 1577 | es-abstract "^1.19.1" 1578 | 1579 | once@^1.3.0: 1580 | version "1.4.0" 1581 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1582 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1583 | dependencies: 1584 | wrappy "1" 1585 | 1586 | optionator@^0.9.1: 1587 | version "0.9.1" 1588 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1589 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1590 | dependencies: 1591 | deep-is "^0.1.3" 1592 | fast-levenshtein "^2.0.6" 1593 | levn "^0.4.1" 1594 | prelude-ls "^1.2.1" 1595 | type-check "^0.4.0" 1596 | word-wrap "^1.2.3" 1597 | 1598 | p-limit@^1.1.0: 1599 | version "1.3.0" 1600 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 1601 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 1602 | dependencies: 1603 | p-try "^1.0.0" 1604 | 1605 | p-locate@^2.0.0: 1606 | version "2.0.0" 1607 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1608 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 1609 | dependencies: 1610 | p-limit "^1.1.0" 1611 | 1612 | p-try@^1.0.0: 1613 | version "1.0.0" 1614 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 1615 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 1616 | 1617 | parent-module@^1.0.0: 1618 | version "1.0.1" 1619 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1620 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1621 | dependencies: 1622 | callsites "^3.0.0" 1623 | 1624 | path-exists@^3.0.0: 1625 | version "3.0.0" 1626 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1627 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1628 | 1629 | path-is-absolute@^1.0.0: 1630 | version "1.0.1" 1631 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1632 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1633 | 1634 | path-key@^3.1.0: 1635 | version "3.1.1" 1636 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1637 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1638 | 1639 | path-parse@^1.0.6, path-parse@^1.0.7: 1640 | version "1.0.7" 1641 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1642 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1643 | 1644 | path-type@^4.0.0: 1645 | version "4.0.0" 1646 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1647 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1648 | 1649 | picocolors@^1.0.0: 1650 | version "1.0.0" 1651 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1652 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1653 | 1654 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 1655 | version "2.3.1" 1656 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1657 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1658 | 1659 | postcss-js@^4.0.0: 1660 | version "4.0.0" 1661 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 1662 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 1663 | dependencies: 1664 | camelcase-css "^2.0.1" 1665 | 1666 | postcss-load-config@^3.1.4: 1667 | version "3.1.4" 1668 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 1669 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 1670 | dependencies: 1671 | lilconfig "^2.0.5" 1672 | yaml "^1.10.2" 1673 | 1674 | postcss-nested@5.0.6: 1675 | version "5.0.6" 1676 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 1677 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 1678 | dependencies: 1679 | postcss-selector-parser "^6.0.6" 1680 | 1681 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 1682 | version "6.0.10" 1683 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 1684 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 1685 | dependencies: 1686 | cssesc "^3.0.0" 1687 | util-deprecate "^1.0.2" 1688 | 1689 | postcss-value-parser@^4.2.0: 1690 | version "4.2.0" 1691 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 1692 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1693 | 1694 | postcss@8.4.5: 1695 | version "8.4.5" 1696 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" 1697 | integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== 1698 | dependencies: 1699 | nanoid "^3.1.30" 1700 | picocolors "^1.0.0" 1701 | source-map-js "^1.0.1" 1702 | 1703 | postcss@^8.4.12, postcss@^8.4.13: 1704 | version "8.4.13" 1705 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575" 1706 | integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA== 1707 | dependencies: 1708 | nanoid "^3.3.3" 1709 | picocolors "^1.0.0" 1710 | source-map-js "^1.0.2" 1711 | 1712 | prelude-ls@^1.2.1: 1713 | version "1.2.1" 1714 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1715 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1716 | 1717 | prettier-linter-helpers@^1.0.0: 1718 | version "1.0.0" 1719 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 1720 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1721 | dependencies: 1722 | fast-diff "^1.1.2" 1723 | 1724 | prettier@^2.6.2: 1725 | version "2.6.2" 1726 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" 1727 | integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== 1728 | 1729 | prop-types@^15.8.1: 1730 | version "15.8.1" 1731 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1732 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1733 | dependencies: 1734 | loose-envify "^1.4.0" 1735 | object-assign "^4.1.1" 1736 | react-is "^16.13.1" 1737 | 1738 | punycode@^2.1.0: 1739 | version "2.1.1" 1740 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1741 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1742 | 1743 | queue-microtask@^1.2.2: 1744 | version "1.2.3" 1745 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1746 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1747 | 1748 | quick-lru@^5.1.1: 1749 | version "5.1.1" 1750 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 1751 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 1752 | 1753 | react-dom@18.1.0: 1754 | version "18.1.0" 1755 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.1.0.tgz#7f6dd84b706408adde05e1df575b3a024d7e8a2f" 1756 | integrity sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w== 1757 | dependencies: 1758 | loose-envify "^1.1.0" 1759 | scheduler "^0.22.0" 1760 | 1761 | react-icons@^4.3.1: 1762 | version "4.3.1" 1763 | resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.3.1.tgz#2fa92aebbbc71f43d2db2ed1aed07361124e91ca" 1764 | integrity sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ== 1765 | 1766 | react-is@^16.13.1: 1767 | version "16.13.1" 1768 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1769 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1770 | 1771 | react@18.1.0: 1772 | version "18.1.0" 1773 | resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" 1774 | integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ== 1775 | dependencies: 1776 | loose-envify "^1.1.0" 1777 | 1778 | readdirp@~3.6.0: 1779 | version "3.6.0" 1780 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1781 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1782 | dependencies: 1783 | picomatch "^2.2.1" 1784 | 1785 | regenerator-runtime@^0.13.4: 1786 | version "0.13.9" 1787 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1788 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1789 | 1790 | regexp.prototype.flags@^1.4.1: 1791 | version "1.4.3" 1792 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 1793 | integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 1794 | dependencies: 1795 | call-bind "^1.0.2" 1796 | define-properties "^1.1.3" 1797 | functions-have-names "^1.2.2" 1798 | 1799 | regexpp@^3.2.0: 1800 | version "3.2.0" 1801 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1802 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1803 | 1804 | resolve-from@^4.0.0: 1805 | version "4.0.0" 1806 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1807 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1808 | 1809 | resolve@^1.20.0, resolve@^1.22.0: 1810 | version "1.22.0" 1811 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 1812 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 1813 | dependencies: 1814 | is-core-module "^2.8.1" 1815 | path-parse "^1.0.7" 1816 | supports-preserve-symlinks-flag "^1.0.0" 1817 | 1818 | resolve@^2.0.0-next.3: 1819 | version "2.0.0-next.3" 1820 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" 1821 | integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== 1822 | dependencies: 1823 | is-core-module "^2.2.0" 1824 | path-parse "^1.0.6" 1825 | 1826 | reusify@^1.0.4: 1827 | version "1.0.4" 1828 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1829 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1830 | 1831 | rimraf@^3.0.2: 1832 | version "3.0.2" 1833 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1834 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1835 | dependencies: 1836 | glob "^7.1.3" 1837 | 1838 | run-parallel@^1.1.9: 1839 | version "1.2.0" 1840 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1841 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1842 | dependencies: 1843 | queue-microtask "^1.2.2" 1844 | 1845 | scheduler@^0.22.0: 1846 | version "0.22.0" 1847 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" 1848 | integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== 1849 | dependencies: 1850 | loose-envify "^1.1.0" 1851 | 1852 | semver@^6.3.0: 1853 | version "6.3.0" 1854 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1855 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1856 | 1857 | semver@^7.3.5: 1858 | version "7.3.7" 1859 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 1860 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 1861 | dependencies: 1862 | lru-cache "^6.0.0" 1863 | 1864 | shebang-command@^2.0.0: 1865 | version "2.0.0" 1866 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1867 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1868 | dependencies: 1869 | shebang-regex "^3.0.0" 1870 | 1871 | shebang-regex@^3.0.0: 1872 | version "3.0.0" 1873 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1874 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1875 | 1876 | side-channel@^1.0.4: 1877 | version "1.0.4" 1878 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1879 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1880 | dependencies: 1881 | call-bind "^1.0.0" 1882 | get-intrinsic "^1.0.2" 1883 | object-inspect "^1.9.0" 1884 | 1885 | slash@^3.0.0: 1886 | version "3.0.0" 1887 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1888 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1889 | 1890 | source-map-js@^1.0.1, source-map-js@^1.0.2: 1891 | version "1.0.2" 1892 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1893 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1894 | 1895 | string.prototype.matchall@^4.0.6: 1896 | version "4.0.7" 1897 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" 1898 | integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== 1899 | dependencies: 1900 | call-bind "^1.0.2" 1901 | define-properties "^1.1.3" 1902 | es-abstract "^1.19.1" 1903 | get-intrinsic "^1.1.1" 1904 | has-symbols "^1.0.3" 1905 | internal-slot "^1.0.3" 1906 | regexp.prototype.flags "^1.4.1" 1907 | side-channel "^1.0.4" 1908 | 1909 | string.prototype.trimend@^1.0.5: 1910 | version "1.0.5" 1911 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" 1912 | integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== 1913 | dependencies: 1914 | call-bind "^1.0.2" 1915 | define-properties "^1.1.4" 1916 | es-abstract "^1.19.5" 1917 | 1918 | string.prototype.trimstart@^1.0.5: 1919 | version "1.0.5" 1920 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" 1921 | integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== 1922 | dependencies: 1923 | call-bind "^1.0.2" 1924 | define-properties "^1.1.4" 1925 | es-abstract "^1.19.5" 1926 | 1927 | strip-ansi@^6.0.1: 1928 | version "6.0.1" 1929 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1930 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1931 | dependencies: 1932 | ansi-regex "^5.0.1" 1933 | 1934 | strip-bom@^3.0.0: 1935 | version "3.0.0" 1936 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1937 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1938 | 1939 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1940 | version "3.1.1" 1941 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1942 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1943 | 1944 | styled-jsx@5.0.2: 1945 | version "5.0.2" 1946 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.2.tgz#ff230fd593b737e9e68b630a694d460425478729" 1947 | integrity sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ== 1948 | 1949 | supports-color@^7.1.0: 1950 | version "7.2.0" 1951 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1952 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1953 | dependencies: 1954 | has-flag "^4.0.0" 1955 | 1956 | supports-preserve-symlinks-flag@^1.0.0: 1957 | version "1.0.0" 1958 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1959 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1960 | 1961 | tailwindcss@^3.0.24: 1962 | version "3.0.24" 1963 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.24.tgz#22e31e801a44a78a1d9a81ecc52e13b69d85704d" 1964 | integrity sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig== 1965 | dependencies: 1966 | arg "^5.0.1" 1967 | chokidar "^3.5.3" 1968 | color-name "^1.1.4" 1969 | detective "^5.2.0" 1970 | didyoumean "^1.2.2" 1971 | dlv "^1.1.3" 1972 | fast-glob "^3.2.11" 1973 | glob-parent "^6.0.2" 1974 | is-glob "^4.0.3" 1975 | lilconfig "^2.0.5" 1976 | normalize-path "^3.0.0" 1977 | object-hash "^3.0.0" 1978 | picocolors "^1.0.0" 1979 | postcss "^8.4.12" 1980 | postcss-js "^4.0.0" 1981 | postcss-load-config "^3.1.4" 1982 | postcss-nested "5.0.6" 1983 | postcss-selector-parser "^6.0.10" 1984 | postcss-value-parser "^4.2.0" 1985 | quick-lru "^5.1.1" 1986 | resolve "^1.22.0" 1987 | 1988 | text-table@^0.2.0: 1989 | version "0.2.0" 1990 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1991 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1992 | 1993 | to-regex-range@^5.0.1: 1994 | version "5.0.1" 1995 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1996 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1997 | dependencies: 1998 | is-number "^7.0.0" 1999 | 2000 | tsconfig-paths@^3.14.1: 2001 | version "3.14.1" 2002 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" 2003 | integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== 2004 | dependencies: 2005 | "@types/json5" "^0.0.29" 2006 | json5 "^1.0.1" 2007 | minimist "^1.2.6" 2008 | strip-bom "^3.0.0" 2009 | 2010 | tslib@^1.8.1: 2011 | version "1.14.1" 2012 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2013 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2014 | 2015 | tsutils@^3.21.0: 2016 | version "3.21.0" 2017 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2018 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2019 | dependencies: 2020 | tslib "^1.8.1" 2021 | 2022 | type-check@^0.4.0, type-check@~0.4.0: 2023 | version "0.4.0" 2024 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2025 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2026 | dependencies: 2027 | prelude-ls "^1.2.1" 2028 | 2029 | type-fest@^0.20.2: 2030 | version "0.20.2" 2031 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2032 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2033 | 2034 | typescript@^4.6.4: 2035 | version "4.6.4" 2036 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" 2037 | integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== 2038 | 2039 | unbox-primitive@^1.0.2: 2040 | version "1.0.2" 2041 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 2042 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 2043 | dependencies: 2044 | call-bind "^1.0.2" 2045 | has-bigints "^1.0.2" 2046 | has-symbols "^1.0.3" 2047 | which-boxed-primitive "^1.0.2" 2048 | 2049 | uri-js@^4.2.2: 2050 | version "4.4.1" 2051 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2052 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2053 | dependencies: 2054 | punycode "^2.1.0" 2055 | 2056 | util-deprecate@^1.0.2: 2057 | version "1.0.2" 2058 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2059 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2060 | 2061 | v8-compile-cache@^2.0.3: 2062 | version "2.3.0" 2063 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 2064 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 2065 | 2066 | which-boxed-primitive@^1.0.2: 2067 | version "1.0.2" 2068 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 2069 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 2070 | dependencies: 2071 | is-bigint "^1.0.1" 2072 | is-boolean-object "^1.1.0" 2073 | is-number-object "^1.0.4" 2074 | is-string "^1.0.5" 2075 | is-symbol "^1.0.3" 2076 | 2077 | which@^2.0.1: 2078 | version "2.0.2" 2079 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2080 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2081 | dependencies: 2082 | isexe "^2.0.0" 2083 | 2084 | word-wrap@^1.2.3: 2085 | version "1.2.3" 2086 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2087 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2088 | 2089 | wrappy@1: 2090 | version "1.0.2" 2091 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2092 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2093 | 2094 | xtend@^4.0.2: 2095 | version "4.0.2" 2096 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2097 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2098 | 2099 | yallist@^4.0.0: 2100 | version "4.0.0" 2101 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2102 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2103 | 2104 | yaml@^1.10.2: 2105 | version "1.10.2" 2106 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2107 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2108 | --------------------------------------------------------------------------------