From abc34a2155f20bad74035320fdc2fe0f2e438c3d Mon Sep 17 00:00:00 2001 From: unurled Date: Mon, 16 Jan 2023 22:42:50 +0100 Subject: [PATCH] complete site ! --- .gitignore | 24 ++ .vscode/extensions.json | 3 + README.md | 18 ++ index.html | 13 + package.json | 23 ++ public/logo.png | Bin 0 -> 58376 bytes src/App.vue | 15 ++ src/components/Footer.vue | 22 ++ src/components/HelloWorld.vue | 38 +++ src/components/Home.vue | 78 ++++++ src/components/Link.vue | 51 ++++ src/components/NavBar.vue | 32 +++ src/components/Project.vue | 43 +++ src/hex.css | 74 +++++ src/hsl.css | 162 +++++++++++ src/main.ts | 11 + src/rgb.css | 162 +++++++++++ src/router/index.ts | 13 + src/router/routes.ts | 16 ++ src/style.css | 81 ++++++ src/views/Home.vue | 126 +++++++++ src/views/NotFound.vue | 6 + src/vite-env.d.ts | 1 + tsconfig.json | 18 ++ tsconfig.node.json | 9 + vite.config.ts | 7 + yarn.lock | 493 ++++++++++++++++++++++++++++++++++ 27 files changed, 1539 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 public/logo.png create mode 100644 src/App.vue create mode 100644 src/components/Footer.vue create mode 100644 src/components/HelloWorld.vue create mode 100644 src/components/Home.vue create mode 100644 src/components/Link.vue create mode 100644 src/components/NavBar.vue create mode 100644 src/components/Project.vue create mode 100644 src/hex.css create mode 100644 src/hsl.css create mode 100644 src/main.ts create mode 100644 src/rgb.css create mode 100644 src/router/index.ts create mode 100644 src/router/routes.ts create mode 100644 src/style.css create mode 100644 src/views/Home.vue create mode 100644 src/views/NotFound.vue create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..ef72fd5 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..3e78381 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "site", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@iconify/vue": "^4.0.2", + "mitt": "^3.0.0", + "vue": "^3.2.45", + "vue-router": "^4.1.6" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.0.0", + "typescript": "^4.9.3", + "vite": "^4.0.0", + "vue-tsc": "^1.0.11" + } +} diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..95a8c5126a66ef6d209f9a86205753927de9ef64 GIT binary patch literal 58376 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 +import NavBar from "./components/NavBar.vue" +import Footer from "./components/Footer.vue" + + + + + + diff --git a/src/components/Footer.vue b/src/components/Footer.vue new file mode 100644 index 0000000..0460cfb --- /dev/null +++ b/src/components/Footer.vue @@ -0,0 +1,22 @@ + + + \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..5230910 --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/components/Home.vue b/src/components/Home.vue new file mode 100644 index 0000000..57bc026 --- /dev/null +++ b/src/components/Home.vue @@ -0,0 +1,78 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/Link.vue b/src/components/Link.vue new file mode 100644 index 0000000..77a2beb --- /dev/null +++ b/src/components/Link.vue @@ -0,0 +1,51 @@ + + + + + \ No newline at end of file diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue new file mode 100644 index 0000000..de42db6 --- /dev/null +++ b/src/components/NavBar.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/components/Project.vue b/src/components/Project.vue new file mode 100644 index 0000000..299c09a --- /dev/null +++ b/src/components/Project.vue @@ -0,0 +1,43 @@ + + + + + \ No newline at end of file diff --git a/src/hex.css b/src/hex.css new file mode 100644 index 0000000..a47770c --- /dev/null +++ b/src/hex.css @@ -0,0 +1,74 @@ + +:root { + --dark-shade0: #282c34; + + --dark-shade0-1: #292d35; + --dark-shade0-2: #2a2e36; + --dark-shade0-3: #2b2f37; + --dark-shade0-4: #2d3139; + --dark-shade0-5: #2e323a; + + + + --dark-shade1: #393e48; + + --dark-shade2: #4b515c; + + --dark-shade3: #5c6370; + + --dark-shade4: #636d83; + + --dark-shade5: #828997; + + --dark-shade6: #979eab; + + --dark-shade7: #abb2bf; + + --dark-accent0: #e06c75; + + --dark-accent1: #d19a66; + + --dark-accent2: #e5c07b; + + --dark-accent3: #98c379; + + --dark-accent4: #56b6c2; + + --dark-accent5: #61afef; + + --dark-accent6: #c678dd; + + --dark-accent7: #be5046; + + --light-shade0: #fafafa; + + --light-shade1: #cdced1; + + --light-shade2: #a0a1a7; + + --light-shade3: #9d9d9f; + + --light-shade4: #83858b; + + --light-shade5: #696c77; + + --light-shade6: #51535d; + + --light-shade7: #383a42; + + --light-accent0: #e45649; + + --light-accent1: #986801; + + --light-accent2: #c18401; + + --light-accent3: #50a14f; + + --light-accent4: #0184bc; + + --light-accent5: #4078f2; + + --light-accent6: #a626a4; + + --light-accent7: #ca1243; +} \ No newline at end of file diff --git a/src/hsl.css b/src/hsl.css new file mode 100644 index 0000000..c560212 --- /dev/null +++ b/src/hsl.css @@ -0,0 +1,162 @@ + +:root { + --dark-shade0: hsl(220, 13%, 18%); + --dark-shade0-h: 220; + --dark-shade0-s: 13%; + --dark-shade0-l: 18%; + + --dark-shade1: hsl(220, 12%, 25%); + --dark-shade1-h: 220; + --dark-shade1-s: 12%; + --dark-shade1-l: 25%; + + --dark-shade2: hsl(219, 10%, 33%); + --dark-shade2-h: 219; + --dark-shade2-s: 10%; + --dark-shade2-l: 33%; + + --dark-shade3: hsl(219, 10%, 40%); + --dark-shade3-h: 219; + --dark-shade3-s: 10%; + --dark-shade3-l: 40%; + + --dark-shade4: hsl(221, 14%, 45%); + --dark-shade4-h: 221; + --dark-shade4-s: 14%; + --dark-shade4-l: 45%; + + --dark-shade5: hsl(220, 9%, 55%); + --dark-shade5-h: 220; + --dark-shade5-s: 9%; + --dark-shade5-l: 55%; + + --dark-shade6: hsl(219, 11%, 63%); + --dark-shade6-h: 219; + --dark-shade6-s: 11%; + --dark-shade6-l: 63%; + + --dark-shade7: hsl(219, 14%, 71%); + --dark-shade7-h: 219; + --dark-shade7-s: 14%; + --dark-shade7-l: 71%; + + --dark-accent0: hsl(355, 65%, 65%); + --dark-accent0-h: 355; + --dark-accent0-s: 65%; + --dark-accent0-l: 65%; + + --dark-accent1: hsl(29, 54%, 61%); + --dark-accent1-h: 29; + --dark-accent1-s: 54%; + --dark-accent1-l: 61%; + + --dark-accent2: hsl(39, 67%, 69%); + --dark-accent2-h: 39; + --dark-accent2-s: 67%; + --dark-accent2-l: 69%; + + --dark-accent3: hsl(95, 38%, 62%); + --dark-accent3-h: 95; + --dark-accent3-s: 38%; + --dark-accent3-l: 62%; + + --dark-accent4: hsl(187, 47%, 55%); + --dark-accent4-h: 187; + --dark-accent4-s: 47%; + --dark-accent4-l: 55%; + + --dark-accent5: hsl(207, 82%, 66%); + --dark-accent5-h: 207; + --dark-accent5-s: 82%; + --dark-accent5-l: 66%; + + --dark-accent6: hsl(286, 60%, 67%); + --dark-accent6-h: 286; + --dark-accent6-s: 60%; + --dark-accent6-l: 67%; + + --dark-accent7: hsl(5, 48%, 51%); + --dark-accent7-h: 5; + --dark-accent7-s: 48%; + --dark-accent7-l: 51%; + + --light-shade0: hsl(0, 0%, 98%); + --light-shade0-h: 0; + --light-shade0-s: 0%; + --light-shade0-l: 98%; + + --light-shade1: hsl(225, 4%, 81%); + --light-shade1-h: 225; + --light-shade1-s: 4%; + --light-shade1-l: 81%; + + --light-shade2: hsl(231, 4%, 64%); + --light-shade2-h: 231; + --light-shade2-s: 4%; + --light-shade2-l: 64%; + + --light-shade3: hsl(240, 1%, 62%); + --light-shade3-h: 240; + --light-shade3-s: 1%; + --light-shade3-l: 62%; + + --light-shade4: hsl(225, 3%, 53%); + --light-shade4-h: 225; + --light-shade4-s: 3%; + --light-shade4-l: 53%; + + --light-shade5: hsl(227, 6%, 44%); + --light-shade5-h: 227; + --light-shade5-s: 6%; + --light-shade5-l: 44%; + + --light-shade6: hsl(230, 7%, 34%); + --light-shade6-h: 230; + --light-shade6-s: 7%; + --light-shade6-l: 34%; + + --light-shade7: hsl(228, 8%, 24%); + --light-shade7-h: 228; + --light-shade7-s: 8%; + --light-shade7-l: 24%; + + --light-accent0: hsl(5, 74%, 59%); + --light-accent0-h: 5; + --light-accent0-s: 74%; + --light-accent0-l: 59%; + + --light-accent1: hsl(41, 99%, 30%); + --light-accent1-h: 41; + --light-accent1-s: 99%; + --light-accent1-l: 30%; + + --light-accent2: hsl(41, 99%, 38%); + --light-accent2-h: 41; + --light-accent2-s: 99%; + --light-accent2-l: 38%; + + --light-accent3: hsl(119, 34%, 47%); + --light-accent3-h: 119; + --light-accent3-s: 34%; + --light-accent3-l: 47%; + + --light-accent4: hsl(198, 99%, 37%); + --light-accent4-h: 198; + --light-accent4-s: 99%; + --light-accent4-l: 37%; + + --light-accent5: hsl(221, 87%, 60%); + --light-accent5-h: 221; + --light-accent5-s: 87%; + --light-accent5-l: 60%; + + --light-accent6: hsl(301, 63%, 40%); + --light-accent6-h: 301; + --light-accent6-s: 63%; + --light-accent6-l: 40%; + + --light-accent7: hsl(344, 84%, 43%); + --light-accent7-h: 344; + --light-accent7-s: 84%; + --light-accent7-l: 43%; +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..1d1f13f --- /dev/null +++ b/src/main.ts @@ -0,0 +1,11 @@ +import './style.css' +import './hex.css' +import { createApp } from 'vue' +import { router } from './router/index' +import App from './App.vue' + +const app = createApp(App) + +app.use(router) + +app.mount('#app') diff --git a/src/rgb.css b/src/rgb.css new file mode 100644 index 0000000..bdcc311 --- /dev/null +++ b/src/rgb.css @@ -0,0 +1,162 @@ + +:root { + --dark-shade0: rgb(40, 44, 52); + --dark-shade0-r: 40; + --dark-shade0-g: 44; + --dark-shade0-b: 52; + + --dark-shade1: rgb(57, 62, 72); + --dark-shade1-r: 57; + --dark-shade1-g: 62; + --dark-shade1-b: 72; + + --dark-shade2: rgb(75, 81, 92); + --dark-shade2-r: 75; + --dark-shade2-g: 81; + --dark-shade2-b: 92; + + --dark-shade3: rgb(92, 99, 112); + --dark-shade3-r: 92; + --dark-shade3-g: 99; + --dark-shade3-b: 112; + + --dark-shade4: rgb(99, 109, 131); + --dark-shade4-r: 99; + --dark-shade4-g: 109; + --dark-shade4-b: 131; + + --dark-shade5: rgb(130, 137, 151); + --dark-shade5-r: 130; + --dark-shade5-g: 137; + --dark-shade5-b: 151; + + --dark-shade6: rgb(151, 158, 171); + --dark-shade6-r: 151; + --dark-shade6-g: 158; + --dark-shade6-b: 171; + + --dark-shade7: rgb(171, 178, 191); + --dark-shade7-r: 171; + --dark-shade7-g: 178; + --dark-shade7-b: 191; + + --dark-accent0: rgb(224, 108, 117); + --dark-accent0-r: 224; + --dark-accent0-g: 108; + --dark-accent0-b: 117; + + --dark-accent1: rgb(209, 154, 102); + --dark-accent1-r: 209; + --dark-accent1-g: 154; + --dark-accent1-b: 102; + + --dark-accent2: rgb(229, 192, 123); + --dark-accent2-r: 229; + --dark-accent2-g: 192; + --dark-accent2-b: 123; + + --dark-accent3: rgb(152, 195, 121); + --dark-accent3-r: 152; + --dark-accent3-g: 195; + --dark-accent3-b: 121; + + --dark-accent4: rgb(86, 182, 194); + --dark-accent4-r: 86; + --dark-accent4-g: 182; + --dark-accent4-b: 194; + + --dark-accent5: rgb(97, 175, 239); + --dark-accent5-r: 97; + --dark-accent5-g: 175; + --dark-accent5-b: 239; + + --dark-accent6: rgb(198, 120, 221); + --dark-accent6-r: 198; + --dark-accent6-g: 120; + --dark-accent6-b: 221; + + --dark-accent7: rgb(190, 80, 70); + --dark-accent7-r: 190; + --dark-accent7-g: 80; + --dark-accent7-b: 70; + + --light-shade0: rgb(250, 250, 250); + --light-shade0-r: 250; + --light-shade0-g: 250; + --light-shade0-b: 250; + + --light-shade1: rgb(205, 206, 209); + --light-shade1-r: 205; + --light-shade1-g: 206; + --light-shade1-b: 209; + + --light-shade2: rgb(160, 161, 167); + --light-shade2-r: 160; + --light-shade2-g: 161; + --light-shade2-b: 167; + + --light-shade3: rgb(157, 157, 159); + --light-shade3-r: 157; + --light-shade3-g: 157; + --light-shade3-b: 159; + + --light-shade4: rgb(131, 133, 139); + --light-shade4-r: 131; + --light-shade4-g: 133; + --light-shade4-b: 139; + + --light-shade5: rgb(105, 108, 119); + --light-shade5-r: 105; + --light-shade5-g: 108; + --light-shade5-b: 119; + + --light-shade6: rgb(81, 83, 93); + --light-shade6-r: 81; + --light-shade6-g: 83; + --light-shade6-b: 93; + + --light-shade7: rgb(56, 58, 66); + --light-shade7-r: 56; + --light-shade7-g: 58; + --light-shade7-b: 66; + + --light-accent0: rgb(228, 86, 73); + --light-accent0-r: 228; + --light-accent0-g: 86; + --light-accent0-b: 73; + + --light-accent1: rgb(152, 104, 1); + --light-accent1-r: 152; + --light-accent1-g: 104; + --light-accent1-b: 1; + + --light-accent2: rgb(193, 132, 1); + --light-accent2-r: 193; + --light-accent2-g: 132; + --light-accent2-b: 1; + + --light-accent3: rgb(80, 161, 79); + --light-accent3-r: 80; + --light-accent3-g: 161; + --light-accent3-b: 79; + + --light-accent4: rgb(1, 132, 188); + --light-accent4-r: 1; + --light-accent4-g: 132; + --light-accent4-b: 188; + + --light-accent5: rgb(64, 120, 242); + --light-accent5-r: 64; + --light-accent5-g: 120; + --light-accent5-b: 242; + + --light-accent6: rgb(166, 38, 164); + --light-accent6-r: 166; + --light-accent6-g: 38; + --light-accent6-b: 164; + + --light-accent7: rgb(202, 18, 67); + --light-accent7-r: 202; + --light-accent7-g: 18; + --light-accent7-b: 67; +} \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..228711b --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,13 @@ +import { createRouter, createWebHistory } from 'vue-router' +import { routes } from './routes' + +const router = createRouter({ + history: createWebHistory(), + routes +}) + +router.beforeEach((to, from, next) => { + next() +}) + +export { router } \ No newline at end of file diff --git a/src/router/routes.ts b/src/router/routes.ts new file mode 100644 index 0000000..7143561 --- /dev/null +++ b/src/router/routes.ts @@ -0,0 +1,16 @@ +import Home from '../views/Home.vue' +import NotFound from '../views/NotFound.vue' + +/** @type {import('vue-router').RouterOptions['routes']} */ +export const routes = [ + { + path: '/', + name: 'home', + component: Home, + meta: { title: 'Home' } + }, { + path: '/:path(.*)', + name: 'not-found', + component: NotFound + }, +] \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..165a9e2 --- /dev/null +++ b/src/style.css @@ -0,0 +1,81 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: var(--dark-shade7); + background-color: var(--dark-shade0); + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..0ef8a16 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/src/views/NotFound.vue b/src/views/NotFound.vue new file mode 100644 index 0000000..6f0c4b2 --- /dev/null +++ b/src/views/NotFound.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..b557c40 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true, + "noEmit": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..9d31e2a --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..05c1740 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [vue()], +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..7a368e0 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,493 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/parser@^7.16.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== + +"@esbuild/android-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" + integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== + +"@esbuild/android-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" + integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== + +"@esbuild/android-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" + integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== + +"@esbuild/darwin-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" + integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== + +"@esbuild/darwin-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" + integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== + +"@esbuild/freebsd-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" + integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== + +"@esbuild/freebsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" + integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== + +"@esbuild/linux-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" + integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== + +"@esbuild/linux-arm@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" + integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== + +"@esbuild/linux-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" + integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== + +"@esbuild/linux-loong64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" + integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== + +"@esbuild/linux-mips64el@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" + integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== + +"@esbuild/linux-ppc64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" + integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== + +"@esbuild/linux-riscv64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" + integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== + +"@esbuild/linux-s390x@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" + integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== + +"@esbuild/linux-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" + integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== + +"@esbuild/netbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" + integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== + +"@esbuild/openbsd-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" + integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== + +"@esbuild/sunos-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" + integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== + +"@esbuild/win32-arm64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" + integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== + +"@esbuild/win32-ia32@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" + integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== + +"@esbuild/win32-x64@0.16.17": + version "0.16.17" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" + integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== + +"@iconify/types@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" + integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== + +"@iconify/vue@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@iconify/vue/-/vue-4.0.2.tgz#1df557cc82a454cb2d1eb69ded1fb48b6363ef87" + integrity sha512-LRp+mYh8N0bcX4lustHtI5o1aEoio9HN3/19uIzVOvI78qopKBjzsDK5hkEZYDSc6+LKG8hfLxTxpW8CejXGZg== + dependencies: + "@iconify/types" "^2.0.0" + +"@vitejs/plugin-vue@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz#93815beffd23db46288c787352a8ea31a0c03e5e" + integrity sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA== + +"@volar/language-core@1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.0.24.tgz#5d767571e77728464635e61af1debca944811fe0" + integrity sha512-vTN+alJiWwK0Pax6POqrmevbtFW2dXhjwWiW/MW4f48eDYPLdyURWcr8TixO7EN/nHsUBj2udT7igFKPtjyAKg== + dependencies: + "@volar/source-map" "1.0.24" + muggle-string "^0.1.0" + +"@volar/source-map@1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.0.24.tgz#ad4c827fea5c26b4bf38a86d983e7deb65b1c61e" + integrity sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A== + dependencies: + muggle-string "^0.1.0" + +"@volar/typescript@1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.0.24.tgz#f934eda9774b31abdff53efc56782cd2623723d5" + integrity sha512-f8hCSk+PfKR1/RQHxZ79V1NpDImHoivqoizK+mstphm25tn/YJ/JnKNjZHB+o21fuW0yKlI26NV3jkVb2Cc/7A== + dependencies: + "@volar/language-core" "1.0.24" + +"@volar/vue-language-core@1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.0.24.tgz#81d180a8e09a53cb575e83acb79a31493891a1a4" + integrity sha512-2NTJzSgrwKu6uYwPqLiTMuAzi7fAY3yFy5PJ255bGJc82If0Xr+cW8pC80vpjG0D/aVLmlwAdO4+Ya2BI8GdDg== + dependencies: + "@volar/language-core" "1.0.24" + "@volar/source-map" "1.0.24" + "@vue/compiler-dom" "^3.2.45" + "@vue/compiler-sfc" "^3.2.45" + "@vue/reactivity" "^3.2.45" + "@vue/shared" "^3.2.45" + minimatch "^5.1.1" + vue-template-compiler "^2.7.14" + +"@volar/vue-typescript@1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.0.24.tgz#bef9b2bfb1b108c0f6cb12ec6fbf449b43fc8257" + integrity sha512-9a25oHDvGaNC0okRS47uqJI6FxY4hUQZUsxeOUFHcqVxZEv8s17LPuP/pMMXyz7jPygrZubB/qXqHY5jEu/akA== + dependencies: + "@volar/typescript" "1.0.24" + "@volar/vue-language-core" "1.0.24" + +"@vue/compiler-core@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz#d9311207d96f6ebd5f4660be129fb99f01ddb41b" + integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.45", "@vue/compiler-dom@^3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce" + integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw== + dependencies: + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/compiler-sfc@3.2.45", "@vue/compiler-sfc@^3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70" + integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.45" + "@vue/compiler-dom" "3.2.45" + "@vue/compiler-ssr" "3.2.45" + "@vue/reactivity-transform" "3.2.45" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2" + integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ== + dependencies: + "@vue/compiler-dom" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/devtools-api@^6.4.5": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380" + integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ== + +"@vue/reactivity-transform@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz#07ac83b8138550c83dfb50db43cde1e0e5e8124d" + integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.45" + "@vue/shared" "3.2.45" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity@3.2.45", "@vue/reactivity@^3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0" + integrity sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A== + dependencies: + "@vue/shared" "3.2.45" + +"@vue/runtime-core@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f" + integrity sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A== + dependencies: + "@vue/reactivity" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/runtime-dom@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59" + integrity sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA== + dependencies: + "@vue/runtime-core" "3.2.45" + "@vue/shared" "3.2.45" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f" + integrity sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g== + dependencies: + "@vue/compiler-ssr" "3.2.45" + "@vue/shared" "3.2.45" + +"@vue/shared@3.2.45", "@vue/shared@^3.2.45": + version "3.2.45" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2" + integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +csstype@^2.6.8: + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +esbuild@^0.16.3: + version "0.16.17" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" + integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== + optionalDependencies: + "@esbuild/android-arm" "0.16.17" + "@esbuild/android-arm64" "0.16.17" + "@esbuild/android-x64" "0.16.17" + "@esbuild/darwin-arm64" "0.16.17" + "@esbuild/darwin-x64" "0.16.17" + "@esbuild/freebsd-arm64" "0.16.17" + "@esbuild/freebsd-x64" "0.16.17" + "@esbuild/linux-arm" "0.16.17" + "@esbuild/linux-arm64" "0.16.17" + "@esbuild/linux-ia32" "0.16.17" + "@esbuild/linux-loong64" "0.16.17" + "@esbuild/linux-mips64el" "0.16.17" + "@esbuild/linux-ppc64" "0.16.17" + "@esbuild/linux-riscv64" "0.16.17" + "@esbuild/linux-s390x" "0.16.17" + "@esbuild/linux-x64" "0.16.17" + "@esbuild/netbsd-x64" "0.16.17" + "@esbuild/openbsd-x64" "0.16.17" + "@esbuild/sunos-x64" "0.16.17" + "@esbuild/win32-arm64" "0.16.17" + "@esbuild/win32-ia32" "0.16.17" + "@esbuild/win32-x64" "0.16.17" + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +minimatch@^5.1.1: + version "5.1.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.4.tgz#4e2d39d872684e97b309a9104251c3f1aa4e9d1c" + integrity sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw== + dependencies: + brace-expansion "^2.0.1" + +mitt@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" + integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== + +muggle-string@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.1.0.tgz#1fda8a281c8b27bb8b70466dbc9f27586a8baa6c" + integrity sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +postcss@^8.1.10, postcss@^8.4.20: + version "8.4.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" + integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rollup@^3.7.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.0.tgz#6eb19196d8b3b375ca651cb78261faac48e24cd6" + integrity sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA== + optionalDependencies: + fsevents "~2.3.2" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +typescript@^4.9.3: + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== + +vite@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.4.tgz#4612ce0b47bbb233a887a54a4ae0c6e240a0da31" + integrity sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw== + dependencies: + esbuild "^0.16.3" + postcss "^8.4.20" + resolve "^1.22.1" + rollup "^3.7.0" + optionalDependencies: + fsevents "~2.3.2" + +vue-router@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.1.6.tgz#b70303737e12b4814578d21d68d21618469375a1" + integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ== + dependencies: + "@vue/devtools-api" "^6.4.5" + +vue-template-compiler@^2.7.14: + version "2.7.14" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" + integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-tsc@^1.0.11: + version "1.0.24" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.0.24.tgz#c0b270a7c8422408d3b6694fee61b39a4b9e4740" + integrity sha512-mmU1s5SAqE1nByQAiQnao9oU4vX+mSdsgI8H57SfKH6UVzq/jP9+Dbi2GaV+0b4Cn361d2ln8m6xeU60ApiEXg== + dependencies: + "@volar/vue-language-core" "1.0.24" + "@volar/vue-typescript" "1.0.24" + +vue@^3.2.45: + version "3.2.45" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.45.tgz#94a116784447eb7dbd892167784619fef379b3c8" + integrity sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA== + dependencies: + "@vue/compiler-dom" "3.2.45" + "@vue/compiler-sfc" "3.2.45" + "@vue/runtime-dom" "3.2.45" + "@vue/server-renderer" "3.2.45" + "@vue/shared" "3.2.45"