From 3829e2e3f5096845e01547848e1a4a1def334000 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Tue, 30 Aug 2022 10:05:21 -0800 Subject: [PATCH] init frontend --- frontend/.editorconfig | 12 + frontend/.gitignore | 10 + frontend/.prettierrc | 9 + frontend/LICENSE | 21 + frontend/README.md | 137 + frontend/auto-imports.d.ts | 252 + frontend/components.d.ts | 18 + frontend/index.html | 34 + frontend/locales/en.json | 22 + frontend/locales/id.json | 22 + frontend/package.json | 69 + frontend/pnpm-lock.yaml | 5409 ++++++++++++++++++++ frontend/postcss.config.js | 6 + frontend/public/apple-touch-icon.png | Bin 0 -> 7911 bytes frontend/public/favicon-16x16.png | Bin 0 -> 647 bytes frontend/public/favicon-32x32.png | Bin 0 -> 1417 bytes frontend/public/favicon.ico | Bin 0 -> 15406 bytes frontend/public/pwa-192x192.png | Bin 0 -> 8867 bytes frontend/public/pwa-512x512.png | Bin 0 -> 22375 bytes frontend/public/robots.txt | 2 + frontend/public/site.webmanifest | 1 + frontend/src/App.vue | 3 + frontend/src/__test__/basic.spec.ts | 7 + frontend/src/assets/logo.png | Bin 0 -> 36025 bytes frontend/src/components/AppHeader.vue | 80 + frontend/src/components/Form/TextField.vue | 31 + frontend/src/env.d.ts | 8 + frontend/src/layouts/404.vue | 5 + frontend/src/layouts/default.vue | 18 + frontend/src/main.ts | 19 + frontend/src/modules/i18n.ts | 29 + frontend/src/modules/pinia.ts | 14 + frontend/src/modules/pwa.ts | 10 + frontend/src/pages/[...all].vue | 19 + frontend/src/pages/index.vue | 157 + frontend/src/router.ts | 17 + frontend/src/store/index.ts | 7 + frontend/src/styles/index.css | 3 + frontend/src/types/ViteSetupModule.ts | 3 + frontend/tailwind.config.js | 16 + frontend/tsconfig.json | 34 + frontend/typed-router.d.ts | 95 + frontend/vite.config.ts | 131 + 43 files changed, 6730 insertions(+) create mode 100644 frontend/.editorconfig create mode 100644 frontend/.gitignore create mode 100644 frontend/.prettierrc create mode 100644 frontend/LICENSE create mode 100644 frontend/README.md create mode 100644 frontend/auto-imports.d.ts create mode 100644 frontend/components.d.ts create mode 100644 frontend/index.html create mode 100644 frontend/locales/en.json create mode 100644 frontend/locales/id.json create mode 100644 frontend/package.json create mode 100644 frontend/pnpm-lock.yaml create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/apple-touch-icon.png create mode 100644 frontend/public/favicon-16x16.png create mode 100644 frontend/public/favicon-32x32.png create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/public/pwa-192x192.png create mode 100644 frontend/public/pwa-512x512.png create mode 100644 frontend/public/robots.txt create mode 100644 frontend/public/site.webmanifest create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/__test__/basic.spec.ts create mode 100644 frontend/src/assets/logo.png create mode 100644 frontend/src/components/AppHeader.vue create mode 100644 frontend/src/components/Form/TextField.vue create mode 100644 frontend/src/env.d.ts create mode 100644 frontend/src/layouts/404.vue create mode 100644 frontend/src/layouts/default.vue create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/modules/i18n.ts create mode 100644 frontend/src/modules/pinia.ts create mode 100644 frontend/src/modules/pwa.ts create mode 100644 frontend/src/pages/[...all].vue create mode 100644 frontend/src/pages/index.vue create mode 100644 frontend/src/router.ts create mode 100644 frontend/src/store/index.ts create mode 100644 frontend/src/styles/index.css create mode 100644 frontend/src/types/ViteSetupModule.ts create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 frontend/typed-router.d.ts create mode 100644 frontend/vite.config.ts diff --git a/frontend/.editorconfig b/frontend/.editorconfig new file mode 100644 index 0000000..9554c73 --- /dev/null +++ b/frontend/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +# Matches multiple files with brace expansion notation +[*.{js,jsx,html,sass,vue,ts,tsx,json}] +charset = utf-8 +indent_style = tab +indent_size = 4 +trim_trailing_whitespace = true diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..a0782ae --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,10 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local +.*-debug.log +*.log +.vercel +.vite-ssg-temp +.idea diff --git a/frontend/.prettierrc b/frontend/.prettierrc new file mode 100644 index 0000000..4b09075 --- /dev/null +++ b/frontend/.prettierrc @@ -0,0 +1,9 @@ +{ + "arrowParens": "avoid", + "semi": true, + "tabWidth": 4, + "useTabs": true, + "vueIndentScriptAndStyle": true, + "singleQuote": true, + "trailingComma": "es5" +} diff --git a/frontend/LICENSE b/frontend/LICENSE new file mode 100644 index 0000000..a441282 --- /dev/null +++ b/frontend/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Christopher Reeve + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..c9c506a --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,137 @@ +

+ Vitailse - Opinionated Vite Starter Template with TailwindCSS +

