From bb54761bd41461a010d5e43f66d4a8bdf1552104 Mon Sep 17 00:00:00 2001 From: Yuerchu Date: Tue, 5 Aug 2025 00:12:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86=E5=89=8D=E7=AB=AF=EF=BC=8C?= =?UTF-8?q?=E5=8F=98=E6=88=90=20Findreve=20Core?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.browserslistrc | 4 - frontend/.editorconfig | 5 - frontend/.github/copilot-instructions.md | 41 - frontend/.gitignore | 22 - frontend/README.md | 79 -- frontend/index.html | 13 - frontend/jsconfig.json | 20 - frontend/package.json | 29 - frontend/public/favicon.ico | Bin 9519 -> 0 bytes frontend/public/index.html | 92 -- frontend/src/App.vue | 82 -- frontend/src/assets/logo.png | Bin 11955 -> 0 bytes frontend/src/assets/logo.svg | 6 - frontend/src/assets/styles/global.css | 23 - frontend/src/components/AppFooter.vue | 83 -- frontend/src/components/CacheStatus.vue | 115 -- frontend/src/components/HelloWorld.vue | 13 - frontend/src/components/README.md | 35 - frontend/src/components/admin/AboutSystem.vue | 73 - frontend/src/components/admin/Dashboard.vue | 85 -- .../src/components/admin/ItemsManagement.vue | 521 ------- .../src/components/admin/UserSettings.vue | 85 -- frontend/src/main.js | 72 - frontend/src/plugins/README.md | 3 - frontend/src/plugins/index.js | 12 - frontend/src/plugins/vuetify.js | 61 - frontend/src/router/index.js | 66 - frontend/src/services/api_service.js | 315 ----- frontend/src/services/storage_service.js | 205 --- frontend/src/views/Admin.vue | 133 -- frontend/src/views/Found.vue | 270 ---- frontend/src/views/Home.vue | 543 ------- frontend/src/views/Login.vue | 198 --- frontend/src/views/NotFound.vue | 36 - frontend/vite.config.mjs | 70 - frontend/yarn.lock | 1244 ----------------- 36 files changed, 4654 deletions(-) delete mode 100644 frontend/.browserslistrc delete mode 100644 frontend/.editorconfig delete mode 100644 frontend/.github/copilot-instructions.md delete mode 100644 frontend/.gitignore delete mode 100644 frontend/README.md delete mode 100644 frontend/index.html delete mode 100644 frontend/jsconfig.json delete mode 100644 frontend/package.json delete mode 100644 frontend/public/favicon.ico delete mode 100644 frontend/public/index.html delete mode 100644 frontend/src/App.vue delete mode 100644 frontend/src/assets/logo.png delete mode 100644 frontend/src/assets/logo.svg delete mode 100644 frontend/src/assets/styles/global.css delete mode 100644 frontend/src/components/AppFooter.vue delete mode 100644 frontend/src/components/CacheStatus.vue delete mode 100644 frontend/src/components/HelloWorld.vue delete mode 100644 frontend/src/components/README.md delete mode 100644 frontend/src/components/admin/AboutSystem.vue delete mode 100644 frontend/src/components/admin/Dashboard.vue delete mode 100644 frontend/src/components/admin/ItemsManagement.vue delete mode 100644 frontend/src/components/admin/UserSettings.vue delete mode 100644 frontend/src/main.js delete mode 100644 frontend/src/plugins/README.md delete mode 100644 frontend/src/plugins/index.js delete mode 100644 frontend/src/plugins/vuetify.js delete mode 100644 frontend/src/router/index.js delete mode 100644 frontend/src/services/api_service.js delete mode 100644 frontend/src/services/storage_service.js delete mode 100644 frontend/src/views/Admin.vue delete mode 100644 frontend/src/views/Found.vue delete mode 100644 frontend/src/views/Home.vue delete mode 100644 frontend/src/views/Login.vue delete mode 100644 frontend/src/views/NotFound.vue delete mode 100644 frontend/vite.config.mjs delete mode 100644 frontend/yarn.lock diff --git a/frontend/.browserslistrc b/frontend/.browserslistrc deleted file mode 100644 index dc3bc09..0000000 --- a/frontend/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -> 1% -last 2 versions -not dead -not ie 11 diff --git a/frontend/.editorconfig b/frontend/.editorconfig deleted file mode 100644 index 7053c49..0000000 --- a/frontend/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/frontend/.github/copilot-instructions.md b/frontend/.github/copilot-instructions.md deleted file mode 100644 index 4147695..0000000 --- a/frontend/.github/copilot-instructions.md +++ /dev/null @@ -1,41 +0,0 @@ -# Findreve Frontend 项目指南 - GitHub Copilot 指令 - -## 项目概述 -Findreve 是一款强大且直观的解决方案,旨在帮助您管理个人物品,并确保丢失后能够安全找回。每个物品都会被分配一个 `唯一 ID` ,并生成一个 `安全链接` ,可轻松嵌入到 `二维码` 或 `NFC 标签` 中。当扫描该代码时,会将拾得者引导至一个专门的网页,上面显示物品详情和您的联系信息,既保障隐私又便于沟通。无论您是在管理个人物品还是专业资产,Findreve 都能以高效、简便的方式弥合丢失与找回之间的距离。 -而 Findreve Frontend 作为 Findreve 的前端,采用 Vue + Vuetify 3 开发。 - -## 项目规划 -[ ] 追平 Findreve 早期基于 NiceGUI 开发的前端 - -## 代码规范 -- 使用类型提示增强代码可读性 -- 所有函数和类都应有reST风格的文档字符串(docstring) -- 项目的日志模块使用英语输出 -- 使用异步编程模式处理并发 -- 尽可能写出弹性可扩展、可维护的代码 - -## 项目结构 -- `.github/` : Github 相关 -- `public/` : 纯静态文件 -- `src/` -- `.browserslistrc` -- `.editorconfig` -- `.gitignore` -- `README.md` -- `index.html` -- `jsconfig.json` -- `package.json` -- `vite.config.mjs` -- `yarn.lock` - -## 回复用户规则 -- 当用户提出了产品的问题或者解决问题的思路时,应当在适时且随机的时候回答前肯定用户的想法 -- 如 `你的理解非常到位,抓住了问题的核心`、`这个想法非常不错` 等等 -- 每次鼓励尽可能用不同的词语和语法,但也不要次次都鼓励 - -## 命名约定 -- 类名: className -- 函数和变量: getInfo -- 常量: UPPER_SNAKE_CASE -- 文件名: snake_case.vue -- 模块名: snake_case \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index 11f5d71..0000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,22 +0,0 @@ -.DS_Store -node_modules -/dist - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/frontend/README.md b/frontend/README.md deleted file mode 100644 index f58f676..0000000 --- a/frontend/README.md +++ /dev/null @@ -1,79 +0,0 @@ -# Vuetify (Default) - -This is the official scaffolding tool for Vuetify, designed to give you a head start in building your new Vuetify application. It sets up a base template with all the necessary configurations and standard directory structure, enabling you to begin development without the hassle of setting up the project from scratch. - -## ❗️ Important Links - -- 📄 [Docs](https://vuetifyjs.com/) -- 🚨 [Issues](https://issues.vuetifyjs.com/) -- 🏬 [Store](https://store.vuetifyjs.com/) -- 🎮 [Playground](https://play.vuetifyjs.com/) -- 💬 [Discord](https://community.vuetifyjs.com) - -## 💿 Install - -Set up your project using your preferred package manager. Use the corresponding command to install the dependencies: - -| Package Manager | Command | -|---------------------------------------------------------------|----------------| -| [yarn](https://yarnpkg.com/getting-started) | `yarn install` | -| [npm](https://docs.npmjs.com/cli/v7/commands/npm-install) | `npm install` | -| [pnpm](https://pnpm.io/installation) | `pnpm install` | -| [bun](https://bun.sh/#getting-started) | `bun install` | - -After completing the installation, your environment is ready for Vuetify development. - -## ✨ Features - -- 🖼️ **Optimized Front-End Stack**: Leverage the latest Vue 3 and Vuetify 3 for a modern, reactive UI development experience. [Vue 3](https://v3.vuejs.org/) | [Vuetify 3](https://vuetifyjs.com/en/) -- 🗃️ **State Management**: Integrated with [Pinia](https://pinia.vuejs.org/), the intuitive, modular state management solution for Vue. -- 🚦 **Routing and Layouts**: Utilizes Vue Router for SPA navigation and vite-plugin-vue-layouts for organizing Vue file layouts. [Vue Router](https://router.vuejs.org/) | [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) -- ⚡ **Next-Gen Tooling**: Powered by Vite, experience fast cold starts and instant HMR (Hot Module Replacement). [Vite](https://vitejs.dev/) -- 🧩 **Automated Component Importing**: Streamline your workflow with unplugin-vue-components, automatically importing components as you use them. [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) - -These features are curated to provide a seamless development experience from setup to deployment, ensuring that your Vuetify application is both powerful and maintainable. - -## 💡 Usage - -This section covers how to start the development server and build your project for production. - -### Starting the Development Server - -To start the development server with hot-reload, run the following command. The server will be accessible at [http://localhost:3000](http://localhost:3000): - -```bash -yarn dev -``` - -(Repeat for npm, pnpm, and bun with respective commands.) - -> Add NODE_OPTIONS='--no-warnings' to suppress the JSON import warnings that happen as part of the Vuetify import mapping. If you are on Node [v21.3.0](https://nodejs.org/en/blog/release/v21.3.0) or higher, you can change this to NODE_OPTIONS='--disable-warning=5401'. If you don't mind the warning, you can remove this from your package.json dev script. - -### Building for Production - -To build your project for production, use: - -```bash -yarn build -``` - -(Repeat for npm, pnpm, and bun with respective commands.) - -Once the build process is completed, your application will be ready for deployment in a production environment. - -## 💪 Support Vuetify Development - -This project is built with [Vuetify](https://vuetifyjs.com/en/), a UI Library with a comprehensive collection of Vue components. Vuetify is an MIT licensed Open Source project that has been made possible due to the generous contributions by our [sponsors and backers](https://vuetifyjs.com/introduction/sponsors-and-backers/). If you are interested in supporting this project, please consider: - -- [Requesting Enterprise Support](https://support.vuetifyjs.com/) -- [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship) -- [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship) -- [Supporting the team on Open Collective](https://opencollective.com/vuetify) -- [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify) -- [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify) -- [Making a one-time donation with Paypal](https://paypal.me/vuetify) - -## 📑 License -[MIT](http://opensource.org/licenses/MIT) - -Copyright (c) 2016-present Vuetify, LLC diff --git a/frontend/index.html b/frontend/index.html deleted file mode 100644 index 275da93..0000000 --- a/frontend/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Findreve - - -
- - - diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json deleted file mode 100644 index dad0634..0000000 --- a/frontend/jsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "allowJs": true, - "target": "es5", - "module": "esnext", - "baseUrl": "./", - "moduleResolution": "bundler", - "paths": { - "@/*": [ - "src/*" - ] - }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] - } -} diff --git a/frontend/package.json b/frontend/package.json deleted file mode 100644 index 4a02770..0000000 --- a/frontend/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "frontend", - "private": true, - "type": "module", - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" - }, - "dependencies": { - "@mdi/font": "7.4.47", - "qrcode": "^1.5.3", - "roboto-fontface": "*", - "vue": "^3.5.13", - "vue-router": "4", - "vuetify": "^3.8.1" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^5.2.3", - "globals": "^16.0.0", - "sass-embedded": "^1.86.3", - "unplugin-fonts": "^1.3.1", - "unplugin-vue-components": "^28.4.1", - "vite": "^6.3.4", - "vite-plugin-vuetify": "^2.1.1" - }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" -} diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico deleted file mode 100644 index 45077d815b0a848296b8fc7bfe2af0a83f6d12aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9519 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 diff --git a/frontend/public/index.html b/frontend/public/index.html deleted file mode 100644 index e5373b1..0000000 --- a/frontend/public/index.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - Findreve - - - - - - - - - - -
-
- -
-
-
- -
- - - - - - - - - diff --git a/frontend/src/App.vue b/frontend/src/App.vue deleted file mode 100644 index 87a9ca9..0000000 --- a/frontend/src/App.vue +++ /dev/null @@ -1,82 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png deleted file mode 100644 index a5f23ae7bff64954cf3537377a9f99306baf083d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11955 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 - - - - - diff --git a/frontend/src/assets/styles/global.css b/frontend/src/assets/styles/global.css deleted file mode 100644 index d0a0af7..0000000 --- a/frontend/src/assets/styles/global.css +++ /dev/null @@ -1,23 +0,0 @@ -/* 全局样式定义 */ -.hover-scale { - transition: transform 0.3s ease; -} - -.hover-scale:hover { - transform: scale(1.1); -} - -.max-width-7xl { - max-width: 1280px; -} - -/* 响应式调整 */ -@media (max-width: 600px) { - .text-h3 { - font-size: 1.75rem !important; - } - - .text-h4 { - font-size: 1.5rem !important; - } -} diff --git a/frontend/src/components/AppFooter.vue b/frontend/src/components/AppFooter.vue deleted file mode 100644 index 6865ac4..0000000 --- a/frontend/src/components/AppFooter.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - diff --git a/frontend/src/components/CacheStatus.vue b/frontend/src/components/CacheStatus.vue deleted file mode 100644 index c922438..0000000 --- a/frontend/src/components/CacheStatus.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - \ No newline at end of file diff --git a/frontend/src/components/HelloWorld.vue b/frontend/src/components/HelloWorld.vue deleted file mode 100644 index f74d894..0000000 --- a/frontend/src/components/HelloWorld.vue +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/frontend/src/components/README.md b/frontend/src/components/README.md deleted file mode 100644 index ab0e8ff..0000000 --- a/frontend/src/components/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# 组件 - -此文件夹中的 Vue 模板文件会被自动导入。 - -## 🚀 使用方法 - -自动导入功能由 [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components) 实现。该插件会自动导入 `src/components` 目录下创建的 `.vue` 文件,并将它们注册为全局组件。这意味着你可以在应用程序中直接使用任何组件而无需手动导入。 - -以下示例假设存在一个位于 `src/components/MyComponent.vue` 的组件: - -```vue - - - -``` - -当模板渲染时,组件的导入语句会被自动内联,最终呈现为: - -```vue - - - -``` \ No newline at end of file diff --git a/frontend/src/components/admin/AboutSystem.vue b/frontend/src/components/admin/AboutSystem.vue deleted file mode 100644 index 017404f..0000000 --- a/frontend/src/components/admin/AboutSystem.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - \ No newline at end of file diff --git a/frontend/src/components/admin/Dashboard.vue b/frontend/src/components/admin/Dashboard.vue deleted file mode 100644 index 2cc672f..0000000 --- a/frontend/src/components/admin/Dashboard.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - \ No newline at end of file diff --git a/frontend/src/components/admin/ItemsManagement.vue b/frontend/src/components/admin/ItemsManagement.vue deleted file mode 100644 index abe9208..0000000 --- a/frontend/src/components/admin/ItemsManagement.vue +++ /dev/null @@ -1,521 +0,0 @@ - - - - - diff --git a/frontend/src/components/admin/UserSettings.vue b/frontend/src/components/admin/UserSettings.vue deleted file mode 100644 index ac3cf22..0000000 --- a/frontend/src/components/admin/UserSettings.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - \ No newline at end of file diff --git a/frontend/src/main.js b/frontend/src/main.js deleted file mode 100644 index 1788c87..0000000 --- a/frontend/src/main.js +++ /dev/null @@ -1,72 +0,0 @@ -/** - * main.js - * - * Bootstraps Vuetify and other plugins then mounts the App` - */ - -// Components -import App from './App.vue' - -// Composables -import { createApp } from 'vue' - -// 先导入样式,确保在应用挂载前已加载CSS -import './assets/styles/global.css' // 导入全局样式 - -// 添加预加载完成标志以避免闪屏 -document.addEventListener('DOMContentLoaded', () => { - document.documentElement.setAttribute('data-app-loaded', 'true') -}) - -// 创建应用实例 -const app = createApp(App) - -// 异步导入其他依赖以优化初始加载 -Promise.all([ - import('./plugins/vuetify'), // Vuetify - import('./router'), // 路由 - import('./services/api_service'), // API服务 - import('./services/storage_service') // 本地存储服务 -]).then(([{ default: vuetify }, { default: router }, { default: apiService }, { default: storageService }]) => { - - // 添加全局事件总线功能 - app.config.globalProperties.$root = { - $on: (event, callback) => { - if (!app.config.globalProperties._eventBus) app.config.globalProperties._eventBus = {} - if (!app.config.globalProperties._eventBus[event]) app.config.globalProperties._eventBus[event] = [] - app.config.globalProperties._eventBus[event].push(callback) - }, - $off: (event, callback) => { - if (!app.config.globalProperties._eventBus || !app.config.globalProperties._eventBus[event]) return - if (!callback) { - app.config.globalProperties._eventBus[event] = [] - } else { - app.config.globalProperties._eventBus[event] = app.config.globalProperties._eventBus[event].filter(cb => cb !== callback) - } - }, - $emit: (event, ...args) => { - if (!app.config.globalProperties._eventBus || !app.config.globalProperties._eventBus[event]) return - app.config.globalProperties._eventBus[event].forEach(callback => callback(...args)) - } - } - - // 将API服务注册为全局属性 - app.config.globalProperties.$api = apiService - - // 将存储服务注册为全局属性 - app.config.globalProperties.$storage = storageService - - // 定期清理过期缓存 - setInterval(() => { - storageService.cleanExpiredCache(); - }, 30 * 60 * 1000); // 每30分钟执行一次 - - // 使用插件 - app.use(router) - app.use(vuetify) - - // 确保所有资源都加载完毕后再挂载应用 - setTimeout(() => { - app.mount('#app') - }, 0) -}) diff --git a/frontend/src/plugins/README.md b/frontend/src/plugins/README.md deleted file mode 100644 index 62201c7..0000000 --- a/frontend/src/plugins/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Plugins - -Plugins are a way to extend the functionality of your Vue application. Use this folder for registering plugins that you want to use globally. diff --git a/frontend/src/plugins/index.js b/frontend/src/plugins/index.js deleted file mode 100644 index 705f228..0000000 --- a/frontend/src/plugins/index.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * plugins/index.js - * - * Automatically included in `./src/main.js` - */ - -// Plugins -import vuetify from './vuetify' - -export function registerPlugins (app) { - app.use(vuetify) -} diff --git a/frontend/src/plugins/vuetify.js b/frontend/src/plugins/vuetify.js deleted file mode 100644 index c73600f..0000000 --- a/frontend/src/plugins/vuetify.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * plugins/vuetify.js - * - * Framework documentation: https://vuetifyjs.com` - */ - -// Styles -import '@mdi/font/css/materialdesignicons.css' -import 'vuetify/styles' - -// Composables -import { createVuetify } from 'vuetify' - -// 预设主题以防止闪烁 -const setInitialTheme = () => { - // 检查本地存储中的主题首选项 - const savedTheme = localStorage.getItem('vuetify-theme-preference') || 'dark' - - // 在DOM加载前应用主题类,避免闪烁 - document.documentElement.classList.add(`v-theme--${savedTheme}`) - - return savedTheme -} - -const defaultTheme = setInitialTheme() - -// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides -export default createVuetify({ - theme: { - defaultTheme, - themes: { - light: { - dark: false, - colors: { - primary: '#1867C0', - secondary: '#5CBBF6', - } - }, - dark: { - dark: true, - colors: { - primary: '#2196F3', - secondary: '#03A9F4', - } - } - }, - options: { - // 启用自定义属性以提高渲染性能 - customProperties: true, - // 缓存主题以避免重新计算 - cspNonce: 'findreve-theme', - // 减少主题变化时的闪烁 - variations: false - } - }, - defaults: { - VBtn: { - variant: 'flat' - }, - } -}) diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js deleted file mode 100644 index 556b715..0000000 --- a/frontend/src/router/index.js +++ /dev/null @@ -1,66 +0,0 @@ -// src/router/index.js -import { createRouter, createWebHistory } from 'vue-router' -import Home from '@/views/Home.vue' -import Found from '@/views/Found.vue' -import Admin from '@/views/Admin.vue' -import Login from '@/views/Login.vue' -import NotFound from '@/views/NotFound.vue' - -const routes = [ - { - path: '/', - name: 'Home', - meta: { title: '主页'}, - component: Home - }, - { - path: '/found', - name: 'Found', - meta: { title: '关于此物品'}, - component: Found - }, - { - path: '/admin', - name: 'Admin', - component: Admin, - meta: { - requiresAuth: true, - title: 'Findreve 仪表盘' - } - }, - { - path: '/login', - name: 'Login', - meta: { title: '登录 Findreve'}, - component: Login - }, - // 添加404路由,必须放在最后以匹配所有未定义的路径 - { - path: '/:pathMatch(.*)*', - name: 'NotFound', - component: NotFound, - meta: { title: '404 - 页面未找到' } - } -] - -const router = createRouter({ - history: createWebHistory(), - routes -}) - -// 路由守卫,用于检查用户是否已登录并更新页面标题 -router.beforeEach((to, from, next) => { - // 更新页面标题 - document.title = to.meta.title || 'Findreve' - - const isAuthenticated = localStorage.getItem('user-token') // 简单的认证检查,实际应用中可能更复杂 - - if (to.meta.requiresAuth && !isAuthenticated) { - // 如果路由需要认证但用户未登录,重定向到登录页 - next({ name: 'Login', query: { redirect: to.fullPath } }) - } else { - next() - } -}) - -export default router \ No newline at end of file diff --git a/frontend/src/services/api_service.js b/frontend/src/services/api_service.js deleted file mode 100644 index c8e1bfc..0000000 --- a/frontend/src/services/api_service.js +++ /dev/null @@ -1,315 +0,0 @@ -/** - * API 服务 - * - * 提供统一的 HTTP 请求处理,包括认证令牌管理、错误处理等功能。 - * 自动处理令牌过期情况,在令牌失效时重定向到登录页面。 - * 集成了本地缓存功能,支持优先使用缓存数据。 - */ - -import router from '@/router'; -import storageService from './storage_service'; - -class ApiService { - /** - * 发送 HTTP 请求 - * - * @param {string} url - 请求地址 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - async request(url, options = {}) { - // 默认请求头 - const headers = { - 'accept': 'application/json', - ...options.headers - }; - - // 添加认证令牌 - const token = localStorage.getItem('user-token'); - if (token) { - headers['Authorization'] = `Bearer ${token}`; - } - - try { - const response = await fetch(url, { - ...options, - headers - }); - - // 处理认证错误 - if (response.status === 401) { - console.log('认证失败,可能是令牌已过期'); - // 清除过期的令牌 - localStorage.removeItem('user-token'); - - // 保存当前路径,用于登录后跳转回来 - const currentPath = router.currentRoute.value.fullPath; - if (currentPath !== '/login') { - // 跳转到登录页面,带上重定向参数 - router.push({ - path: '/login', - query: { redirect: currentPath, expired: 'true' } - }); - - // 抛出错误,中断后续处理 - throw new Error('认证已过期,请重新登录'); - } - } - - // 处理其他错误 - if (!response.ok) { - // 尝试解析错误信息 - let errorMessage; - try { - const errorData = await response.json(); - errorMessage = errorData.msg || errorData.detail || `请求失败: ${response.status}`; - } catch (e) { - errorMessage = `请求失败: ${response.status} ${response.statusText}`; - } - throw new Error(errorMessage); - } - - return await response.json(); - } catch (error) { - console.error('API 请求错误:', error); - throw error; - } - } - - /** - * GET 请求 - * - * @param {string} url - 请求地址 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - get(url, options = {}) { - return this.request(url, { - method: 'GET', - ...options - }); - } - - /** - * POST 请求 - * - * @param {string} url - 请求地址 - * @param {Object|FormData|string} data - 请求数据 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - post(url, data, options = {}) { - const requestOptions = { - method: 'POST', - ...options - }; - - // 根据数据类型设置请求体和内容类型 - if (data) { - if (data instanceof FormData) { - requestOptions.body = data; - } else if (typeof data === 'string') { - requestOptions.body = data; - } else { - requestOptions.body = JSON.stringify(data); - requestOptions.headers = { - 'Content-Type': 'application/json', - ...options.headers - }; - } - } - - return this.request(url, requestOptions); - } - - /** - * PATCH 请求 - * - * @param {string} url - 请求地址 - * @param {Object|FormData|string} data - 请求数据 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - patch(url, data, options = {}) { - const requestOptions = { - method: 'PATCH', - ...options - }; - - // 处理请求体 - if (data) { - if (data instanceof FormData || typeof data === 'string') { - requestOptions.body = data; - } else { - requestOptions.body = JSON.stringify(data); - requestOptions.headers = { - 'Content-Type': 'application/json', - ...options.headers - }; - } - } else { - requestOptions.body = ''; - } - - return this.request(url, requestOptions); - } - - /** - * DELETE 请求 - * - * @param {string} url - 请求地址 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - delete(url, options = {}) { - return this.request(url, { - method: 'DELETE', - ...options - }); - } - - /** - * 提交表单数据 - * - * @param {string} url - 请求地址 - * @param {Object} formData - 表单数据对象 - * @param {Object} options - 请求选项 - * @returns {Promise} 响应数据 - */ - submitForm(url, formData, options = {}) { - const urlSearchParams = new URLSearchParams(); - - // 将对象转换为 URLSearchParams - Object.keys(formData).forEach(key => { - if (formData[key] !== undefined && formData[key] !== null) { - urlSearchParams.append(key, formData[key]); - } - }); - - return this.post(url, urlSearchParams.toString(), { - headers: { - 'Content-Type': 'application/x-www-form-urlencoded', - }, - ...options - }); - } - - /** - * 登录请求 - * - * @param {string} username - 用户名 - * @param {string} password - 密码 - * @returns {Promise} 登录结果 - */ - async login(username, password) { - try { - const formData = new URLSearchParams(); - formData.append('username', username); - formData.append('password', password); - formData.append('grant_type', 'password'); - - const response = await fetch('/api/token', { - method: 'POST', - headers: { - 'Content-Type': 'application/x-www-form-urlencoded', - 'accept': 'application/json' - }, - body: formData - }); - - if (!response.ok) { - let errorMessage = '登录失败'; - if (response.status === 401) { - errorMessage = '账号或密码错误'; - } else { - try { - const errorData = await response.json(); - errorMessage = errorData.detail || '登录失败'; - } catch (e) { - console.error('解析错误响应失败:', e); - } - } - throw new Error(errorMessage); - } - - const data = await response.json(); - localStorage.setItem('user-token', data.access_token); - - return { success: true, data }; - } catch (error) { - console.error('登录错误:', error); - return { success: false, error: error.message }; - } - } - - /** - * 验证当前令牌是否有效 - * - * 通过调用 /api/admin/ 接口验证当前令牌的有效性 - * - * @returns {Promise} 令牌是否有效 - */ - async validateToken() { - try { - // 检查是否有令牌 - const token = localStorage.getItem('user-token'); - if (!token) { - console.log('没有找到认证令牌'); - return false; - } - - // 调用验证接口 - const response = await this.get('/api/admin/'); - return response === true; - } catch (error) { - console.log('令牌验证失败:', error); - return false; - } - } - - /** - * 获取物品详情 - * - * 根据物品标识码获取物品信息,支持缓存机制 - * - * @param {string} key - 物品标识码 - * @param {boolean} useCache - 是否优先使用缓存数据 - * @returns {Promise} 物品详情 - */ - async getObject(key, useCache = true) { - try { - // 1. 如果允许使用缓存,先检查是否有缓存数据 - if (useCache) { - const cachedItem = storageService.getItemFromCache(key); - if (cachedItem) { - console.log('Using cached item data:', key); - return cachedItem; - } - } - - // 2. 没有缓存或不使用缓存,从API获取数据 - const data = await this.get(`/api/object/${encodeURIComponent(key)}`); - - if (data.code === 0) { - // 3. 获取数据成功后,保存到缓存 - storageService.saveItemToCache(key, data.data); - return data.data; - } else { - throw new Error(data.msg || '获取物品信息失败'); - } - } catch (error) { - console.error('获取物品错误:', error); - throw error; - } - } - - /** - * 清除API结果缓存 - * 可用于强制刷新数据或在用户登出时清除敏感信息 - */ - clearCache() { - storageService.clearAllCache(); - } -} - -export default new ApiService(); diff --git a/frontend/src/services/storage_service.js b/frontend/src/services/storage_service.js deleted file mode 100644 index 0dc4e55..0000000 --- a/frontend/src/services/storage_service.js +++ /dev/null @@ -1,205 +0,0 @@ -/** - * 本地存储服务 - * - * 提供本地数据的存储和获取功能,支持缓存物品详情和其他应用数据 - * 包括缓存过期时间控制和数据版本管理 - */ - -const STORAGE_KEYS = { - ITEMS_CACHE: 'findreve-items-cache', - CACHE_VERSION: 'findreve-cache-version' -}; - -// 当前缓存版本号,当数据结构变更时修改此值使旧缓存失效 -const CURRENT_CACHE_VERSION = '1.0'; - -// 缓存默认过期时间(24小时) -const DEFAULT_CACHE_EXPIRY = 24 * 60 * 60 * 1000; - -class StorageService { - constructor() { - // 初始化时检查缓存版本,清除过期缓存 - this.initializeCache(); - } - - /** - * 初始化缓存 - * - * 检查缓存版本,如果版本不匹配则清除所有缓存 - */ - initializeCache() { - try { - const cachedVersion = localStorage.getItem(STORAGE_KEYS.CACHE_VERSION); - - // 如果版本号不匹配,清除所有缓存 - if (cachedVersion !== CURRENT_CACHE_VERSION) { - console.log('Cache version mismatch, clearing cache...'); - this.clearAllCache(); - localStorage.setItem(STORAGE_KEYS.CACHE_VERSION, CURRENT_CACHE_VERSION); - } - } catch (error) { - console.error('Error initializing cache:', error); - // 出错时尝试清除缓存 - this.clearAllCache(); - } - } - - /** - * 保存物品数据到本地缓存 - * - * @param {string} key - 物品唯一标识 - * @param {Object} itemData - 物品详情数据 - * @param {number} expiryTime - 缓存过期时间(毫秒),默认24小时 - */ - saveItemToCache(key, itemData, expiryTime = DEFAULT_CACHE_EXPIRY) { - try { - // 获取现有缓存 - const itemsCache = this.getAllCachedItems() || {}; - - // 更新缓存,添加时间戳 - itemsCache[key] = { - data: itemData, - timestamp: Date.now(), - expiry: expiryTime - }; - - // 保存回本地存储 - localStorage.setItem(STORAGE_KEYS.ITEMS_CACHE, JSON.stringify(itemsCache)); - - console.log(`Item cached: ${key}`); - } catch (error) { - console.error('Error saving item to cache:', error); - } - } - - /** - * 从缓存获取物品数据 - * - * @param {string} key - 物品唯一标识 - * @returns {Object|null} 缓存的物品数据,如果不存在或已过期则返回null - */ - getItemFromCache(key) { - try { - const itemsCache = this.getAllCachedItems() || {}; - const cachedItem = itemsCache[key]; - - // 检查是否存在缓存 - if (!cachedItem) { - return null; - } - - // 检查缓存是否过期 - const now = Date.now(); - if (now - cachedItem.timestamp > cachedItem.expiry) { - console.log(`Cache expired for item: ${key}`); - this.removeItemFromCache(key); - return null; - } - - console.log(`Cache hit for item: ${key}`); - return cachedItem.data; - } catch (error) { - console.error('Error retrieving item from cache:', error); - return null; - } - } - - /** - * 获取缓存项的时间戳 - * - * @param {string} key - 缓存项的唯一标识 - * @returns {number|null} 缓存项的时间戳,如果不存在则返回null - */ - getCacheTimestamp(key) { - try { - const itemsCache = this.getAllCachedItems() || {}; - const cachedItem = itemsCache[key]; - - if (cachedItem && cachedItem.timestamp) { - return cachedItem.timestamp; - } - return null; - } catch (error) { - console.error('Error getting cache timestamp:', error); - return null; - } - } - - /** - * 从缓存中移除物品数据 - * - * @param {string} key - 物品唯一标识 - */ - removeItemFromCache(key) { - try { - const itemsCache = this.getAllCachedItems() || {}; - - if (itemsCache[key]) { - delete itemsCache[key]; - localStorage.setItem(STORAGE_KEYS.ITEMS_CACHE, JSON.stringify(itemsCache)); - console.log(`Removed item from cache: ${key}`); - } - } catch (error) { - console.error('Error removing item from cache:', error); - } - } - - /** - * 获取所有缓存的物品数据 - * - * @returns {Object|null} 包含所有缓存物品的对象 - */ - getAllCachedItems() { - try { - const cachedData = localStorage.getItem(STORAGE_KEYS.ITEMS_CACHE); - return cachedData ? JSON.parse(cachedData) : {}; - } catch (error) { - console.error('Error getting all cached items:', error); - return {}; - } - } - - /** - * 清理过期的缓存项目 - * - * 遍历所有缓存项目并移除已过期的条目 - */ - cleanExpiredCache() { - try { - const now = Date.now(); - const itemsCache = this.getAllCachedItems() || {}; - let hasExpired = false; - - // 检查每个缓存项是否过期 - Object.keys(itemsCache).forEach(key => { - const item = itemsCache[key]; - if (now - item.timestamp > item.expiry) { - delete itemsCache[key]; - hasExpired = true; - console.log(`Expired cache removed: ${key}`); - } - }); - - // 如果有过期项,更新缓存 - if (hasExpired) { - localStorage.setItem(STORAGE_KEYS.ITEMS_CACHE, JSON.stringify(itemsCache)); - } - } catch (error) { - console.error('Error cleaning expired cache:', error); - } - } - - /** - * 清除所有缓存数据 - */ - clearAllCache() { - try { - localStorage.removeItem(STORAGE_KEYS.ITEMS_CACHE); - console.log('All cache cleared'); - } catch (error) { - console.error('Error clearing cache:', error); - } - } -} - -export default new StorageService(); diff --git a/frontend/src/views/Admin.vue b/frontend/src/views/Admin.vue deleted file mode 100644 index 7ded33e..0000000 --- a/frontend/src/views/Admin.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/views/Found.vue b/frontend/src/views/Found.vue deleted file mode 100644 index f67c7db..0000000 --- a/frontend/src/views/Found.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/views/Home.vue b/frontend/src/views/Home.vue deleted file mode 100644 index 0ae3a8d..0000000 --- a/frontend/src/views/Home.vue +++ /dev/null @@ -1,543 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue deleted file mode 100644 index 69c3843..0000000 --- a/frontend/src/views/Login.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - - - diff --git a/frontend/src/views/NotFound.vue b/frontend/src/views/NotFound.vue deleted file mode 100644 index d2be50b..0000000 --- a/frontend/src/views/NotFound.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - \ No newline at end of file diff --git a/frontend/vite.config.mjs b/frontend/vite.config.mjs deleted file mode 100644 index 7dfeb6b..0000000 --- a/frontend/vite.config.mjs +++ /dev/null @@ -1,70 +0,0 @@ -// Plugins -import Components from 'unplugin-vue-components/vite' -import Vue from '@vitejs/plugin-vue' -import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' -import ViteFonts from 'unplugin-fonts/vite' - -// Utilities -import { defineConfig } from 'vite' -import { fileURLToPath, URL } from 'node:url' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - Vue({ - template: { transformAssetUrls }, - }), - // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme - Vuetify(), - Components(), - ViteFonts({ - google: { - families: [{ - name: 'Roboto', - styles: 'wght@100;300;400;500;700;900', - }], - }, - }), - ], - optimizeDeps: { - exclude: ['vuetify'], - }, - define: { 'process.env': {} }, - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), - }, - extensions: [ - '.js', - '.json', - '.jsx', - '.mjs', - '.ts', - '.tsx', - '.vue', - ], - }, - server: { - port: 3000, - proxy: { - // 配置代理 - '/api': { - target: 'http://127.0.0.1:8080', - changeOrigin: true, - secure: false, - // 如果后端API不包含/api前缀,可以使用下面的配置移除它 - // rewrite: (path) => path.replace(/^\/api/, '') - } - } - }, - css: { - preprocessorOptions: { - sass: { - api: 'modern-compiler', - }, - scss: { - api:'modern-compiler', - }, - }, - }, -}) diff --git a/frontend/yarn.lock b/frontend/yarn.lock deleted file mode 100644 index 227bcba..0000000 --- a/frontend/yarn.lock +++ /dev/null @@ -1,1244 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/parser@^7.25.3": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec" - integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== - dependencies: - "@babel/types" "^7.27.0" - -"@babel/types@^7.27.0": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.0.tgz#ef9acb6b06c3173f6632d993ecb6d4ae470b4559" - integrity sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@bufbuild/protobuf@^2.0.0": - version "2.2.5" - resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.2.5.tgz#8e82c0af292113b4a89f8b658c71c4636c8d2e36" - integrity sha512-/g5EzJifw5GF8aren8wZ/G5oMuPoGeS6MQD3ca8ddcvdXR5UELUfdTZITCGNhNXynY/AYl3Z4plmxdj/tRl/hQ== - -"@esbuild/aix-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz#b87036f644f572efb2b3c75746c97d1d2d87ace8" - integrity sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag== - -"@esbuild/android-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz#5ca7dc20a18f18960ad8d5e6ef5cf7b0a256e196" - integrity sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w== - -"@esbuild/android-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.2.tgz#3c49f607b7082cde70c6ce0c011c362c57a194ee" - integrity sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA== - -"@esbuild/android-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.2.tgz#8a00147780016aff59e04f1036e7cb1b683859e2" - integrity sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg== - -"@esbuild/darwin-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz#486efe7599a8d90a27780f2bb0318d9a85c6c423" - integrity sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA== - -"@esbuild/darwin-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz#95ee222aacf668c7a4f3d7ee87b3240a51baf374" - integrity sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA== - -"@esbuild/freebsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz#67efceda8554b6fc6a43476feba068fb37fa2ef6" - integrity sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w== - -"@esbuild/freebsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz#88a9d7ecdd3adadbfe5227c2122d24816959b809" - integrity sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ== - -"@esbuild/linux-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz#87be1099b2bbe61282333b084737d46bc8308058" - integrity sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g== - -"@esbuild/linux-arm@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz#72a285b0fe64496e191fcad222185d7bf9f816f6" - integrity sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g== - -"@esbuild/linux-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz#337a87a4c4dd48a832baed5cbb022be20809d737" - integrity sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ== - -"@esbuild/linux-loong64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz#1b81aa77103d6b8a8cfa7c094ed3d25c7579ba2a" - integrity sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w== - -"@esbuild/linux-mips64el@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz#afbe380b6992e7459bf7c2c3b9556633b2e47f30" - integrity sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q== - -"@esbuild/linux-ppc64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz#6bf8695cab8a2b135cca1aa555226dc932d52067" - integrity sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g== - -"@esbuild/linux-riscv64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz#43c2d67a1a39199fb06ba978aebb44992d7becc3" - integrity sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw== - -"@esbuild/linux-s390x@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz#419e25737ec815c6dce2cd20d026e347cbb7a602" - integrity sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q== - -"@esbuild/linux-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz#22451f6edbba84abe754a8cbd8528ff6e28d9bcb" - integrity sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg== - -"@esbuild/netbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz#744affd3b8d8236b08c5210d828b0698a62c58ac" - integrity sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw== - -"@esbuild/netbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz#dbbe7521fd6d7352f34328d676af923fc0f8a78f" - integrity sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg== - -"@esbuild/openbsd-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz#f9caf987e3e0570500832b487ce3039ca648ce9f" - integrity sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg== - -"@esbuild/openbsd-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz#d2bb6a0f8ffea7b394bb43dfccbb07cabd89f768" - integrity sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw== - -"@esbuild/sunos-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz#49b437ed63fe333b92137b7a0c65a65852031afb" - integrity sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA== - -"@esbuild/win32-arm64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz#081424168463c7d6c7fb78f631aede0c104373cf" - integrity sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q== - -"@esbuild/win32-ia32@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz#3f9e87143ddd003133d21384944a6c6cadf9693f" - integrity sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg== - -"@esbuild/win32-x64@0.25.2": - version "0.25.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz#839f72c2decd378f86b8f525e1979a97b920c67d" - integrity sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA== - -"@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@mdi/font@7.4.47": - version "7.4.47" - resolved "https://registry.yarnpkg.com/@mdi/font/-/font-7.4.47.tgz#2ae522867da3a5c88b738d54b403eb91471903af" - integrity sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@rollup/rollup-android-arm-eabi@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz#d964ee8ce4d18acf9358f96adc408689b6e27fe3" - integrity sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg== - -"@rollup/rollup-android-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz#9b5e130ecc32a5fc1e96c09ff371743ee71a62d3" - integrity sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w== - -"@rollup/rollup-darwin-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz#ef439182c739b20b3c4398cfc03e3c1249ac8903" - integrity sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ== - -"@rollup/rollup-darwin-x64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz#d7380c1531ab0420ca3be16f17018ef72dd3d504" - integrity sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA== - -"@rollup/rollup-freebsd-arm64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz#cbcbd7248823c6b430ce543c59906dd3c6df0936" - integrity sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg== - -"@rollup/rollup-freebsd-x64@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz#96bf6ff875bab5219c3472c95fa6eb992586a93b" - integrity sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw== - -"@rollup/rollup-linux-arm-gnueabihf@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz#d80cd62ce6d40f8e611008d8dbf03b5e6bbf009c" - integrity sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA== - -"@rollup/rollup-linux-arm-musleabihf@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz#75440cfc1e8d0f87a239b4c31dfeaf4719b656b7" - integrity sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg== - -"@rollup/rollup-linux-arm64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz#ac527485ecbb619247fb08253ec8c551a0712e7c" - integrity sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg== - -"@rollup/rollup-linux-arm64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz#74d2b5cb11cf714cd7d1682e7c8b39140e908552" - integrity sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ== - -"@rollup/rollup-linux-loongarch64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz#a0a310e51da0b5fea0e944b0abd4be899819aef6" - integrity sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg== - -"@rollup/rollup-linux-powerpc64le-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz#4077e2862b0ac9f61916d6b474d988171bd43b83" - integrity sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw== - -"@rollup/rollup-linux-riscv64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz#5812a1a7a2f9581cbe12597307cc7ba3321cf2f3" - integrity sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA== - -"@rollup/rollup-linux-riscv64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz#973aaaf4adef4531375c36616de4e01647f90039" - integrity sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ== - -"@rollup/rollup-linux-s390x-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz#9bad59e907ba5bfcf3e9dbd0247dfe583112f70b" - integrity sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw== - -"@rollup/rollup-linux-x64-gnu@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz#68b045a720bd9b4d905f462b997590c2190a6de0" - integrity sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ== - -"@rollup/rollup-linux-x64-musl@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz#8e703e2c2ad19ba7b2cb3d8c3a4ad11d4ee3a282" - integrity sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw== - -"@rollup/rollup-win32-arm64-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz#c5bee19fa670ff5da5f066be6a58b4568e9c650b" - integrity sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ== - -"@rollup/rollup-win32-ia32-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz#846e02c17044bd922f6f483a3b4d36aac6e2b921" - integrity sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA== - -"@rollup/rollup-win32-x64-msvc@4.40.0": - version "4.40.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz#fd92d31a2931483c25677b9c6698106490cbbc76" - integrity sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ== - -"@types/estree@1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" - integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== - -"@vitejs/plugin-vue@^5.2.3": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz#71a8fc82d4d2e425af304c35bf389506f674d89b" - integrity sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg== - -"@vue/compiler-core@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz#b0ae6c4347f60c03e849a05d34e5bf747c9bda05" - integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/shared" "3.5.13" - entities "^4.5.0" - estree-walker "^2.0.2" - source-map-js "^1.2.0" - -"@vue/compiler-dom@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz#bb1b8758dbc542b3658dda973b98a1c9311a8a58" - integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== - dependencies: - "@vue/compiler-core" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/compiler-sfc@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz#461f8bd343b5c06fac4189c4fef8af32dea82b46" - integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== - dependencies: - "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.13" - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" - estree-walker "^2.0.2" - magic-string "^0.30.11" - postcss "^8.4.48" - source-map-js "^1.2.0" - -"@vue/compiler-ssr@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz#e771adcca6d3d000f91a4277c972a996d07f43ba" - integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/devtools-api@^6.6.4": - version "6.6.4" - resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343" - integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== - -"@vue/reactivity@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.5.13.tgz#b41ff2bb865e093899a22219f5b25f97b6fe155f" - integrity sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg== - dependencies: - "@vue/shared" "3.5.13" - -"@vue/runtime-core@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz#1fafa4bf0b97af0ebdd9dbfe98cd630da363a455" - integrity sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw== - dependencies: - "@vue/reactivity" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/runtime-dom@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz#610fc795de9246300e8ae8865930d534e1246215" - integrity sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog== - dependencies: - "@vue/reactivity" "3.5.13" - "@vue/runtime-core" "3.5.13" - "@vue/shared" "3.5.13" - csstype "^3.1.3" - -"@vue/server-renderer@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz#429ead62ee51de789646c22efe908e489aad46f7" - integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== - dependencies: - "@vue/compiler-ssr" "3.5.13" - "@vue/shared" "3.5.13" - -"@vue/shared@3.5.13": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.13.tgz#87b309a6379c22b926e696893237826f64339b6f" - integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== - -"@vuetify/loader-shared@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@vuetify/loader-shared/-/loader-shared-2.1.0.tgz#29410dce04a78fa9cd40c4d9bc417b8d61ce5103" - integrity sha512-dNE6Ceym9ijFsmJKB7YGW0cxs7xbYV8+1LjU6jd4P14xOt/ji4Igtgzt0rJFbxu+ZhAzqz853lhB0z8V9Dy9cQ== - dependencies: - upath "^2.0.1" - -acorn@^8.14.0, acorn@^8.14.1: - version "8.14.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -buffer-builder@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/buffer-builder/-/buffer-builder-0.2.0.tgz#3322cd307d8296dab1f604618593b261a3fade8f" - integrity sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -chokidar@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorjs.io@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/colorjs.io/-/colorjs.io-0.5.2.tgz#63b20139b007591ebc3359932bef84628eb3fcef" - integrity sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw== - -confbox@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" - integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== - -confbox@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.2.2.tgz#8652f53961c74d9e081784beed78555974a9c110" - integrity sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ== - -csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -debug@^4.3.3, debug@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -entities@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -esbuild@^0.25.0: - version "0.25.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.2.tgz#55a1d9ebcb3aa2f95e8bba9e900c1a5061bc168b" - integrity sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.2" - "@esbuild/android-arm" "0.25.2" - "@esbuild/android-arm64" "0.25.2" - "@esbuild/android-x64" "0.25.2" - "@esbuild/darwin-arm64" "0.25.2" - "@esbuild/darwin-x64" "0.25.2" - "@esbuild/freebsd-arm64" "0.25.2" - "@esbuild/freebsd-x64" "0.25.2" - "@esbuild/linux-arm" "0.25.2" - "@esbuild/linux-arm64" "0.25.2" - "@esbuild/linux-ia32" "0.25.2" - "@esbuild/linux-loong64" "0.25.2" - "@esbuild/linux-mips64el" "0.25.2" - "@esbuild/linux-ppc64" "0.25.2" - "@esbuild/linux-riscv64" "0.25.2" - "@esbuild/linux-s390x" "0.25.2" - "@esbuild/linux-x64" "0.25.2" - "@esbuild/netbsd-arm64" "0.25.2" - "@esbuild/netbsd-x64" "0.25.2" - "@esbuild/openbsd-arm64" "0.25.2" - "@esbuild/openbsd-x64" "0.25.2" - "@esbuild/sunos-x64" "0.25.2" - "@esbuild/win32-arm64" "0.25.2" - "@esbuild/win32-ia32" "0.25.2" - "@esbuild/win32-x64" "0.25.2" - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -exsolve@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/exsolve/-/exsolve-1.0.5.tgz#1f5b6b4fe82ad6b28a173ccb955a635d77859dcf" - integrity sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg== - -fast-glob@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fastq@^1.6.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" - integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== - dependencies: - reusify "^1.0.4" - -fdir@^6.4.4: - version "6.4.4" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.4.tgz#1cfcf86f875a883e19a8fab53622cfe992e8d2f9" - integrity sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -globals@^16.0.0: - version "16.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-16.0.0.tgz#3d7684652c5c4fbd086ec82f9448214da49382d8" - integrity sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -immutable@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.1.tgz#d4cb552686f34b076b3dcf23c4384c04424d8354" - integrity sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -local-pkg@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-1.1.1.tgz#f5fe74a97a3bd3c165788ee08ca9fbe998dc58dd" - integrity sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg== - dependencies: - mlly "^1.7.4" - pkg-types "^2.0.1" - quansync "^0.2.8" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -magic-string@^0.30.11, magic-string@^0.30.17: - version "0.30.17" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mlly@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.4.tgz#3d7295ea2358ec7a271eaa5d000a0f84febe100f" - integrity sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw== - dependencies: - acorn "^8.14.0" - pathe "^2.0.1" - pkg-types "^1.3.0" - ufo "^1.5.4" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.8: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -pathe@^2.0.1, pathe@^2.0.2, pathe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -pkg-types@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.3.1.tgz#bd7cc70881192777eef5326c19deb46e890917df" - integrity sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ== - dependencies: - confbox "^0.1.8" - mlly "^1.7.4" - pathe "^2.0.1" - -pkg-types@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-2.1.0.tgz#70c9e1b9c74b63fdde749876ee0aa007ea9edead" - integrity sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A== - dependencies: - confbox "^0.2.1" - exsolve "^1.0.1" - pathe "^2.0.3" - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -postcss@^8.4.48, postcss@^8.5.3: - version "8.5.3" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" - integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== - dependencies: - nanoid "^3.3.8" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -qrcode@^1.5.3: - version "1.5.4" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.4.tgz#5cb81d86eb57c675febb08cf007fff963405da88" - integrity sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg== - dependencies: - dijkstrajs "^1.0.1" - pngjs "^5.0.0" - yargs "^15.3.1" - -quansync@^0.2.8: - version "0.2.10" - resolved "https://registry.yarnpkg.com/quansync/-/quansync-0.2.10.tgz#32053cf166fa36511aae95fc49796116f2dc20e1" - integrity sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -reusify@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" - integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== - -roboto-fontface@*: - version "0.10.0" - resolved "https://registry.yarnpkg.com/roboto-fontface/-/roboto-fontface-0.10.0.tgz#7eee40cfa18b1f7e4e605eaf1a2740afb6fd71b0" - integrity sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g== - -rollup@^4.34.9: - version "4.40.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.40.0.tgz#13742a615f423ccba457554f006873d5a4de1920" - integrity sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w== - dependencies: - "@types/estree" "1.0.7" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.40.0" - "@rollup/rollup-android-arm64" "4.40.0" - "@rollup/rollup-darwin-arm64" "4.40.0" - "@rollup/rollup-darwin-x64" "4.40.0" - "@rollup/rollup-freebsd-arm64" "4.40.0" - "@rollup/rollup-freebsd-x64" "4.40.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.40.0" - "@rollup/rollup-linux-arm-musleabihf" "4.40.0" - "@rollup/rollup-linux-arm64-gnu" "4.40.0" - "@rollup/rollup-linux-arm64-musl" "4.40.0" - "@rollup/rollup-linux-loongarch64-gnu" "4.40.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.40.0" - "@rollup/rollup-linux-riscv64-gnu" "4.40.0" - "@rollup/rollup-linux-riscv64-musl" "4.40.0" - "@rollup/rollup-linux-s390x-gnu" "4.40.0" - "@rollup/rollup-linux-x64-gnu" "4.40.0" - "@rollup/rollup-linux-x64-musl" "4.40.0" - "@rollup/rollup-win32-arm64-msvc" "4.40.0" - "@rollup/rollup-win32-ia32-msvc" "4.40.0" - "@rollup/rollup-win32-x64-msvc" "4.40.0" - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.4.0: - version "7.8.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" - integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== - dependencies: - tslib "^2.1.0" - -sass-embedded-android-arm64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.86.3.tgz#daa4658a383e4834a511fd00321841b5da71fd7d" - integrity sha512-q+XwFp6WgAv+UgnQhsB8KQ95kppvWAB7DSoJp+8Vino8b9ND+1ai3cUUZPE5u4SnLZrgo5NtrbPvN5KLc4Pfyg== - -sass-embedded-android-arm@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.86.3.tgz#adf63d572e972aaba07b6dc3a006828ed745b4d1" - integrity sha512-UyeXrFzZSvrGbvrWUBcspbsbivGgAgebLGJdSqJulgSyGbA6no3DWQ5Qpdd6+OAUC39BlpPu74Wx9s4RrVuaFw== - -sass-embedded-android-ia32@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.86.3.tgz#daca4191cf0e4625e79e6765ced132106ff2641e" - integrity sha512-gTJjVh2cRzvGujXj5ApPk/owUTL5SiO7rDtNLrzYAzi1N5HRuLYXqk3h1IQY3+eCOBjGl7mQ9XyySbJs/3hDvg== - -sass-embedded-android-riscv64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.86.3.tgz#b62bc4ca759c3d3bff545bd1eaa85e462392bfd4" - integrity sha512-Po3JnyiCS16kd6REo1IMUbFGYtvL9O0rmKaXx5vOuBaJD1LPy2LiSSp7TU7wkJ9IxsTDGzFaSeP1I9qb6D8VVg== - -sass-embedded-android-x64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.86.3.tgz#5440c91eae7db2b281e414f27e331d7556dac0d4" - integrity sha512-+7h3jdDv/0kUFx0BvxYlq2fa7CcHiDPlta6k5OxO5K6jyqJwo9hc0Z052BoYEauWTqZ+vK6bB5rv2BIzq4U9nA== - -sass-embedded-darwin-arm64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.86.3.tgz#a538082a6fa59f15b1b0ecaba192e3a40ffa979d" - integrity sha512-EgLwV4ORm5Hr0DmIXo0Xw/vlzwLnfAiqD2jDXIglkBsc5czJmo4/IBdGXOP65TRnsgJEqvbU3aQhuawX5++x9A== - -sass-embedded-darwin-x64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.86.3.tgz#ea9a7c694ede309b3daf95262dda0681e9de973c" - integrity sha512-dfKhfrGPRNLWLC82vy/vQGmNKmAiKWpdFuWiePRtg/E95pqw+sCu6080Y6oQLfFu37Iq3MpnXiSpDuSo7UnPWA== - -sass-embedded-linux-arm64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.86.3.tgz#0472365e17f57086f5006056d19e597a1b147fec" - integrity sha512-tYq5rywR53Qtc+0KI6pPipOvW7a47ETY69VxfqI9BR2RKw2hBbaz0bIw6OaOgEBv2/XNwcWb7a4sr7TqgkqKAA== - -sass-embedded-linux-arm@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.86.3.tgz#fcc85a2ad5bf335197a16c33992fe4c9c59807ed" - integrity sha512-+fVCIH+OR0SMHn2NEhb/VfbpHuUxcPtqMS34OCV3Ka99LYZUJZqth4M3lT/ppGl52mwIVLNYzR4iLe6mdZ6mYA== - -sass-embedded-linux-ia32@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.86.3.tgz#80ccbf951c1a9a816ce460595208686f13d078f0" - integrity sha512-CmQ5OkqnaeLdaF+bMqlYGooBuenqm3LvEN9H8BLhjkpWiFW8hnYMetiqMcJjhrXLvDw601KGqA5sr/Rsg5s45g== - -sass-embedded-linux-musl-arm64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.86.3.tgz#664d7178017b2b47983fcf7bcdad03d90ec9109a" - integrity sha512-4zOr2C/eW89rxb4ozTfn7lBzyyM5ZigA1ZSRTcAR26Qbg/t2UksLdGnVX9/yxga0d6aOi0IvO/7iM2DPPRRotg== - -sass-embedded-linux-musl-arm@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.86.3.tgz#d3eace3ac4804541372ed61ce9aee384e3f22945" - integrity sha512-SEm65SQknI4pl+mH5Xf231hOkHJyrlgh5nj4qDbiBG6gFeutaNkNIeRgKEg3cflXchCr8iV/q/SyPgjhhzQb7w== - -sass-embedded-linux-musl-ia32@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.86.3.tgz#755eb08baa6da277bcd8b642710c7ffa16930586" - integrity sha512-84Tcld32LB1loiqUvczWyVBQRCChm0wNLlkT59qF29nxh8njFIVf9yaPgXcSyyjpPoD9Tu0wnq3dvVzoMCh9AQ== - -sass-embedded-linux-musl-riscv64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.86.3.tgz#d6e9b0c45b23be340999cc384eda04ae9fe34043" - integrity sha512-IxEqoiD7vdNpiOwccybbV93NljBy64wSTkUOknGy21SyV43C8uqESOwTwW9ywa3KufImKm8L3uQAW/B0KhJMWg== - -sass-embedded-linux-musl-x64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.86.3.tgz#88d6e6dcf1d9ac76c7e9949e2613310918a02617" - integrity sha512-ePeTPXUxPK6JgHcUfnrkIyDtyt+zlAvF22mVZv6y1g/PZFm1lSfX+Za7TYHg9KaYqaaXDiw6zICX4i44HhR8rA== - -sass-embedded-linux-riscv64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.86.3.tgz#624725ba3322f49b2401df6abb912e55879da526" - integrity sha512-NuXQ72dwfNLe35E+RaXJ4Noq4EkFwM65eWwCwxEWyJO9qxOx1EXiCAJii6x8kkOh5daWuMU0VAI1B9RsJaqqQQ== - -sass-embedded-linux-x64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.86.3.tgz#ac61d48784f794c0ee752a25d7105b1cb3c3a979" - integrity sha512-t8be9zJ5B82+og9bQmIQ83yMGYZMTMrlGA+uGWtYacmwg6w3093dk91Fx0YzNSZBp3Tk60qVYjCZnEIwy60x0g== - -sass-embedded-win32-arm64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.86.3.tgz#d71186bfbf16e2051ae145ea53f4cdc0f1db231d" - integrity sha512-4ghuAzjX4q8Nksm0aifRz8hgXMMxS0SuymrFfkfJlrSx68pIgvAge6AOw0edoZoe0Tf5ZbsWUWamhkNyNxkTvw== - -sass-embedded-win32-ia32@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.86.3.tgz#5e85820c515fce300d770950d776e0c68d72001e" - integrity sha512-tCaK4zIRq9mLRPxLzBAdYlfCuS/xLNpmjunYxeWkIwlJo+k53h1udyXH/FInnQ2GgEz0xMXyvH3buuPgzwWYsw== - -sass-embedded-win32-x64@1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.86.3.tgz#4bfd3e6969823487ee9497923a033f2456ce9f65" - integrity sha512-zS+YNKfTF4SnOfpC77VTb0qNZyTXrxnAezSoRV0xnw6HlY+1WawMSSB6PbWtmbvyfXNgpmJUttoTtsvJjRCucg== - -sass-embedded@^1.86.3: - version "1.86.3" - resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.86.3.tgz#33358bfc13108c5b59b9904fb55ed56773b73037" - integrity sha512-3pZSp24ibO1hdopj+W9DuiWsZOb2YY6AFRo/jjutKLBkqJGM1nJjXzhAYfzRV+Xn5BX1eTI4bBTE09P0XNHOZg== - dependencies: - "@bufbuild/protobuf" "^2.0.0" - buffer-builder "^0.2.0" - colorjs.io "^0.5.0" - immutable "^5.0.2" - rxjs "^7.4.0" - supports-color "^8.1.1" - sync-child-process "^1.0.2" - varint "^6.0.0" - optionalDependencies: - sass-embedded-android-arm "1.86.3" - sass-embedded-android-arm64 "1.86.3" - sass-embedded-android-ia32 "1.86.3" - sass-embedded-android-riscv64 "1.86.3" - sass-embedded-android-x64 "1.86.3" - sass-embedded-darwin-arm64 "1.86.3" - sass-embedded-darwin-x64 "1.86.3" - sass-embedded-linux-arm "1.86.3" - sass-embedded-linux-arm64 "1.86.3" - sass-embedded-linux-ia32 "1.86.3" - sass-embedded-linux-musl-arm "1.86.3" - sass-embedded-linux-musl-arm64 "1.86.3" - sass-embedded-linux-musl-ia32 "1.86.3" - sass-embedded-linux-musl-riscv64 "1.86.3" - sass-embedded-linux-musl-x64 "1.86.3" - sass-embedded-linux-riscv64 "1.86.3" - sass-embedded-linux-x64 "1.86.3" - sass-embedded-win32-arm64 "1.86.3" - sass-embedded-win32-ia32 "1.86.3" - sass-embedded-win32-x64 "1.86.3" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -source-map-js@^1.2.0, source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -sync-child-process@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/sync-child-process/-/sync-child-process-1.0.2.tgz#45e7c72e756d1243e80b547ea2e17957ab9e367f" - integrity sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA== - dependencies: - sync-message-port "^1.0.0" - -sync-message-port@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sync-message-port/-/sync-message-port-1.1.3.tgz#6055c565ee8c81d2f9ee5aae7db757e6d9088c0c" - integrity sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg== - -tinyglobby@^0.2.12, tinyglobby@^0.2.13: - version "0.2.13" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.13.tgz#a0e46515ce6cbcd65331537e57484af5a7b2ff7e" - integrity sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw== - dependencies: - fdir "^6.4.4" - picomatch "^4.0.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tslib@^2.1.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -ufo@^1.5.4: - version "1.6.1" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" - integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== - -unplugin-fonts@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/unplugin-fonts/-/unplugin-fonts-1.3.1.tgz#84f2e446976d47d6d5bf9bed4bfa71d9adb1809e" - integrity sha512-GmaJWPAWH6lBI4fP8xKdbMZJwTgsnr8PGJOfQE52jlod8QkqSO4M529Nox2L8zYapjB5hox2wCu4N3c/LOal/A== - dependencies: - fast-glob "^3.3.2" - unplugin "2.0.0-beta.1" - -unplugin-utils@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz#56e4029a6906645a10644f8befc404b06d5d24d0" - integrity sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA== - dependencies: - pathe "^2.0.2" - picomatch "^4.0.2" - -unplugin-vue-components@^28.4.1: - version "28.5.0" - resolved "https://registry.yarnpkg.com/unplugin-vue-components/-/unplugin-vue-components-28.5.0.tgz#33585a24c98939d1abe56bd69217bc7187ba329f" - integrity sha512-o7fMKU/uI8NiP+E0W62zoduuguWqB0obTfHFtbr1AP2uo2lhUPnPttWUE92yesdiYfo9/0hxIrj38FMc1eaySg== - dependencies: - chokidar "^3.6.0" - debug "^4.4.0" - local-pkg "^1.1.1" - magic-string "^0.30.17" - mlly "^1.7.4" - tinyglobby "^0.2.12" - unplugin "^2.3.2" - unplugin-utils "^0.2.4" - -unplugin@2.0.0-beta.1: - version "2.0.0-beta.1" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-2.0.0-beta.1.tgz#3f8c9ecfae03fc9e22d9821ba68d52aa46a13aeb" - integrity sha512-2qzQo5LN2DmUZXkWDHvGKLF5BP0WN+KthD6aPnPJ8plRBIjv4lh5O07eYcSxgO2znNw9s4MNhEO1sB+JDllDbQ== - dependencies: - acorn "^8.14.0" - webpack-virtual-modules "^0.6.2" - -unplugin@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-2.3.2.tgz#36c93a1662b70c97a2e2fc45c0e78fa09f7a4984" - integrity sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w== - dependencies: - acorn "^8.14.1" - picomatch "^4.0.2" - webpack-virtual-modules "^0.6.2" - -upath@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" - integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== - -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - -vite-plugin-vuetify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/vite-plugin-vuetify/-/vite-plugin-vuetify-2.1.1.tgz#31c958f0c64c436a3165462b81196a7c2ae3a2ff" - integrity sha512-Pb7bKhQH8qPMzURmEGq2aIqCJkruFNsyf1NcrrtnjsOIkqJPMcBbiP0oJoO8/uAmyB5W/1JTbbUEsyXdMM0QHQ== - dependencies: - "@vuetify/loader-shared" "^2.1.0" - debug "^4.3.3" - upath "^2.0.1" - -vite@^6.3.4: - version "6.3.4" - resolved "https://registry.yarnpkg.com/vite/-/vite-6.3.4.tgz#d441a72c7cd9a93b719bb851250a4e6c119c9cff" - integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw== - dependencies: - esbuild "^0.25.0" - fdir "^6.4.4" - picomatch "^4.0.2" - postcss "^8.5.3" - rollup "^4.34.9" - tinyglobby "^0.2.13" - optionalDependencies: - fsevents "~2.3.3" - -vue-router@4: - version "4.5.0" - resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz#58fc5fe374e10b6018f910328f756c3dae081f14" - integrity sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w== - dependencies: - "@vue/devtools-api" "^6.6.4" - -vue@^3.5.13: - version "3.5.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.13.tgz#9f760a1a982b09c0c04a867903fc339c9f29ec0a" - integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-sfc" "3.5.13" - "@vue/runtime-dom" "3.5.13" - "@vue/server-renderer" "3.5.13" - "@vue/shared" "3.5.13" - -vuetify@^3.8.1: - version "3.8.2" - resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.8.2.tgz#59799811a6e97154ee238981b2926b166ff14ae2" - integrity sha512-UJNFP4egmKJTQ3V3MKOq+7vIUKO7/Fko5G6yUsOW2Rm0VNBvAjgO6VY6EnK3DTqEKN6ugVXDEPw37NQSTGLZvw== - -webpack-virtual-modules@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" - integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2"