+ +Opinionated Vite starter template with [TailwindCSS](https://tailwindcss.com/) + +Inspired by [Vitesse](https://github.com/antfu/vitesse) ❤ + +## Features + +- ⚡️ [Vue 3](https://github.com/vuejs/vue-next), [Vite 2](https://github.com/vitejs/vite), [pnpm](https://pnpm.js.org/), [ESBuild](https://github.com/evanw/esbuild) - born with fastness + +- 🗂 [File based routing](./src/pages) + +- 📦 [Components auto importing](./src/components) + +- 🍍 [State Management via Pinia](https://pinia.esm.dev/) + +- 📑 [Layout system](./src/layouts) + +- 📲 [PWA](https://github.com/antfu/vite-plugin-pwa) + +- 🌍 [I18n ready](./locales) + +- 🎨 [Tailwind CSS](https://tailwindcss.com/) - Rapidly build modern websites without ever leaving your HTML. + +- 😃 [Use icons from any icon sets, with no compromise](https://github.com/antfu/unplugin-icons) + +- 🔥 Use the [new ` + + diff --git a/frontend/locales/en.json b/frontend/locales/en.json new file mode 100644 index 0000000..adad875 --- /dev/null +++ b/frontend/locales/en.json @@ -0,0 +1,22 @@ +{ + "pages": { + "home": "Home", + "other": { + "menu": "Other Page", + "desc": "An example of other pages" + }, + "not-found": "Page not found" + }, + "app": { + "offline": "App ready to work offline", + "new-content": "New content available, click on reload button to update." + }, + "intro": { + "desc": "Welcome to Vitailse, Vite starter template with {tailwindurl}", + "github": "Please give stars and report any issues on our {githuburl}" + }, + "button": { + "reload": "Reload", + "close": "Close" + } +} diff --git a/frontend/locales/id.json b/frontend/locales/id.json new file mode 100644 index 0000000..53e7c41 --- /dev/null +++ b/frontend/locales/id.json @@ -0,0 +1,22 @@ +{ + "pages": { + "home": "Beranda", + "other": { + "menu": "Halaman lain", + "desc": "Contoh untuk halaman lain" + }, + "not-found": "Laman tidak ditemukan" + }, + "app": { + "offline": "Aplikasi siap digunakan tanpa jaringan internet", + "new-content": "Konten baru ditemukan, Tekan tombol perbarui untuk memperbarui laman." + }, + "intro": { + "desc": "Selamat datang di Vitailse, Template awal vite dengan ", + "github": "Mohon berikan bintang dan laporkan masalah pada " + }, + "button": { + "reload": "Perbarui", + "close": "Tutup" + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..45dd54b --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,69 @@ +{ + "name": "@zynth/vitailse", + "description": "Vite starter template with TailwindCSS", + "version": "0.1.0", + "main": "src/main.ts", + "repository": { + "type": "git", + "url": "git+https://github.com/zynth17/vitailse.git" + }, + "keywords": [ + "vitailse", + "tailwindcss", + "vite", + "vitesse" + ], + "author": "Christopher Reeeve", + "license": "MIT", + "bugs": { + "url": "https://github.com/zynth17/vitailse/issues" + }, + "homepage": "https://github.com/zynth17/vitailse#readme", + "scripts": { + "dev": "vite", + "build": "vite-ssg build", + "serve": "vite preview", + "https-preview": "serve dist" + }, + "dependencies": { + "@tailwindcss/aspect-ratio": "^0.4.0", + "@tailwindcss/forms": "^0.5.2", + "@tailwindcss/typography": "^0.5.4", + "@types/node": "^18.0.4", + "@vueuse/components": "^8.9.3", + "@vueuse/core": "^8.9.3", + "@vueuse/head": "^0.7.6", + "autoprefixer": "^10.4.7", + "daisyui": "^2.24.0", + "pinia": "^2.0.16", + "postcss": "^8.4.14", + "tailwindcss": "^3.1.6", + "vue": "^3.2.37", + "vue-i18n": "^9.1.10", + "vue-router": "^4.1.2", + "workbox": "^0.0.0", + "workbox-window": "^6.5.3" + }, + "devDependencies": { + "@iconify/json": "^2.1.78", + "@intlify/vite-plugin-vue-i18n": "^5.0.0", + "@vitejs/plugin-vue": "^3.0.0", + "@vue/compiler-sfc": "^3.2.37", + "@vue/server-renderer": "^3.2.37", + "critters": "^0.0.16", + "https-localhost": "^4.7.1", + "typescript": "^4.7.4", + "unplugin-auto-import": "^0.9.3", + "unplugin-icons": "^0.14.7", + "unplugin-vue-components": "0.21.1", + "unplugin-vue-router": "^0.0.21", + "vite": "^3.0.0", + "vite-plugin-pwa": "^0.12.3", + "vite-plugin-vue-layouts": "^0.7.0", + "vite-plugin-vue-type-imports": "^0.2.0", + "vite-ssg": "^0.20.2", + "vite-ssg-sitemap": "^0.3.2", + "vitest": "^0.18.0", + "vue-tsc": "^0.38.5" + } +} diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml new file mode 100644 index 0000000..956b60f --- /dev/null +++ b/frontend/pnpm-lock.yaml @@ -0,0 +1,5409 @@ +lockfileVersion: 5.4 + +specifiers: + '@iconify/json': ^2.1.78 + '@intlify/vite-plugin-vue-i18n': ^5.0.0 + '@tailwindcss/aspect-ratio': ^0.4.0 + '@tailwindcss/forms': ^0.5.2 + '@tailwindcss/typography': ^0.5.4 + '@types/node': ^18.0.4 + '@vitejs/plugin-vue': ^3.0.0 + '@vue/compiler-sfc': ^3.2.37 + '@vue/server-renderer': ^3.2.37 + '@vueuse/components': ^8.9.3 + '@vueuse/core': ^8.9.3 + '@vueuse/head': ^0.7.6 + autoprefixer: ^10.4.7 + critters: ^0.0.16 + daisyui: ^2.24.0 + https-localhost: ^4.7.1 + pinia: ^2.0.16 + postcss: ^8.4.14 + tailwindcss: ^3.1.6 + typescript: ^4.7.4 + unplugin-auto-import: ^0.9.3 + unplugin-icons: ^0.14.7 + unplugin-vue-components: 0.21.1 + unplugin-vue-router: ^0.0.21 + vite: ^3.0.0 + vite-plugin-pwa: ^0.12.3 + vite-plugin-vue-layouts: ^0.7.0 + vite-plugin-vue-type-imports: ^0.2.0 + vite-ssg: ^0.20.2 + vite-ssg-sitemap: ^0.3.2 + vitest: ^0.18.0 + vue: ^3.2.37 + vue-i18n: ^9.1.10 + vue-router: ^4.1.2 + vue-tsc: ^0.38.5 + workbox: ^0.0.0 + workbox-window: ^6.5.3 + +dependencies: + '@tailwindcss/aspect-ratio': 0.4.0_tailwindcss@3.1.6 + '@tailwindcss/forms': 0.5.2_tailwindcss@3.1.6 + '@tailwindcss/typography': 0.5.4_tailwindcss@3.1.6 + '@types/node': 18.0.4 + '@vueuse/components': 8.9.3_vue@3.2.37 + '@vueuse/core': 8.9.3_vue@3.2.37 + '@vueuse/head': 0.7.6_vue@3.2.37 + autoprefixer: 10.4.7_postcss@8.4.14 + daisyui: 2.24.0_ugi4xkrfysqkt4c4y6hkyfj344 + pinia: 2.0.16_j6bzmzd4ujpabbp5objtwxyjp4 + postcss: 8.4.14 + tailwindcss: 3.1.6_postcss@8.4.14 + vue: 3.2.37 + vue-i18n: 9.1.10_vue@3.2.37 + vue-router: 4.1.2_vue@3.2.37 + workbox: 0.0.0 + workbox-window: 6.5.3 + +devDependencies: + '@iconify/json': 2.1.78 + '@intlify/vite-plugin-vue-i18n': 5.0.0_vite@3.0.0+vue-i18n@9.1.10 + '@vitejs/plugin-vue': 3.0.0_vite@3.0.0+vue@3.2.37 + '@vue/compiler-sfc': 3.2.37 + '@vue/server-renderer': 3.2.37_vue@3.2.37 + critters: 0.0.16 + https-localhost: 4.7.1 + typescript: 4.7.4 + unplugin-auto-import: 0.9.3_gvio5bgcjg37ethveel5rvqgym + unplugin-icons: 0.14.7_5vhdwjrvx3yqj3k5avrlxtwoii + unplugin-vue-components: 0.21.1_vite@3.0.0+vue@3.2.37 + unplugin-vue-router: 0.0.21_6ef32vilt6ae74xg3uetebg7ja + vite: 3.0.0 + vite-plugin-pwa: 0.12.3_2slanrkxy3rtt36tq3uv5vcihy + vite-plugin-vue-layouts: 0.7.0_5vcanmustn365rg452uyprxay4 + vite-plugin-vue-type-imports: 0.2.0_2yymnzrok6eda47acnj2yjm3ae + vite-ssg: 0.20.2_zodgg63wx4ia7g264h7fi3aaae + vite-ssg-sitemap: 0.3.2 + vitest: 0.18.0 + vue-tsc: 0.38.5_typescript@4.7.4 + +packages: + + /@ampproject/remapping/2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.14 + dev: true + + /@antfu/install-pkg/0.1.0: + resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils/0.5.2: + resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + dev: true + + /@apideck/better-ajv-errors/0.3.6_ajv@8.11.0: + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.11.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true + + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/compat-data/7.18.8: + resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core/7.18.6: + resolution: {integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helpers': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 + convert-source-map: 1.8.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator/7.18.7: + resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor/7.18.6: + resolution: {integrity: sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-compilation-targets/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.2 + semver: 6.3.0 + dev: true + + /@babel/helper-create-class-features-plugin/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.1.0 + dev: true + + /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.18.6: + resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/traverse': 7.18.8 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor/7.18.6: + resolution: {integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-explode-assignable-expression/7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-function-name/7.18.6: + resolution: {integrity: sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.6 + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-member-expression-to-functions/7.18.6: + resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-module-transforms/7.18.8: + resolution: {integrity: sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-plugin-utils/7.18.6: + resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-wrap-function': 7.18.6 + '@babel/types': 7.18.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers/7.18.6: + resolution: {integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access/7.18.6: + resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.18.6: + resolution: {integrity: sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.18.8 + dev: true + + /@babel/helper-validator-identifier/7.18.6: + resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function/7.18.6: + resolution: {integrity: sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers/7.18.6: + resolution: {integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.18.6 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser/7.18.8: + resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.18.8 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-async-generator-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-export-namespace-from/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-logical-assignment-operators/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-object-rest-spread/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-optional-chaining/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 + dev: true + + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.18.6: + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.6: + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.18.6: + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-import-assertions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.6: + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.18.6: + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.18.6: + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.18.6: + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.6: + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-block-scoping/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-classes/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-destructuring/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-duplicate-keys/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-function-name/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-modules-amd/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-simple-access': 7.18.6 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 + babel-plugin-dynamic-import-node: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + regenerator-transform: 0.15.0 + dev: true + + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-spread/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + dev: true + + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-template-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-typeof-symbol/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-unicode-escapes/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/preset-env/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-async-generator-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-static-block': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-export-namespace-from': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-object-rest-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-property-in-object': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-import-assertions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoping': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-classes': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-computed-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-destructuring': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-duplicate-keys': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-function-name': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-amd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-commonjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-systemjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-template-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-typeof-symbol': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-escapes': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.18.6 + '@babel/preset-modules': 0.1.5_@babel+core@7.18.6 + '@babel/types': 7.18.8 + babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.18.6 + babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.18.6 + babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.18.6 + core-js-compat: 3.23.4 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules/0.1.5_@babel+core@7.18.6: + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/types': 7.18.8 + esutils: 2.0.3 + dev: true + + /@babel/runtime/7.18.6: + resolution: {integrity: sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.9 + dev: true + + /@babel/template/7.18.6: + resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 + dev: true + + /@babel/traverse/7.18.8: + resolution: {integrity: sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types/7.18.8: + resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.18.6 + to-fast-properties: 2.0.0 + + /@iconify/json/2.1.78: + resolution: {integrity: sha512-WxWKgVEsnnj6pQVO9zOCYq3kIDIIbAv+RDxfU66DJw16BjKjXxcUyCDEARFRbqodSFd1p7o6Uw4zJ5iggItaQg==} + dependencies: + '@iconify/types': 1.1.0 + pathe: 0.3.2 + dev: true + + /@iconify/types/1.1.0: + resolution: {integrity: sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==} + dev: true + + /@iconify/utils/1.0.33: + resolution: {integrity: sha512-vGeAqo7aGPxOQmGdVoXFUOuyN+0V7Lcrx2EvaiRjxUD1x6Om0Tvq2bdm7E24l2Pz++4S0mWMCVFXe/17EtKImQ==} + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.2 + '@iconify/types': 1.1.0 + debug: 4.3.4 + kolorist: 1.5.1 + local-pkg: 0.4.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@intlify/bundle-utils/3.1.0_vue-i18n@9.1.10: + resolution: {integrity: sha512-ghlJ0kR2cCQ8D+poKknC0Xx0ncOt3J3os7CcIAqqIWVF7k6AtGoCDnIru+YzlZcvFRNmP9wEZ7jKliojCdAWNg==} + engines: {node: '>= 12'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + dependencies: + '@intlify/message-compiler': 9.3.0-beta.1 + '@intlify/shared': 9.3.0-beta.1 + jsonc-eslint-parser: 1.4.1 + source-map: 0.6.1 + vue-i18n: 9.1.10_vue@3.2.37 + yaml-eslint-parser: 0.3.2 + dev: true + + /@intlify/core-base/9.1.10: + resolution: {integrity: sha512-So9CNUavB/IsZ+zBmk2Cv6McQp6vc2wbGi1S0XQmJ8Vz+UFcNn9MFXAe9gY67PreIHrbLsLxDD0cwo1qsxM1Nw==} + engines: {node: '>= 10'} + dependencies: + '@intlify/devtools-if': 9.1.10 + '@intlify/message-compiler': 9.1.10 + '@intlify/message-resolver': 9.1.10 + '@intlify/runtime': 9.1.10 + '@intlify/shared': 9.1.10 + '@intlify/vue-devtools': 9.1.10 + + /@intlify/devtools-if/9.1.10: + resolution: {integrity: sha512-SHaKoYu6sog3+Q8js1y3oXLywuogbH1sKuc7NSYkN3GElvXSBaMoCzW+we0ZSFqj/6c7vTNLg9nQ6rxhKqYwnQ==} + engines: {node: '>= 10'} + dependencies: + '@intlify/shared': 9.1.10 + + /@intlify/message-compiler/9.1.10: + resolution: {integrity: sha512-+JiJpXff/XTb0EadYwdxOyRTB0hXNd4n1HaJ/a4yuV960uRmPXaklJsedW0LNdcptd/hYUZtCkI7Lc9J5C1gxg==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-resolver': 9.1.10 + '@intlify/shared': 9.1.10 + source-map: 0.6.1 + + /@intlify/message-compiler/9.3.0-beta.1: + resolution: {integrity: sha512-XHjwJB7qJciYA3T19ehBFpcmC1z+R4sMS43fEp30CLOOFLsrB0xuk0V2XeOFsHovaQ2LsK5x0qk+5+Dy6Hs7fw==} + engines: {node: '>= 14'} + dependencies: + '@intlify/shared': 9.3.0-beta.1 + source-map: 0.6.1 + dev: true + + /@intlify/message-resolver/9.1.10: + resolution: {integrity: sha512-5YixMG/M05m0cn9+gOzd4EZQTFRUu8RGhzxJbR1DWN21x/Z3bJ8QpDYj6hC4FwBj5uKsRfKpJQ3Xqg98KWoA+w==} + engines: {node: '>= 10'} + + /@intlify/runtime/9.1.10: + resolution: {integrity: sha512-7QsuByNzpe3Gfmhwq6hzgXcMPpxz8Zxb/XFI6s9lQdPLPe5Lgw4U1ovRPZTOs6Y2hwitR3j/HD8BJNGWpJnOFA==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-compiler': 9.1.10 + '@intlify/message-resolver': 9.1.10 + '@intlify/shared': 9.1.10 + + /@intlify/shared/9.1.10: + resolution: {integrity: sha512-Om54xJeo1Vw+K1+wHYyXngE8cAbrxZHpWjYzMR9wCkqbhGtRV5VLhVc214Ze2YatPrWlS2WSMOWXR8JktX/IgA==} + engines: {node: '>= 10'} + + /@intlify/shared/9.3.0-beta.1: + resolution: {integrity: sha512-clf9EF4lY0sANjHlEndwfsR2hvYuq0TElq+gO/1xqH3FMGJwv+6lxJPOtoF4r2IE5RV3qX6YyZejZgdfbq2Yfg==} + engines: {node: '>= 14'} + dev: true + + /@intlify/vite-plugin-vue-i18n/5.0.0_vite@3.0.0+vue-i18n@9.1.10: + resolution: {integrity: sha512-49W7y2b0m6Cg6qGoBkjdNgxyzFx3iOSbnxvDaWcN65raaceJVuwCwxXX1SqJbjHTg32rpTFi4jSlroqAV9Rr0w==} + engines: {node: '>= 14.6'} + peerDependencies: + petite-vue-i18n: '*' + vite: ^2.9.0 || ^3.0.0 + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vite: + optional: true + vue-i18n: + optional: true + dependencies: + '@intlify/bundle-utils': 3.1.0_vue-i18n@9.1.10 + '@intlify/shared': 9.3.0-beta.1 + '@rollup/pluginutils': 4.2.1 + debug: 4.3.4 + fast-glob: 3.2.11 + source-map: 0.6.1 + vite: 3.0.0 + vue-i18n: 9.1.10_vue@3.2.37 + transitivePeerDependencies: + - supports-color + dev: true + + /@intlify/vue-devtools/9.1.10: + resolution: {integrity: sha512-5l3qYARVbkWAkagLu1XbDUWRJSL8br1Dj60wgMaKB0+HswVsrR6LloYZTg7ozyvM621V6+zsmwzbQxbVQyrytQ==} + engines: {node: '>= 10'} + dependencies: + '@intlify/message-resolver': 9.1.10 + '@intlify/runtime': 9.1.10 + '@intlify/shared': 9.1.10 + + /@jridgewell/gen-mapping/0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.14 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.14 + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true + + /@jridgewell/trace-mapping/0.3.14: + resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + + /@rollup/plugin-babel/5.3.1_3crms4j33zkfeqv7ozcuia3hfq: + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@rollup/pluginutils': 3.1.0_rollup@2.77.0 + rollup: 2.77.0 + dev: true + + /@rollup/plugin-node-resolve/11.2.1_rollup@2.77.0: + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.77.0 + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.22.1 + rollup: 2.77.0 + dev: true + + /@rollup/plugin-replace/2.4.2_rollup@2.77.0: + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.77.0 + magic-string: 0.25.9 + rollup: 2.77.0 + dev: true + + /@rollup/pluginutils/3.1.0_rollup@2.77.0: + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.77.0 + dev: true + + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@surma/rollup-plugin-off-main-thread/2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.8 + json5: 2.2.1 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.7 + dev: true + + /@tailwindcss/aspect-ratio/0.4.0_tailwindcss@3.1.6: + resolution: {integrity: sha512-WJu0I4PpqNPuutpaA9zDUq2JXR+lorZ7PbLcKNLmb6GL9/HLfC7w3CRsMhJF4BbYd/lkY6CfXOvkYpuGnZfkpQ==} + peerDependencies: + tailwindcss: '>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1' + dependencies: + tailwindcss: 3.1.6_postcss@8.4.14 + dev: false + + /@tailwindcss/forms/0.5.2_tailwindcss@3.1.6: + resolution: {integrity: sha512-pSrFeJB6Bg1Mrg9CdQW3+hqZXAKsBrSG9MAfFLKy1pVA4Mb4W7C0k7mEhlmS2Dfo/otxrQOET7NJiJ9RrS563w==} + peerDependencies: + tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' + dependencies: + mini-svg-data-uri: 1.4.4 + tailwindcss: 3.1.6_postcss@8.4.14 + dev: false + + /@tailwindcss/typography/0.5.4_tailwindcss@3.1.6: + resolution: {integrity: sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + tailwindcss: 3.1.6_postcss@8.4.14 + dev: false + + /@tootallnate/once/2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@types/chai-subset/1.3.3: + resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.1 + dev: true + + /@types/chai/4.3.1: + resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} + dev: true + + /@types/estree/0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + + /@types/node/18.0.4: + resolution: {integrity: sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA==} + + /@types/resolve/1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 18.0.4 + dev: true + + /@types/trusted-types/2.0.2: + resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} + + /@types/web-bluetooth/0.0.14: + resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} + + /@vitejs/plugin-vue/3.0.0_vite@3.0.0+vue@3.2.37: + resolution: {integrity: sha512-yWP34ArFh/jAeNUDkkLz/kVRLjf5ppJiq4L36f64Cp6dIrMQeYZGDP9xxdemlXfZR9ylN9JgHUl3GzfqOtgYDg==} + engines: {node: '>=14.18.0'} + peerDependencies: + vite: ^3.0.0 + vue: ^3.2.25 + dependencies: + vite: 3.0.0 + vue: 3.2.37 + dev: true + + /@volar/code-gen/0.38.5: + resolution: {integrity: sha512-GRGhPKoNtRwZyn9M0b2buobeMR1Aj9zxZI0osanLG9vB9YCnJov1myxKU8EJV5NobpyspLIv1X6/BEHLZNsKig==} + dependencies: + '@volar/source-map': 0.38.5 + dev: true + + /@volar/source-map/0.38.5: + resolution: {integrity: sha512-TyTLkOtAW/7qnl4Gabt4W4vcKPBPCBdaPLKwkMglKcaX70lPH2CIwZcPMJo6PAilbUVXcuX86xfgdncWDKKaZQ==} + dev: true + + /@volar/vue-code-gen/0.38.5: + resolution: {integrity: sha512-4t2bX2bCmmlyYwPLqfH3AJXj9Km79uRmCy81recc8LB8ZT2Z9hOFNBAnlGNcCeZAtVWtmHVV7sXJtQAJQxkWeg==} + dependencies: + '@volar/code-gen': 0.38.5 + '@volar/source-map': 0.38.5 + '@vue/compiler-core': 3.2.37 + '@vue/compiler-dom': 3.2.37 + '@vue/shared': 3.2.37 + dev: true + + /@volar/vue-typescript/0.38.5: + resolution: {integrity: sha512-Gobtg5gxR3bf/l1h300OWCWkvDQnOINgnxkDYiF8qdTBalW6qGsgGmq0uLBBDLaoahrfM7rqNd5QfJwGBgFXZg==} + dependencies: + '@volar/code-gen': 0.38.5 + '@volar/source-map': 0.38.5 + '@volar/vue-code-gen': 0.38.5 + '@vue/compiler-sfc': 3.2.37 + '@vue/reactivity': 3.2.37 + dev: true + + /@vue/compiler-core/3.2.37: + resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} + dependencies: + '@babel/parser': 7.18.8 + '@vue/shared': 3.2.37 + estree-walker: 2.0.2 + source-map: 0.6.1 + + /@vue/compiler-dom/3.2.37: + resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==} + dependencies: + '@vue/compiler-core': 3.2.37 + '@vue/shared': 3.2.37 + + /@vue/compiler-sfc/3.2.37: + resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==} + dependencies: + '@babel/parser': 7.18.8 + '@vue/compiler-core': 3.2.37 + '@vue/compiler-dom': 3.2.37 + '@vue/compiler-ssr': 3.2.37 + '@vue/reactivity-transform': 3.2.37 + '@vue/shared': 3.2.37 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.14 + source-map: 0.6.1 + + /@vue/compiler-ssr/3.2.37: + resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==} + dependencies: + '@vue/compiler-dom': 3.2.37 + '@vue/shared': 3.2.37 + + /@vue/devtools-api/6.2.1: + resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==} + + /@vue/reactivity-transform/3.2.37: + resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} + dependencies: + '@babel/parser': 7.18.8 + '@vue/compiler-core': 3.2.37 + '@vue/shared': 3.2.37 + estree-walker: 2.0.2 + magic-string: 0.25.9 + + /@vue/reactivity/3.2.37: + resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==} + dependencies: + '@vue/shared': 3.2.37 + + /@vue/runtime-core/3.2.37: + resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==} + dependencies: + '@vue/reactivity': 3.2.37 + '@vue/shared': 3.2.37 + + /@vue/runtime-dom/3.2.37: + resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==} + dependencies: + '@vue/runtime-core': 3.2.37 + '@vue/shared': 3.2.37 + csstype: 2.6.20 + + /@vue/server-renderer/3.2.37_vue@3.2.37: + resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==} + peerDependencies: + vue: 3.2.37 + dependencies: + '@vue/compiler-ssr': 3.2.37 + '@vue/shared': 3.2.37 + vue: 3.2.37 + + /@vue/shared/3.2.37: + resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==} + + /@vueuse/components/8.9.3_vue@3.2.37: + resolution: {integrity: sha512-7A97cUdJxwAESo1dJvIzxGW7Z8n5LGrLPOrQ9qgNGUKZlwVgBHJNiQ5KMddDDoqSwTVrLGspc1p8q8/+tYpHKA==} + dependencies: + '@vueuse/core': 8.9.3_vue@3.2.37 + '@vueuse/shared': 8.9.3_vue@3.2.37 + vue-demi: 0.13.4_vue@3.2.37 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/core/8.9.3_vue@3.2.37: + resolution: {integrity: sha512-q2pr3N7FPG7IBBhEXTYOJU+38VwKMLP5IfD33byzBV4Th7f1JHT4qPKvJrvr17knAefPRzNqgt9et+xFqaRlPQ==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + '@types/web-bluetooth': 0.0.14 + '@vueuse/metadata': 8.9.3 + '@vueuse/shared': 8.9.3_vue@3.2.37 + vue: 3.2.37 + vue-demi: 0.13.4_vue@3.2.37 + + /@vueuse/head/0.7.6_vue@3.2.37: + resolution: {integrity: sha512-cOWqCkT3WiF5oEpw+VVEWUJd9RLD5rc7DmnFp3cePsejp+t7686uKD9Z9ZU7Twb7R/BI8iexKTmXo9D/F3v6UA==} + peerDependencies: + vue: '>=3' + dependencies: + vue: 3.2.37 + + /@vueuse/metadata/8.9.3: + resolution: {integrity: sha512-57gZZKtWAmcJaUBmciCohvmumVLz4+FnoVnWj7U5BWs5PC2/7gU9Z0/i1i9leDNeboAauFzAq7z1GjS8eYnT+w==} + + /@vueuse/shared/8.9.3_vue@3.2.37: + resolution: {integrity: sha512-foorYQAU3CGknAO1w9No/rpGBJmb7L74MPltnZAYxeBRfhsajjJYYgja+D5IT2vT+/a0NciISaVp3fDwMN1ocA==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + vue: 3.2.37 + vue-demi: 0.13.4_vue@3.2.37 + + /abab/2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true + + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-globals/6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-jsx/5.3.2_acorn@7.4.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn-node/1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + dev: false + + /acorn-walk/7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + /acorn/8.7.1: + resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base/6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /ajv/8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /appdata-path/1.0.0: + resolution: {integrity: sha512-ZbH3ezXfnT/YE3NdqduIt4lBV+H0ybvA2Qx3K76gIjQvh8gROpDFdDLpx6B1QJtW7zxisCbpTlCLhKqoR8cDBw==} + dev: true + + /arg/5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: false + + /array-flatten/1.1.1: + resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=} + dev: true + + /assertion-error/1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /autoprefixer/10.4.7_postcss@8.4.14: + resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.2 + caniuse-lite: 1.0.30001366 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.14 + postcss-value-parser: 4.2.0 + dev: false + + /babel-plugin-dynamic-import-node/2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + dependencies: + object.assign: 4.1.2 + dev: true + + /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.18.6: + resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.18.6: + resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 + core-js-compat: 3.23.4 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.18.6: + resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-runtime/6.26.0: + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /boolbase/1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browser-process-hrtime/1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist/4.21.2: + resolution: {integrity: sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001366 + electron-to-chromium: 1.4.191 + node-releases: 2.0.6 + update-browserslist-db: 1.0.4_browserslist@4.21.2 + + /buffer-from/1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /bytes/3.0.0: + resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=} + engines: {node: '>= 0.8'} + dev: true + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.2 + dev: true + + /camel-case/3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /camelcase-css/2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: false + + /caniuse-lite/1.0.30001366: + resolution: {integrity: sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==} + + /chai/4.3.6: + resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 3.0.1 + get-func-name: 2.0.0 + loupe: 2.3.4 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error/1.0.2: + resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /clean-css/4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /cliui/7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string/1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color/4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /common-tags/1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /compressible/2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /compression/1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + dev: true + + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type/1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: true + + /convert-source-map/1.8.0: + resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /cookie-signature/1.0.6: + resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + dev: true + + /cookie/0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /core-js-compat/3.23.4: + resolution: {integrity: sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==} + dependencies: + browserslist: 4.21.2 + semver: 7.0.0 + dev: true + + /core-js/2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + requiresBuild: true + dev: false + + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cors/2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /critters/0.0.16: + resolution: {integrity: sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==} + dependencies: + chalk: 4.1.2 + css-select: 4.3.0 + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + postcss: 8.4.14 + pretty-bytes: 5.6.0 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-random-string/2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /css-select/4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-selector-tokenizer/0.8.0: + resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==} + dependencies: + cssesc: 3.0.0 + fastparse: 1.1.2 + dev: false + + /css-what/6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /cssom/0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom/0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: true + + /cssstyle/2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /csstype/2.6.20: + resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} + + /daisyui/2.24.0_ugi4xkrfysqkt4c4y6hkyfj344: + resolution: {integrity: sha512-Fdu/4LCdTfWLWAbCuPxvnaRotEfJ+hVPgZ2kv/aUk9RZ00Yk8fGdJtIf0kXJ3IgUKOr8rCXUpfQY6DQU9usPCQ==} + peerDependencies: + autoprefixer: ^10.0.2 + postcss: ^8.1.6 + dependencies: + autoprefixer: 10.4.7_postcss@8.4.14 + color: 4.2.3 + css-selector-tokenizer: 0.8.0 + postcss: 8.4.14 + postcss-js: 4.0.0_postcss@8.4.14 + tailwindcss: 3.1.6_postcss@8.4.14 + transitivePeerDependencies: + - ts-node + dev: false + + /data-urls/3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: true + + /debug/2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decimal.js/10.3.1: + resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} + dev: true + + /deep-eql/3.0.1: + resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} + engines: {node: '>=0.12'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: true + + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /defined/1.0.0: + resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} + dev: false + + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /depd/2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-node/2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /detective/5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + acorn-node: 1.8.2 + defined: 1.0.0 + minimist: 1.2.6 + dev: false + + /didyoumean/1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: false + + /dlv/1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: false + + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domexception/4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + dependencies: + webidl-conversions: 7.0.0 + dev: true + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /ee-first/1.1.1: + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + dev: true + + /ejs/3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: true + + /electron-to-chromium/1.4.191: + resolution: {integrity: sha512-MeEaiuoSFh4G+rrN+Ilm1KJr8pTTZloeLurcZ+PRcthvdK1gWThje+E6baL7/7LoNctrzCncavAG/j/vpES9jg==} + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /encodeurl/1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities/4.3.1: + resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} + engines: {node: '>=0.12'} + dev: true + + /es-abstract/1.20.1: + resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.1.2 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-symbols: 1.0.3 + internal-slot: 1.0.3 + is-callable: 1.2.4 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.2 + object-keys: 1.1.1 + object.assign: 4.1.2 + regexp.prototype.flags: 1.4.3 + string.prototype.trimend: 1.0.5 + string.prototype.trimstart: 1.0.5 + unbox-primitive: 1.0.2 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.4 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild-android-64/0.14.49: + resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.49: + resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.49: + resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.49: + resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.49: + resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.49: + resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.49: + resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.49: + resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.49: + resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.14.49: + resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.14.49: + resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.49: + resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.49: + resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.49: + resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.49: + resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.49: + resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.49: + resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.49: + resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.49: + resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.49: + resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.49: + resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-64: 0.14.49 + esbuild-android-arm64: 0.14.49 + esbuild-darwin-64: 0.14.49 + esbuild-darwin-arm64: 0.14.49 + esbuild-freebsd-64: 0.14.49 + esbuild-freebsd-arm64: 0.14.49 + esbuild-linux-32: 0.14.49 + esbuild-linux-64: 0.14.49 + esbuild-linux-arm: 0.14.49 + esbuild-linux-arm64: 0.14.49 + esbuild-linux-mips64le: 0.14.49 + esbuild-linux-ppc64le: 0.14.49 + esbuild-linux-riscv64: 0.14.49 + esbuild-linux-s390x: 0.14.49 + esbuild-netbsd-64: 0.14.49 + esbuild-openbsd-64: 0.14.49 + esbuild-sunos-64: 0.14.49 + esbuild-windows-32: 0.14.49 + esbuild-windows-64: 0.14.49 + esbuild-windows-arm64: 0.14.49 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-html/1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /escodegen/2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-utils/2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-visitor-keys/1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /espree/6.2.1: + resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} + engines: {node: '>=6.0.0'} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2_acorn@7.4.1 + eslint-visitor-keys: 1.3.0 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag/1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /express/4.18.1: + resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.0 + content-disposition: 0.5.4 + content-type: 1.0.4 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.10.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastparse/1.1.2: + resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} + dev: false + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + + /filelist/1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.0 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /finalhandler/1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded/0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: false + + /fresh/0.5.2: + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.1 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name/2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: true + + /get-intrinsic/1.1.2: + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + + /get-own-enumerable-property-symbols/3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.2 + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: false + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: true + + /handle-thing/2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.1.2 + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hpack.js/2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.7 + wbuf: 1.7.3 + dev: true + + /html-encoding-sniffer/3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + dev: true + + /html-minifier/4.0.0: + resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} + engines: {node: '>=6'} + hasBin: true + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.20.3 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.16.2 + dev: true + + /html5parser/2.0.2: + resolution: {integrity: sha512-L0y+IdTVxHsovmye8MBtFgBvWZnq1C9WnI/SmJszxoQjmUH1psX2uzDk21O5k5et6udxdGjwxkbmT9eVRoG05w==} + dependencies: + tslib: 2.4.0 + dev: true + + /http-deceiver/1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-proxy-agent/5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-localhost/4.7.1: + resolution: {integrity: sha512-rl+NFV0l67/0W7fZwk4LB5gS6HdhtSFLpCpf1N+KD5WQAXtPXX1QE8H0cP8VNJii18rtpTkE9eAHdUfJ0goAnQ==} + hasBin: true + dependencies: + appdata-path: 1.0.0 + compression: 1.7.4 + cors: 2.8.5 + express: 4.18.1 + spdy: 4.0.2 + uglify-js: 3.16.2 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent/5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite/0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /idb/6.1.5: + resolution: {integrity: sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot/1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.2 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /ipaddr.js/1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /is-arrayish/0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-callable/1.2.4: + resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module/2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} + dependencies: + has: 1.0.3 + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-module/1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj/1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-potential-custom-element-name/1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-regexp/1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /isarray/1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /jake/10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /jest-worker/26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 18.0.4 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /jsdom/20.0.0: + resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.7.1 + acorn-globals: 6.0.0 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.3.1 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.1 + parse5: 7.0.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.0.0 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.8.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema/0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json5/2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-eslint-parser/1.4.1: + resolution: {integrity: sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==} + engines: {node: '>=8.10.0'} + dependencies: + acorn: 7.4.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 1.3.0 + espree: 6.2.1 + semver: 6.3.0 + dev: true + + /jsonc-parser/3.1.0: + resolution: {integrity: sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + + /jsonpointer/5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true + + /kolorist/1.5.1: + resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn/0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /lilconfig/2.0.6: + resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + engines: {node: '>=10'} + dev: false + + /local-pkg/0.4.2: + resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} + engines: {node: '>=14'} + dev: true + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.castarray/4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: false + + /lodash.debounce/4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.isplainobject/4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: false + + /lodash.sortby/4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /loupe/2.3.4: + resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} + dependencies: + get-func-name: 2.0.0 + dev: true + + /lower-case/1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + dev: true + + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + + /magic-string/0.26.2: + resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==} + engines: {node: '>=12'} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /media-typer/0.3.0: + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + engines: {node: '>= 0.6'} + dev: true + + /merge-descriptors/1.0.1: + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /methods/1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mime/1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mini-svg-data-uri/1.4.4: + resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==} + hasBin: true + dev: false + + /minimalistic-assert/1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch/5.1.0: + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: false + + /mlly/0.5.4: + resolution: {integrity: sha512-gFlsLWCjVwu/LM/ZfYUkmnbBoz7eyBIMUwVQYDqhd8IvtNFDeZ95uwAyxHE2Xx7tQwePQaCo4fECZ9MWFEUTgQ==} + dependencies: + pathe: 0.3.2 + pkg-types: 0.3.3 + dev: true + + /ms/2.0.0: + resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /no-case/2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + dependencies: + lower-case: 1.1.4 + dev: true + + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range/0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nth-check/2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /nwsapi/2.2.1: + resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-hash/3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: false + + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + dev: true + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign/4.1.2: + resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /obuf/1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true + + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /on-headers/1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + dev: true + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optionator/0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: true + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-queue/6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + dependencies: + eventemitter3: 4.0.7 + p-timeout: 3.2.0 + dev: true + + /p-timeout/3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + dependencies: + p-finally: 1.0.0 + dev: true + + /param-case/2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + dependencies: + no-case: 2.3.2 + dev: true + + /parse5-htmlparser2-tree-adapter/6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + dev: true + + /parse5/6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /parse5/7.0.0: + resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} + dependencies: + entities: 4.3.1 + dev: true + + /parseurl/1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-to-regexp/0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /pathe/0.3.2: + resolution: {integrity: sha512-qhnmX0TOqlCvdWWTkoM83wh5J8fZ2yhbDEc9MlsnAEtEc+JCwxUKEwmd6pkY9hRe6JR1Uecbc14VcAKX2yFSTA==} + dev: true + + /pathval/1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify/2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: false + + /pinia/2.0.16_j6bzmzd4ujpabbp5objtwxyjp4: + resolution: {integrity: sha512-9/LMVO+/epny1NBfC77vnps4g3JRezxhhoF1xLUk8mZkUIxVnwfEAIRiAX8mYBTD/KCwZqnDMqXc8w3eU0FQGg==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.2.1 + typescript: 4.7.4 + vue: 3.2.37 + vue-demi: 0.13.4_vue@3.2.37 + dev: false + + /pkg-types/0.3.3: + resolution: {integrity: sha512-6AJcCMnjUQPQv/Wk960w0TOmjhdjbeaQJoSKWRQv9N3rgkessCu6J0Ydsog/nw1MbpnxHuPzYbfOn2KmlZO1FA==} + dependencies: + jsonc-parser: 3.1.0 + mlly: 0.5.4 + pathe: 0.3.2 + dev: true + + /postcss-import/14.1.0_postcss@8.4.14: + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.14 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: false + + /postcss-js/4.0.0_postcss@8.4.14: + resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.3.3 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.14 + dev: false + + /postcss-load-config/3.1.4_postcss@8.4.14: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.0.6 + postcss: 8.4.14 + yaml: 1.10.2 + dev: false + + /postcss-nested/5.0.6_postcss@8.4.14: + resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.14 + postcss-selector-parser: 6.0.10 + dev: false + + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: false + + /postcss/8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prelude-ls/1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier/2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-bytes/5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-bytes/6.0.0: + resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} + engines: {node: ^14.13.1 || >=16.0.0} + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /proxy-addr/2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /psl/1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: false + + /randombytes/2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /range-parser/1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /read-cache/1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: false + + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream/3.6.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /regenerate-unicode-properties/10.0.1: + resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate/1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime/0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} + dev: false + + /regenerator-runtime/0.13.9: + resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} + dev: true + + /regenerator-transform/0.15.0: + resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} + dependencies: + '@babel/runtime': 7.18.6 + dev: true + + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + functions-have-names: 1.2.3 + dev: true + + /regexpu-core/5.1.0: + resolution: {integrity: sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.0.1 + regjsgen: 0.6.0 + regjsparser: 0.8.4 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.0.0 + dev: true + + /regjsgen/0.6.0: + resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==} + dev: true + + /regjsparser/0.8.4: + resolution: {integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /relateurl/0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.9.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rollup-plugin-terser/7.0.2_rollup@2.77.0: + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.18.6 + jest-worker: 26.6.2 + rollup: 2.77.0 + serialize-javascript: 4.0.0 + terser: 5.14.2 + dev: true + + /rollup/2.77.0: + resolution: {integrity: sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /safe-buffer/5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /saxes/6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /scule/0.2.1: + resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==} + dev: true + + /select-hose/2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true + + /semver/7.0.0: + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} + hasBin: true + dev: true + + /send/0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /serialize-javascript/4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: true + + /serve-static/1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.2 + object-inspect: 1.12.2 + dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /simple-swizzle/0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map/0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + + /spdy-transport/3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.0 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /spdy/4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.matchall/4.0.7: + resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.1 + get-intrinsic: 1.1.2 + has-symbols: 1.0.3 + internal-slot: 1.0.3 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + dev: true + + /string.prototype.trimend/1.0.5: + resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.1 + dev: true + + /string.prototype.trimstart/1.0.5: + resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.1 + dev: true + + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder/1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /stringify-object/3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-comments/2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true + + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-literal/0.4.0: + resolution: {integrity: sha512-ql/sBDoJOybTKSIOWrrh8kgUEMjXMwRAkZTD0EwiwxQH/6tTPkZvMIEjp0CRlpi6V5FMiJyvxeRkEi1KrGISoA==} + dependencies: + acorn: 8.7.1 + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /symbol-tree/3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /tailwindcss/3.1.6_postcss@8.4.14: + resolution: {integrity: sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==} + engines: {node: '>=12.13.0'} + hasBin: true + peerDependencies: + postcss: ^8.0.9 + dependencies: + arg: 5.0.2 + chokidar: 3.5.3 + color-name: 1.1.4 + detective: 5.2.1 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.11 + glob-parent: 6.0.2 + is-glob: 4.0.3 + lilconfig: 2.0.6 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.14 + postcss-import: 14.1.0_postcss@8.4.14 + postcss-js: 4.0.0_postcss@8.4.14 + postcss-load-config: 3.1.4_postcss@8.4.14 + postcss-nested: 5.0.6_postcss@8.4.14 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 + quick-lru: 5.1.1 + resolve: 1.22.1 + transitivePeerDependencies: + - ts-node + dev: false + + /temp-dir/2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + + /tempy/0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + dependencies: + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + + /terser/5.14.2: + resolution: {integrity: sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.7.1 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /tinypool/0.2.3: + resolution: {integrity: sha512-BNbzsKIUzn6HlvwOJkRpl3ykim3PHHZWcfLX7dDisio8C+mXbjikKD7c8XmOBmZEKz7dME45ikTCfCMFvUf3zw==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy/0.3.3: + resolution: {integrity: sha512-gRiUR8fuhUf0W9lzojPf1N1euJYA30ISebSfgca8z76FOvXtVXqd5ojEIaKLWbDQhAaC3ibxZIjqbyi4ybjcTw==} + engines: {node: '>=14.0.0'} + dev: true + + /to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /tough-cookie/4.0.0: + resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.1.1 + universalify: 0.1.2 + dev: true + + /tr46/1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.1.1 + dev: true + + /tr46/3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + dependencies: + punycode: 2.1.1 + dev: true + + /tslib/2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: true + + /type-check/0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + dev: true + + /type-detect/4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest/0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true + + /type-is/1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} + engines: {node: '>=4.2.0'} + hasBin: true + + /uglify-js/3.16.2: + resolution: {integrity: sha512-AaQNokTNgExWrkEYA24BTNMSjyqEXPSfhqoS0AxmHkCJ4U+Dyy5AvbGV/sqxuxficEfGGoX3zWw9R7QpLFfEsg==} + engines: {node: '>=0.8.0'} + hasBin: true + dev: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unicode-canonical-property-names-ecmascript/2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript/2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.0.0 + dev: true + + /unicode-match-property-value-ecmascript/2.0.0: + resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript/2.0.0: + resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} + engines: {node: '>=4'} + dev: true + + /unimport/0.4.5_vite@3.0.0: + resolution: {integrity: sha512-DnmiSt/HQIfhdcxOy4CGqwZDBh3WHg33euX1ge4X8hvquKBmw2PFvhoAJaBKxscOz0oYosoPoPT4tkDZWHhV0Q==} + dependencies: + '@rollup/pluginutils': 4.2.1 + escape-string-regexp: 5.0.0 + fast-glob: 3.2.11 + local-pkg: 0.4.2 + magic-string: 0.26.2 + mlly: 0.5.4 + pathe: 0.3.2 + scule: 0.2.1 + strip-literal: 0.4.0 + unplugin: 0.7.2_vite@3.0.0 + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + + /unique-string/2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe/1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /unplugin-auto-import/0.9.3_gvio5bgcjg37ethveel5rvqgym: + resolution: {integrity: sha512-S3fC/kp98v+HhELCCG4jm4fhd/BbXhhcmFxxQ/JHXefLPtz9WTCOsSq3pq7U4D94xJ0eyZOPo/56Y9iUf3kskw==} + engines: {node: '>=14'} + peerDependencies: + '@vueuse/core': '*' + peerDependenciesMeta: + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + '@vueuse/core': 8.9.3_vue@3.2.37 + local-pkg: 0.4.2 + magic-string: 0.26.2 + unimport: 0.4.5_vite@3.0.0 + unplugin: 0.7.2_vite@3.0.0 + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + + /unplugin-icons/0.14.7_5vhdwjrvx3yqj3k5avrlxtwoii: + resolution: {integrity: sha512-TrNnEdpaXMdiG5BsCgvU6cv/gSLYvIk1f8wGCGZmOo4wmi3nqYBuqIEuiXhmmyXdDZuRRpCaOzCnCYYZ5H7U8g==} + peerDependencies: + '@svgr/core': '>=5.5.0' + '@vue/compiler-sfc': ^3.0.2 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.2 + '@iconify/utils': 1.0.33 + '@vue/compiler-sfc': 3.2.37 + debug: 4.3.4 + kolorist: 1.5.1 + local-pkg: 0.4.2 + unplugin: 0.7.2_vite@3.0.0 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + + /unplugin-vue-components/0.21.1_vite@3.0.0+vue@3.2.37: + resolution: {integrity: sha512-8MhIT323q1EUu7rz6NfQeiHqDrZKtygy6s9jzcQAuuZUM2T38SHlPT5YJjBOZmM0Bau6YuNTKfBBX4iHzeusaQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.2.11 + local-pkg: 0.4.2 + magic-string: 0.26.2 + minimatch: 5.1.0 + resolve: 1.22.1 + unplugin: 0.7.2_vite@3.0.0 + vue: 3.2.37 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + + /unplugin-vue-router/0.0.21_6ef32vilt6ae74xg3uetebg7ja: + resolution: {integrity: sha512-gOK8/pQQMug7kVFn2logNs6ll5Fj9Nv/OSwrG07CQei7WcZ8TYDb1hy598+4INRNT6KAyUFc6OInEdDZlN+FVg==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + dependencies: + chokidar: 3.5.3 + fast-glob: 3.2.11 + json5: 2.2.1 + local-pkg: 0.4.2 + pathe: 0.3.2 + scule: 0.2.1 + unplugin: 0.7.2_vite@3.0.0 + vue-router: 4.1.2_vue@3.2.37 + yaml: 2.1.1 + transitivePeerDependencies: + - esbuild + - rollup + - vite + - webpack + dev: true + + /unplugin/0.7.2_vite@3.0.0: + resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.7.1 + chokidar: 3.5.3 + vite: 3.0.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.4 + dev: true + + /upath/1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + + /update-browserslist-db/1.0.4_browserslist@4.21.2: + resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.2 + escalade: 3.1.1 + picocolors: 1.0.0 + + /upper-case/1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.1.1 + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /utils-merge/1.0.1: + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + engines: {node: '>= 0.4.0'} + dev: true + + /vary/1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vite-plugin-pwa/0.12.3_2slanrkxy3rtt36tq3uv5vcihy: + resolution: {integrity: sha512-gmYdIVXpmBuNjzbJFPZFzxWYrX4lHqwMAlOtjmXBbxApiHjx9QPXKQPJjSpeTeosLKvVbNcKSAAhfxMda0QVNQ==} + peerDependencies: + vite: ^2.0.0 || ^3.0.0-0 + workbox-window: ^6.4.0 + dependencies: + debug: 4.3.4 + fast-glob: 3.2.11 + pretty-bytes: 6.0.0 + rollup: 2.77.0 + vite: 3.0.0 + workbox-build: 6.5.3 + workbox-window: 6.5.3 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + + /vite-plugin-vue-layouts/0.7.0_5vcanmustn365rg452uyprxay4: + resolution: {integrity: sha512-k5XDmRNFo4M/GmUjhbRXj2WmJiFcGoVI8l/uZ72RHyRDQr4wE/6Zq/KFq0lqXomWQxTSzakQRUswzNwtvZLE8A==} + peerDependencies: + vite: ^2.5.0 || ^3.0.0-0 + vue: ^2.6.12 || ^3.2.4 + vue-router: ^3.5.1 || ^ 4.0.11 + dependencies: + '@vue/compiler-sfc': 3.2.37 + debug: 4.3.4 + fast-glob: 3.2.11 + vite: 3.0.0 + vue: 3.2.37 + vue-router: 4.1.2_vue@3.2.37 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-vue-type-imports/0.2.0_2yymnzrok6eda47acnj2yjm3ae: + resolution: {integrity: sha512-6rukBj1MP27WfsY5gqMZJg/Z8whK7f9oLbpICBDwzwOK2Oj7KkbP7IgFc2p3qInuB51SvUuxIIcJQVoUPaW6Nw==} + peerDependencies: + '@vue/compiler-sfc': ^3.2.24 + vue: ^3.2.24 + dependencies: + '@vue/compiler-sfc': 3.2.37 + vue: 3.2.37 + dev: true + + /vite-ssg-sitemap/0.3.2: + resolution: {integrity: sha512-udsHc11VYQLSy/Zy6efKHnU/ABozGUz84Z9GqmrD8MaB2HCezqFVFAJukwZaxBzcEjy1jFXfNCIcT8J6LefpWw==} + dev: true + + /vite-ssg/0.20.2_zodgg63wx4ia7g264h7fi3aaae: + resolution: {integrity: sha512-XtBgJEDrN9cL6pgzXvThrTS7Pm5zwZZnBt50EmL/O+QbdhD/ZjCbcp4GmIrWFBWjVBFcgfwgPccmWv3DAF6s/w==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + '@vueuse/head': ^0.5.0 || ^0.6.0 || ^0.7.0 + critters: ^0.0.16 + vite: ^2.0.0 || ^3.0.0-0 + vue: ^3.2.10 + vue-router: ^4.0.1 + peerDependenciesMeta: + critters: + optional: true + dependencies: + '@vueuse/head': 0.7.6_vue@3.2.37 + critters: 0.0.16 + fs-extra: 10.1.0 + html-minifier: 4.0.0 + html5parser: 2.0.2 + jsdom: 20.0.0 + kolorist: 1.5.1 + p-queue: 6.6.2 + prettier: 2.7.1 + vite: 3.0.0 + vue: 3.2.37 + vue-router: 4.1.2_vue@3.2.37 + yargs: 17.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /vite/3.0.0: + resolution: {integrity: sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==} + engines: {node: '>=14.18.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + terser: ^5.4.0 + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.14.49 + postcss: 8.4.14 + resolve: 1.22.1 + rollup: 2.77.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vitest/0.18.0: + resolution: {integrity: sha512-ryAtlh5Gvg3+aLNuOQ8YOHxgQCCu46jx40X5MBL0K0/ejB9i5zsr8fV8LTGXbXex80UMHlzceI9F+ouGaiR+mQ==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/ui': '*' + c8: '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/ui': + optional: true + c8: + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.1 + '@types/chai-subset': 1.3.3 + '@types/node': 18.0.4 + chai: 4.3.6 + debug: 4.3.4 + local-pkg: 0.4.2 + tinypool: 0.2.3 + tinyspy: 0.3.3 + vite: 3.0.0 + transitivePeerDependencies: + - less + - sass + - stylus + - supports-color + - terser + dev: true + + /vue-demi/0.13.4_vue@3.2.37: + resolution: {integrity: sha512-KP4lq9uSz0KZbaqCllRhnxMV3mYRsRWJfdsAhZyt5bV5O1RTpoeDptBRV9NOa/JgOpfaA9ane88VF7OjWNK/DA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.37 + + /vue-i18n/9.1.10_vue@3.2.37: + resolution: {integrity: sha512-jpr7gV5KPk4n+sSPdpZT8Qx3XzTcNDWffRlHV/cT2NUyEf+sEgTTmLvnBAibjOFJ0zsUyZlVTAWH5DDnYep+1g==} + engines: {node: '>= 10'} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@intlify/core-base': 9.1.10 + '@intlify/shared': 9.1.10 + '@intlify/vue-devtools': 9.1.10 + '@vue/devtools-api': 6.2.1 + vue: 3.2.37 + + /vue-router/4.1.2_vue@3.2.37: + resolution: {integrity: sha512-5BP1qXFncVRwgV/XnqzsKApdMjQPqWIpoUBdL1ynz8HyLxIX/UDAx7Ql2BjmA5CXT/p61JfZvkpiFWFpaqcfag==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.2.1 + vue: 3.2.37 + + /vue-tsc/0.38.5_typescript@4.7.4: + resolution: {integrity: sha512-AFlqvwpENOTTJxS1Gl1uG0ZVsvtGCbgv9d0i4fXk5Pnao/ETVwWewPEsj+4cPlwa5htO9WhK6qfWwoqcCqg0yQ==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/vue-typescript': 0.38.5 + typescript: 4.7.4 + dev: true + + /vue/3.2.37: + resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==} + dependencies: + '@vue/compiler-dom': 3.2.37 + '@vue/compiler-sfc': 3.2.37 + '@vue/runtime-dom': 3.2.37 + '@vue/server-renderer': 3.2.37_vue@3.2.37 + '@vue/shared': 3.2.37 + + /w3c-hr-time/1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer/3.0.0: + resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} + engines: {node: '>=12'} + dependencies: + xml-name-validator: 4.0.0 + dev: true + + /wbuf/1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: true + + /webidl-conversions/4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + + /webidl-conversions/7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /webpack-sources/3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules/0.4.4: + resolution: {integrity: sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA==} + dev: true + + /whatwg-encoding/2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-mimetype/3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /whatwg-url/11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: true + + /whatwg-url/7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /workbox-background-sync/6.5.3: + resolution: {integrity: sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==} + dependencies: + idb: 6.1.5 + workbox-core: 6.5.3 + dev: true + + /workbox-broadcast-update/6.5.3: + resolution: {integrity: sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-build/6.5.3: + resolution: {integrity: sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==} + engines: {node: '>=10.0.0'} + dependencies: + '@apideck/better-ajv-errors': 0.3.6_ajv@8.11.0 + '@babel/core': 7.18.6 + '@babel/preset-env': 7.18.6_@babel+core@7.18.6 + '@babel/runtime': 7.18.6 + '@rollup/plugin-babel': 5.3.1_3crms4j33zkfeqv7ozcuia3hfq + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.77.0 + '@rollup/plugin-replace': 2.4.2_rollup@2.77.0 + '@surma/rollup-plugin-off-main-thread': 2.2.3 + ajv: 8.11.0 + common-tags: 1.8.2 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.77.0 + rollup-plugin-terser: 7.0.2_rollup@2.77.0 + source-map: 0.8.0-beta.0 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 6.5.3 + workbox-broadcast-update: 6.5.3 + workbox-cacheable-response: 6.5.3 + workbox-core: 6.5.3 + workbox-expiration: 6.5.3 + workbox-google-analytics: 6.5.3 + workbox-navigation-preload: 6.5.3 + workbox-precaching: 6.5.3 + workbox-range-requests: 6.5.3 + workbox-recipes: 6.5.3 + workbox-routing: 6.5.3 + workbox-strategies: 6.5.3 + workbox-streams: 6.5.3 + workbox-sw: 6.5.3 + workbox-window: 6.5.3 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + + /workbox-cacheable-response/6.5.3: + resolution: {integrity: sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-core/6.5.3: + resolution: {integrity: sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==} + + /workbox-expiration/6.5.3: + resolution: {integrity: sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==} + dependencies: + idb: 6.1.5 + workbox-core: 6.5.3 + dev: true + + /workbox-google-analytics/6.5.3: + resolution: {integrity: sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==} + dependencies: + workbox-background-sync: 6.5.3 + workbox-core: 6.5.3 + workbox-routing: 6.5.3 + workbox-strategies: 6.5.3 + dev: true + + /workbox-navigation-preload/6.5.3: + resolution: {integrity: sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-precaching/6.5.3: + resolution: {integrity: sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==} + dependencies: + workbox-core: 6.5.3 + workbox-routing: 6.5.3 + workbox-strategies: 6.5.3 + dev: true + + /workbox-range-requests/6.5.3: + resolution: {integrity: sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-recipes/6.5.3: + resolution: {integrity: sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==} + dependencies: + workbox-cacheable-response: 6.5.3 + workbox-core: 6.5.3 + workbox-expiration: 6.5.3 + workbox-precaching: 6.5.3 + workbox-routing: 6.5.3 + workbox-strategies: 6.5.3 + dev: true + + /workbox-routing/6.5.3: + resolution: {integrity: sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-strategies/6.5.3: + resolution: {integrity: sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==} + dependencies: + workbox-core: 6.5.3 + dev: true + + /workbox-streams/6.5.3: + resolution: {integrity: sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==} + dependencies: + workbox-core: 6.5.3 + workbox-routing: 6.5.3 + dev: true + + /workbox-sw/6.5.3: + resolution: {integrity: sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A==} + dev: true + + /workbox-window/6.5.3: + resolution: {integrity: sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==} + dependencies: + '@types/trusted-types': 2.0.2 + workbox-core: 6.5.3 + + /workbox/0.0.0: + resolution: {integrity: sha512-/I5JIWHK18DDGGoXOZgOkOFLsiMQZlHLnwEzw328ZMU4TA21yFCw11YEnZ1CsOnSazl0DMbFmLJ6q5hpQhP/aQ==} + dependencies: + babel-runtime: 6.26.0 + dev: false + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /ws/8.8.0: + resolution: {integrity: sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator/4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xmlchars/2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: false + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yaml-eslint-parser/0.3.2: + resolution: {integrity: sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==} + dependencies: + eslint-visitor-keys: 1.3.0 + lodash: 4.17.21 + yaml: 1.10.2 + dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yaml/2.1.1: + resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser/21.0.1: + resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} + engines: {node: '>=12'} + dev: true + + /yargs/17.5.1: + resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} + engines: {node: '>=12'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.0.1 + dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd3f26c1152e1ee41a00ed407d1587edd9e87b91 GIT binary patch literal 7911 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 literal 0 HcmV?d00001 diff --git a/frontend/public/favicon-32x32.png b/frontend/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..a66e4d4300e3c51e4ba3c7f589d67c15941cafb8 GIT binary patch literal 1417 zcmV;41$O$0P)Px)LrFwIR9Hu)S9?fXR~$aKJ~|gC5ofhp5?6Ywb2`GD!%G!ng;-59Z!&BqU4w+j8rfK{7EKIBRJ2=5CkAN{mj%c{pooL3TTH5gp8JM?#wY@ zkQgYA*i0Rd06|fxl~Y4a8D!>ojg1|JZfxgjKAG~+YYnW(9jUC*XwseLqiak>#x6uhlj7% z*4COJ0ItNcY{+d;1OVK}jo4^3%2HEPKaonMMR5MY!ou~8jEt{gu!Y5?s`T`C@4)`; z?XA(dx%pA0vT_~)z{zHpm6Jg9dn_k5P8emOp&{XyvvZ8ld{(RN+k}LKLb%#$wSFg& zNUp-%PELNG>u@-NmDiN>0Hl0^Q87-Z^B_Gv z{dEXnX=!O+EEbD?cR2P=MMp~vLxx;srE;F6z_Yc07KJMzp&Rjp(I~?(Y}R72e2Jbv z-vBo@nM}DyZa4TaFV6(yTP&6@l9G}>GZ+kc*Obb6oTULa3R)o&^rJ@u`4~3a+t(+n zsi`qTt8Hy>^&Yv8a1=#V(4zhQ{co#Os$U=grIN}3%c!)iSe1|mh6e!501URfyK9b% zi<8;yb}In5J2v+8*}c6zb9{XKJ20JwK@tGsJkHJOs{_o+&bXyK6y)b)v(R>Cv$_V&kNVPT%a^X%F47aC3T znXay`-+TagDDbC)yA-o|peXQ;S*_Lyi9~|IfHs?LQYw{RAuo2H1`xzat0i8s^VR|X zT^a8T4FCiI(FPA{QC)t%hY8-opier(^>Nkk-u*nhcb43IR&{l~!D)YSAAilWJpk&z(^ zg<^E{-l(edqp}`#of<7tC~mHYv8P$GeM*i(yH2kByDhmXwtAmX(#ADK9U7 zPcD~#)7jZ6K~c2j?%lgLv$C?pDJd!SLqkKl!NI{Dy6m_pI59nKT3B3MDsOFVwMeKa@sgnoPm05WY_t@h21j*fLWQKQi$>2$gc-?Lu7QD0Yg zdVhc4ot&H;u4&P1w|(B0)YjIvfnnIIm6eqrtgWs6Y}>ItEi6=A=xGBY#t z{pIE5MZI4C2PG$>3{j1XIDcic=8zrCiGiI>X-OD>kfQ(R7=%D&z|S7sv5%{5uGLKM zlTPNaA>&(+sxkuf_*6}@z)=_Ypc4S--lzXa;N_d+gnTi)Q-uNe#|xP0fD?GOWv}}W XB~~~^+pL1t00000NkvXXu0mjfp*N}~ literal 0 HcmV?d00001 diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ad8cd358ae4215e9e109d386c3206e6853530c8c GIT binary patch literal 15406 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 Gz<&X-7JKsm literal 0 HcmV?d00001 diff --git a/frontend/public/pwa-192x192.png b/frontend/public/pwa-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..0c76865e7b61206d62f18886ff07995f53eea64d GIT binary patch literal 8867 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 tJ=sb?|M!a&xe)voILlUgwlUWCL2&R-IE1_e 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 literal 0 HcmV?d00001 diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 0000000..14267e9 --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Allow: / \ No newline at end of file diff --git a/frontend/public/site.webmanifest b/frontend/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/frontend/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..4437b0a --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,3 @@ + diff --git a/frontend/src/__test__/basic.spec.ts b/frontend/src/__test__/basic.spec.ts new file mode 100644 index 0000000..2abc95f --- /dev/null +++ b/frontend/src/__test__/basic.spec.ts @@ -0,0 +1,7 @@ +import { describe, expect, it } from 'vitest' + +describe('tests', () => { + it('should works', () => { + expect(1 + 1).toEqual(2) + }) +}) diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e834886b8bd7062025a738e84615605f968670c4 GIT binary patch literal 36025 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 + defineEmits(['toggleSidebar']); + + const { availableLocales } = useI18n(); + + const preferedDark = usePreferredDark(); + const isDark = useStorage('isDark', preferedDark.value); + const body = ref(null); + + const toggleDarkMode = () => { + if (body.value) { + if (isDark.value) { + body.value.classList.remove('dark'); + } else { + body.value.classList.add('dark'); + } + } + isDark.value = !isDark.value; + }; + + onMounted(async () => { + await nextTick(); + + body.value = document.querySelector('body') as HTMLBodyElement; + if (body.value) { + if (isDark.value) body.value.classList.add('dark'); + } + }); + + + + + diff --git a/frontend/src/components/Form/TextField.vue b/frontend/src/components/Form/TextField.vue new file mode 100644 index 0000000..2fbd52c --- /dev/null +++ b/frontend/src/components/Form/TextField.vue @@ -0,0 +1,31 @@ + + + diff --git a/frontend/src/env.d.ts b/frontend/src/env.d.ts new file mode 100644 index 0000000..d27eb5a --- /dev/null +++ b/frontend/src/env.d.ts @@ -0,0 +1,8 @@ +/// + +declare module '*.vue' { + import { DefineComponent } from 'vue' + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/frontend/src/layouts/404.vue b/frontend/src/layouts/404.vue new file mode 100644 index 0000000..c96df8a --- /dev/null +++ b/frontend/src/layouts/404.vue @@ -0,0 +1,5 @@ + diff --git a/frontend/src/layouts/default.vue b/frontend/src/layouts/default.vue new file mode 100644 index 0000000..f71177c --- /dev/null +++ b/frontend/src/layouts/default.vue @@ -0,0 +1,18 @@ + + diff --git a/frontend/src/main.ts b/frontend/src/main.ts new file mode 100644 index 0000000..5171ac4 --- /dev/null +++ b/frontend/src/main.ts @@ -0,0 +1,19 @@ +import App from '@/App.vue'; +import { ViteSSG } from 'vite-ssg'; + +import '@/styles/index.css'; +import { ViteSetupModule } from './types/ViteSetupModule'; +import { extendedRoutes } from '@/router'; + +export const createApp = ViteSSG( + App, + { routes: extendedRoutes }, + async ctx => { + Object.values( + import.meta.glob<{ install: ViteSetupModule }>('./modules/*.ts', { + eager: true, + }) + ).map(i => i.install?.(ctx)); + }, + {} +); diff --git a/frontend/src/modules/i18n.ts b/frontend/src/modules/i18n.ts new file mode 100644 index 0000000..ef4f61a --- /dev/null +++ b/frontend/src/modules/i18n.ts @@ -0,0 +1,29 @@ +import { ViteSetupModule } from '@/types/ViteSetupModule'; +import { createI18n } from 'vue-i18n'; + +// Import i18n resources +// https://vitejs.dev/guide/features.html#glob-import + +// Don't need this? Try vitesse-lite: https://github.com/antfu/vitesse-lite +const messages = Object.fromEntries( + Object.entries( + import.meta.glob<{ default: any }>('../../locales/*.{y(a)?ml,json}', { + eager: true, + }) + ).map(([key, value]) => { + const isYamlOrJson = key.endsWith('.yaml') || key.endsWith('.json'); + + return [key.slice(14, isYamlOrJson ? -5 : -4), value.default]; + }) +); + +export const install: ViteSetupModule = ({ app }) => { + const i18n = createI18n({ + legacy: false, + locale: 'en', + messages, + globalInjection: true, + }); + + app.use(i18n); +}; diff --git a/frontend/src/modules/pinia.ts b/frontend/src/modules/pinia.ts new file mode 100644 index 0000000..db34dde --- /dev/null +++ b/frontend/src/modules/pinia.ts @@ -0,0 +1,14 @@ +import { ViteSetupModule } from '@/types/ViteSetupModule'; +import { createPinia } from 'pinia'; + +// Setup Pinia +// https://pinia.esm.dev/ +export const install: ViteSetupModule = ({ isClient, initialState, app }) => { + const pinia = createPinia(); + app.use(pinia); + // Refer to + // https://github.com/antfu/vite-ssg/blob/main/README.md#state-serialization + // for other serialization strategies. + if (isClient) pinia.state.value = initialState.pinia || {}; + else initialState.pinia = pinia.state.value; +}; diff --git a/frontend/src/modules/pwa.ts b/frontend/src/modules/pwa.ts new file mode 100644 index 0000000..6313341 --- /dev/null +++ b/frontend/src/modules/pwa.ts @@ -0,0 +1,10 @@ +import { ViteSetupModule } from '@/types/ViteSetupModule'; + +export const install: ViteSetupModule = ({ isClient, router }) => { + if (!isClient) return; + + router.isReady().then(async () => { + const { registerSW } = await import('virtual:pwa-register'); + registerSW({ immediate: true }); + }); +}; diff --git a/frontend/src/pages/[...all].vue b/frontend/src/pages/[...all].vue new file mode 100644 index 0000000..2d70677 --- /dev/null +++ b/frontend/src/pages/[...all].vue @@ -0,0 +1,19 @@ + + + + + +name : not-found +meta: + layout: 404 + diff --git a/frontend/src/pages/index.vue b/frontend/src/pages/index.vue new file mode 100644 index 0000000..0e7d151 --- /dev/null +++ b/frontend/src/pages/index.vue @@ -0,0 +1,157 @@ + + + + + +name: home + + + diff --git a/frontend/src/router.ts b/frontend/src/router.ts new file mode 100644 index 0000000..657ff61 --- /dev/null +++ b/frontend/src/router.ts @@ -0,0 +1,17 @@ +import { + createRouter, + createWebHistory, + createMemoryHistory, +} from '@vue-router'; + +import { setupLayouts } from 'virtual:generated-layouts'; +export let extendedRoutes: any = null; +export const router = createRouter({ + history: import.meta.env.SSR ? createMemoryHistory() : createWebHistory(), + // You don't need to pass the routes anymore, + // the plugin writes it for you 🤖 + extendRoutes: routes => { + extendedRoutes = routes; + return setupLayouts(routes); + }, +}); diff --git a/frontend/src/store/index.ts b/frontend/src/store/index.ts new file mode 100644 index 0000000..43ba769 --- /dev/null +++ b/frontend/src/store/index.ts @@ -0,0 +1,7 @@ +import { defineStore } from 'pinia'; + +export const useStore = defineStore('store', { + state: () => ({ + count: 0, + }), +}); diff --git a/frontend/src/styles/index.css b/frontend/src/styles/index.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/frontend/src/styles/index.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/frontend/src/types/ViteSetupModule.ts b/frontend/src/types/ViteSetupModule.ts new file mode 100644 index 0000000..db6062a --- /dev/null +++ b/frontend/src/types/ViteSetupModule.ts @@ -0,0 +1,3 @@ +import { ViteSSGContext } from 'vite-ssg'; + +export type ViteSetupModule = (ctx: ViteSSGContext) => void; diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..59d9b6e --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,16 @@ +module.exports = { + content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], + darkMode: 'class', // or 'media' or 'class' + theme: { + extend: {}, + }, + variants: { + extend: {}, + }, + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/aspect-ratio'), + require('@tailwindcss/typography'), + require('daisyui'), + ], +}; diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..b6c0a56 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"], + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + }, + "types": [ + "vite/client", + "vite-plugin-vue-layouts/client", + "unplugin-icons/types/vue", + "vite-plugin-pwa/client", + "@intlify/vite-plugin-vue-i18n/client" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.d.ts", + "src/**/*.tsx", + "src/**/*.vue", + "components.d.ts", + "auto-imports.d.ts", + "typed-router.d.ts" + ] +} diff --git a/frontend/typed-router.d.ts b/frontend/typed-router.d.ts new file mode 100644 index 0000000..38d7314 --- /dev/null +++ b/frontend/typed-router.d.ts @@ -0,0 +1,95 @@ + +// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️ +// It's recommended to commit this file. +// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. + +/// + +import type { + // type safe route locations + RouteLocationTypedList, + RouteLocationResolvedTypedList, + RouteLocationNormalizedTypedList, + RouteLocationNormalizedLoadedTypedList, + + // helper types + // route definitions + RouteRecordInfo, + ParamValue, + ParamValueOneOrMore, + ParamValueZeroOrMore, + ParamValueZeroOrOne, + + // vue-router extensions + _RouterTyped, + RouterLinkTyped, + NavigationGuard, + UseLinkFnTyped, +} from 'unplugin-vue-router' + +declare module '@vue-router/routes' { + export interface RouteNamedMap { + 'home': RouteRecordInfo<'home', '/', Record, Record>, + 'not-found': RouteRecordInfo<'not-found', '/:all(.*)', { all: ParamValue }, { all: ParamValue }>, + } +} + +declare module '@vue-router' { + import type { RouteNamedMap } from '@vue-router/routes' + + export type RouterTyped = _RouterTyped + + /** + * Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards). + * Allows passing the name of the route to be passed as a generic. + */ + export type RouteLocationNormalized = RouteLocationNormalizedTypedList[Name] + + /** + * Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`). + * Allows passing the name of the route to be passed as a generic. + */ + export type RouteLocationNormalizedLoaded = RouteLocationNormalizedLoadedTypedList[Name] + + /** + * Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`). + * Allows passing the name of the route to be passed as a generic. + */ + export type RouteLocationResolved = RouteLocationResolvedTypedList[Name] + + /** + * Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic. + */ + export type RouteLocation = RouteLocationTypedList[Name] + + /** + * Generate a type safe params for a route location. Requires the name of the route to be passed as a generic. + */ + export type RouteParams = RouteNamedMap[Name]['params'] + /** + * Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic. + */ + export type RouteParamsRaw = RouteNamedMap[Name]['paramsRaw'] + + export function useRouter(): RouterTyped + export function useRoute(name?: Name): RouteLocationNormalizedLoadedTypedList[Name] + + export const useLink: UseLinkFnTyped + + export function onBeforeRouteLeave(guard: NavigationGuard): void + export function onBeforeRouteUpdate(guard: NavigationGuard): void +} + +declare module 'vue-router' { + import type { RouteNamedMap } from '@vue-router/routes' + + export interface TypesConfig { + beforeRouteUpdate: NavigationGuard + beforeRouteLeave: NavigationGuard + + $route: RouteLocationNormalizedLoadedTypedList[keyof RouteNamedMap] + $router: _RouterTyped + + RouterLink: RouterLinkTyped + } +} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..32dbc4a --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,131 @@ +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import { resolve } from 'path'; +import Components from 'unplugin-vue-components/vite'; +import AutoImport from 'unplugin-auto-import/vite'; +import Icons from 'unplugin-icons/vite'; +import IconsResolver from 'unplugin-icons/resolver'; +import Layouts from 'vite-plugin-vue-layouts'; +import { VitePWA } from 'vite-plugin-pwa'; +import VueI18n from '@intlify/vite-plugin-vue-i18n'; +import generateSitemap from 'vite-ssg-sitemap'; +import VueRouter from 'unplugin-vue-router/vite'; +import { VueRouterExports } from 'unplugin-vue-router'; +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + VueRouter({ + dts: true, + routesFolder: 'src/pages', + }), + Components({ + dts: true, + resolvers: [ + IconsResolver({ + prefix: 'icon', + }), + ], + }), + Icons({ + compiler: 'vue3', + }), + AutoImport({ + dts: true, + // targets to transform + include: [ + /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx + /\.vue\??/, // .vue + ], + + // global imports to register + imports: [ + // presets + 'vue', + { '@vue-router': VueRouterExports }, + 'vue-i18n', + '@vueuse/core', + '@vueuse/head', + // custom + ], + + // custom resolvers + // see https://github.com/antfu/unplugin-auto-import/pull/23/ + resolvers: [], + }), + Layouts(), + VitePWA({ + includeAssets: [ + 'favicon-16x16.png', + 'favicon-32x32.png', + 'favicon.ico', + 'robots.txt', + 'apple-touch-icon.png', + ], + manifest: { + name: 'Vitailse', + short_name: 'Vitailse', + description: 'Opinionated vite template with TailwindCSS', + theme_color: '#076AE0', + icons: [ + { + src: 'pwa-192x192.png', + sizes: '192x192', + type: 'image/png', + }, + { + src: 'pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + }, + { + src: 'pwa-512x512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'any maskable', + }, + ], + }, + }), + VueI18n({ + runtimeOnly: true, + compositionOnly: true, + include: [resolve(__dirname, 'locales/**')], + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + }, + server: { + fs: { + strict: true, + }, + }, + optimizeDeps: { + include: ['vue', 'vue-router', '@vueuse/core', '@vueuse/head'], + }, + // @ts-ignore + ssgOptions: { + script: 'async', + formatting: 'minify', + format: 'cjs', + onFinished() { + generateSitemap(); + }, + mock: true + }, + // https://github.com/vitest-dev/vitest + test: { + include: ['src/__test__/**/*.test.ts', 'src/__test__/**/*.spec.ts'], + environment: 'jsdom', + deps: { + inline: ['@vue', '@vueuse', 'vue-demi'], + }, + }, + ssr: { + // TODO: workaround until they support native ESM + noExternal: ['workbox-window', /vue-i18n/], + }, +});