├── .eslintignore ├── .eslintrc ├── .github └── img │ └── demo.png ├── .gitignore ├── README.md ├── README.zh-CN.md ├── env.d.ts ├── index.html ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── public └── favicon.ico ├── src ├── App.vue ├── assets │ ├── fonts │ │ └── Monaco.ttf │ └── images │ │ └── bg-macos.jpg ├── components │ ├── FolderTree │ │ ├── FolderTree.vue │ │ └── RootTree.vue │ ├── TermBody │ │ ├── TermBody.vue │ │ └── TermCommand │ │ │ ├── BaseCommand.vue │ │ │ ├── HistoryCommand.vue │ │ │ └── InputCommand.vue │ ├── TermHeader.vue │ ├── TermMessage.vue │ └── common │ │ ├── TermHelp.vue │ │ └── TermWelcome.vue ├── hooks │ ├── useAddEventListener.ts │ ├── useFullScreen.ts │ └── useGlobalFocus.ts ├── main.ts ├── store │ ├── commands │ │ ├── cat.ts │ │ ├── cd.ts │ │ ├── clear.ts │ │ ├── echo.ts │ │ ├── help.ts │ │ ├── ls.ts │ │ ├── mkdir.ts │ │ ├── open.ts │ │ ├── pwd.ts │ │ ├── rm.ts │ │ ├── touch.ts │ │ ├── tree.ts │ │ └── welcome.ts │ └── useDirectoryStore.ts ├── styles │ └── index.css ├── utils │ └── provide-inject_keys.ts └── views │ ├── TermApp.vue │ └── TermContainer.vue ├── tailwind.config.js ├── tsconfig.config.json ├── tsconfig.json └── vite.config.ts /.eslintignore: -------------------------------------------------------------------------------- 1 | *.md 2 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@antfu", 3 | "rules": { 4 | "no-unused-vars": "off", 5 | "@typescript-eslint/no-unused-vars": ["error"], 6 | "@typescript-eslint/comma-dangle": ["error", "never"], 7 | "@typescript-eslint/brace-style": "off", 8 | "antfu/if-newline": "off", 9 | "curly": "off" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /.github/img/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hacker-C/vue3-terminal/22f24c186a9885d5f609e9d33dcf4ad1298b762f/.github/img/demo.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE 81 | .idea 82 | .vscode 83 | .eslintrc-auto-import.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | English | 中文 3 |

4 | 5 | # Vue3-Terminal 6 | 7 | ## About 8 | 9 | Hi! Here is a mini terminal built with Vue3 + TS + Pinia + TailwindCSS! 10 | 11 | Onlie: https://term.mphy.me 12 | 13 | ![demo](./.github/img/demo.png) 14 | 15 | It has some basic commands below(with the most basic usage): 16 | 17 | - `tree` - show the file and folder tree 18 | - `echo [message]` - print message 19 | - `echo [message] > [filename]` - write file 20 | - `echo [message] >> [filename]` - append context to file 21 | - `cat [filename]` - read file 22 | - `cd [dirname]` - change directory 23 | - `cd ..` - goto last directory 24 | - `ls` - list files in current directory 25 | - `pwd` - print current directory 26 | - `clear` - clear screen 27 | - `mkdir [dirname]` - create directory 28 | - `touch [filename]` - create file 29 | - `welcome` - welcome message 30 | - `help` - help message 31 | - `open [url]` - open url in new tab' 32 | - `google [keywords]` - search keywords in google 33 | - `baidu [keywords]` - search keywords in baidu 34 | - `github` - the source code of this project 35 | 36 | More commands will be added... 37 | 38 | ## Future plan 39 | 40 | - `rm` - remove file 41 | - `rd` - remove directory 42 | - `j` - jump to a directory 43 | - `mv` - move file 44 | - `mkdir` - limit name of directory(`/`) 45 | - `tree` - optimize the display of file tree 46 | - Make a visual desktop file system(?) 47 | 48 | ## Framework and library 49 | 50 | - Vue3 + TypeScript + Vite 51 | - Pinia 52 | - TailwindCSS 53 | 54 | ## Develop 55 | 56 | ```bash 57 | # Install 58 | pnpm install 59 | # Run 60 | pnpm dev 61 | # Build 62 | pnpm build 63 | ``` 64 | 65 | ## Descriptiton 66 | 67 | The data structure of the terminal system is a *N-ary tree* which simulates the diractory structure of real machine. But there is a slight difference between them, I design a pointer called previous point to its parent node. 68 | 69 | > **Note** 70 | > More about n-ary-tree: [N-ary Tree Data Structure](https://www.studytonight.com/advanced-data-structures/nary-tree) 71 | 72 | ```ts 73 | interface Directory { 74 | id: number // id 75 | name: string // current directory name 76 | files: File[] // all files below current directory 77 | directories: Directory[] // all diractories, alos a pointer which points to its children nodes 78 | previous: Directory | null // a pointer which points to its parent node 79 | } 80 | ``` 81 | 82 | This is the file data structure: 83 | ```ts 84 | interface File { 85 | name: string // file name 86 | value: string // file content 87 | } 88 | ``` -------------------------------------------------------------------------------- /README.zh-CN.md: -------------------------------------------------------------------------------- 1 |

2 | English | 中文 3 |

4 | 5 | # Vue3-Terminal 6 | 7 | ## 关于本项目 8 | 9 | Vue3-Terminal 是一个基于 Vue3 的迷你终端,和其他类似的前端模拟终端不同,Vue3-Term 基于 *N叉树*,实现了一些基本的 cd、mkdir、pwd、touch、clear 等命令。 10 | 11 | 在线访问: https://term.mphy.me 12 | 13 | ![demo](./.github/img/demo.png) 14 | 15 | 一些已经实现的具有最基本功能的命令: 16 | 17 | - `tree` - 将文件和文件夹以树结构展示 18 | - `echo [message]` - 打印信息 19 | - `echo [message] > [filename]` - 文件写入 20 | - `echo [message] >> [filename]` - 文件内容追加 21 | - `cat [filename]` - 文件读取 22 | - `cd [dirname]` - 改变当前目录 23 | - `cd ..` - 返回上一级目录 24 | - `ls` - 列出当前目录下的文件和目录(文件显示白色,文件夹显示绿色) 25 | - `pwd` - 打印当前目录 26 | - `clear` - 清屏 27 | - `mkdir [dirname]` - 创建目录 28 | - `touch [filename]` - 创建文件 29 | - `welcome` - 欢迎信息 30 | - `help` - 帮助信息 31 | - `google [keywords]` - 在 Google 搜索关键词 32 | - `baidu [keywords]` - 在百度搜索关键词 33 | - `github` - 打开项目源码地址 34 | 35 | 36 | ## 未来计划 37 | 38 | - `rm` - remove file 39 | - `rd` - remove directory 40 | - `j` - jump to a directory 41 | - `mv` - move file 42 | - `mkdir` - limit name of directory(`/`) 43 | - `tree` - optimize the display of file tree 44 | - Make a visual desktop file system(?) 45 | 46 | ## 技术栈 47 | 48 | - Vue3 + TypeScript + Vite 49 | - Pinia 50 | - TailwindCSS 51 | 52 | ## 开发 53 | 54 | ```bash 55 | # Install 56 | pnpm install 57 | # Run 58 | pnpm dev 59 | # Build 60 | pnpm build 61 | ``` 62 | 63 | ## 原理 64 | 65 | 这个终端系统的数据结构是一个 *N叉树(N-ary Tree)*,它模拟了真机的目录结构,以便实现新建文件和目录等功能。但是有一点不同,我设计了一个指针属性 `previous`,指向它的父节点,以便实现 `cd ..` 命令。 66 | 67 | > **Note** 68 | > 更多关于 N 叉树的知识: [N-ary Tree Data Structure](https://www.studytonight.com/advanced-data-structures/nary-tree) 69 | 70 | 目录类型的结构: 71 | ```ts 72 | interface Directory { 73 | id: number // id 74 | name: string // 当前目录名称 75 | files: File[] // 当前目录下的文件列表 76 | directories: Directory[] // 当前目录下的子目录列表,同时也是指向子目录的指针 77 | previous: Directory | null // 指向父目录的指针 78 | } 79 | ``` 80 | 81 | 文件类型的结构: 82 | ```ts 83 | interface File { 84 | name: string // file name 85 | value: string // file content 86 | } 87 | ``` -------------------------------------------------------------------------------- /env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue Terminal 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue3-terminal", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "run-p type-check build-only", 7 | "preview": "vite preview --port 4173", 8 | "build-only": "vite build", 9 | "type-check": "vue-tsc --noEmit", 10 | "lint": "eslint .", 11 | "lint:fix": "eslint . --fix" 12 | }, 13 | "dependencies": { 14 | "pinia": "^2.3.1", 15 | "vue": "^3.5.13" 16 | }, 17 | "devDependencies": { 18 | "@antfu/eslint-config": "^0.37.0", 19 | "@iconify/vue": "^3.2.1", 20 | "@rushstack/eslint-patch": "^1.11.0", 21 | "@types/node": "^16.18.126", 22 | "@vitejs/plugin-vue": "^3.2.0", 23 | "@vue/tsconfig": "^0.1.3", 24 | "add": "^2.0.6", 25 | "autoprefixer": "^10.4.21", 26 | "eslint": "^8.57.1", 27 | "npm-run-all": "^4.1.5", 28 | "pnpm": "^7.33.7", 29 | "postcss": "^8.5.3", 30 | "tailwindcss": "^3.4.17", 31 | "typescript": "~4.7.4", 32 | "vite": "^3.2.11", 33 | "vue-tsc": "^0.38.9" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | pinia: 12 | specifier: ^2.3.1 13 | version: 2.3.1(typescript@4.7.4)(vue@3.5.13(typescript@4.7.4)) 14 | vue: 15 | specifier: ^3.5.13 16 | version: 3.5.13(typescript@4.7.4) 17 | devDependencies: 18 | '@antfu/eslint-config': 19 | specifier: ^0.37.0 20 | version: 0.37.0(eslint@8.57.1)(typescript@4.7.4) 21 | '@iconify/vue': 22 | specifier: ^3.2.1 23 | version: 3.2.1(vue@3.5.13(typescript@4.7.4)) 24 | '@rushstack/eslint-patch': 25 | specifier: ^1.11.0 26 | version: 1.11.0 27 | '@types/node': 28 | specifier: ^16.18.126 29 | version: 16.18.126 30 | '@vitejs/plugin-vue': 31 | specifier: ^3.2.0 32 | version: 3.2.0(vite@3.2.11(@types/node@16.18.126))(vue@3.5.13(typescript@4.7.4)) 33 | '@vue/tsconfig': 34 | specifier: ^0.1.3 35 | version: 0.1.3(@types/node@16.18.126) 36 | add: 37 | specifier: ^2.0.6 38 | version: 2.0.6 39 | autoprefixer: 40 | specifier: ^10.4.21 41 | version: 10.4.21(postcss@8.5.3) 42 | eslint: 43 | specifier: ^8.57.1 44 | version: 8.57.1 45 | npm-run-all: 46 | specifier: ^4.1.5 47 | version: 4.1.5 48 | pnpm: 49 | specifier: ^7.33.7 50 | version: 7.33.7 51 | postcss: 52 | specifier: ^8.5.3 53 | version: 8.5.3 54 | tailwindcss: 55 | specifier: ^3.4.17 56 | version: 3.4.17 57 | typescript: 58 | specifier: ~4.7.4 59 | version: 4.7.4 60 | vite: 61 | specifier: ^3.2.11 62 | version: 3.2.11(@types/node@16.18.126) 63 | vue-tsc: 64 | specifier: ^0.38.9 65 | version: 0.38.9(typescript@4.7.4) 66 | 67 | packages: 68 | 69 | '@alloc/quick-lru@5.2.0': 70 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 71 | engines: {node: '>=10'} 72 | 73 | '@antfu/eslint-config-basic@0.37.0': 74 | resolution: {integrity: sha512-iBj6qjAOQr+WMhK38lfR2/xdIY81qUk4i6tHhwmcxXi4GEf2HF6I4Cgeu9SyIlTxOw8AP1CVqdUNzUbmYSaMZg==} 75 | deprecated: Deprecated, please migrate to @antfu/eslint-config with the flat config 76 | peerDependencies: 77 | eslint: '>=7.4.0' 78 | 79 | '@antfu/eslint-config-ts@0.37.0': 80 | resolution: {integrity: sha512-+ZS0UE7qa6EzFe0JgCSqdi/IRGQlUj/kOjvwsHCXVK1A02ZW2p0fEKzCpNAz1NJK9nkqhyvNHX+gNOTQsPMbeQ==} 81 | deprecated: Deprecated, please migrate to @antfu/eslint-config with the flat config 82 | peerDependencies: 83 | eslint: '>=7.4.0' 84 | typescript: '>=3.9' 85 | 86 | '@antfu/eslint-config-vue@0.37.0': 87 | resolution: {integrity: sha512-d7n4+7f6YMizE1HDEOtIBJGruFuIeqrNF+ZjHM8o6+isMrJkvdjVx6nHtHVtoWNYW6jiRJ5AW+nkfo2aoNGUyA==} 88 | deprecated: Deprecated, please migrate to @antfu/eslint-config with the flat config 89 | peerDependencies: 90 | eslint: '>=7.4.0' 91 | 92 | '@antfu/eslint-config@0.37.0': 93 | resolution: {integrity: sha512-Kq12dCBSYNV/wuoX35ijs8aNjdF9FiSp3GbiGh2Y8sPtM6NbJc5LA3ixWz0PcA/byHf1VPVisDZcPqISjic/zA==} 94 | peerDependencies: 95 | eslint: '>=7.4.0' 96 | 97 | '@babel/code-frame@7.26.2': 98 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 99 | engines: {node: '>=6.9.0'} 100 | 101 | '@babel/helper-string-parser@7.25.9': 102 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 103 | engines: {node: '>=6.9.0'} 104 | 105 | '@babel/helper-validator-identifier@7.25.9': 106 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 107 | engines: {node: '>=6.9.0'} 108 | 109 | '@babel/parser@7.27.0': 110 | resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} 111 | engines: {node: '>=6.0.0'} 112 | hasBin: true 113 | 114 | '@babel/types@7.27.0': 115 | resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} 116 | engines: {node: '>=6.9.0'} 117 | 118 | '@esbuild/android-arm@0.15.18': 119 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 120 | engines: {node: '>=12'} 121 | cpu: [arm] 122 | os: [android] 123 | 124 | '@esbuild/linux-loong64@0.15.18': 125 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 126 | engines: {node: '>=12'} 127 | cpu: [loong64] 128 | os: [linux] 129 | 130 | '@eslint-community/eslint-utils@4.5.1': 131 | resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==} 132 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 133 | peerDependencies: 134 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 135 | 136 | '@eslint-community/regexpp@4.12.1': 137 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 138 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 139 | 140 | '@eslint/eslintrc@2.1.4': 141 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 142 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 143 | 144 | '@eslint/js@8.57.1': 145 | resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} 146 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 147 | 148 | '@humanwhocodes/config-array@0.13.0': 149 | resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} 150 | engines: {node: '>=10.10.0'} 151 | deprecated: Use @eslint/config-array instead 152 | 153 | '@humanwhocodes/module-importer@1.0.1': 154 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 155 | engines: {node: '>=12.22'} 156 | 157 | '@humanwhocodes/object-schema@2.0.3': 158 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} 159 | deprecated: Use @eslint/object-schema instead 160 | 161 | '@iconify/vue@3.2.1': 162 | resolution: {integrity: sha512-c4R6ZgFo1JrJ8aPMMgOPgfU7lBswihMGR+yWe/P4ZukC3kTkeT4+lkt9Pc/itVFMkwva/S/7u9YofmYv57fnNQ==} 163 | peerDependencies: 164 | vue: 3.x 165 | 166 | '@isaacs/cliui@8.0.2': 167 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 168 | engines: {node: '>=12'} 169 | 170 | '@jridgewell/gen-mapping@0.3.8': 171 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 172 | engines: {node: '>=6.0.0'} 173 | 174 | '@jridgewell/resolve-uri@3.1.2': 175 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 176 | engines: {node: '>=6.0.0'} 177 | 178 | '@jridgewell/set-array@1.2.1': 179 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 180 | engines: {node: '>=6.0.0'} 181 | 182 | '@jridgewell/sourcemap-codec@1.5.0': 183 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 184 | 185 | '@jridgewell/trace-mapping@0.3.25': 186 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 187 | 188 | '@nodelib/fs.scandir@2.1.5': 189 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 190 | engines: {node: '>= 8'} 191 | 192 | '@nodelib/fs.stat@2.0.5': 193 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 194 | engines: {node: '>= 8'} 195 | 196 | '@nodelib/fs.walk@1.2.8': 197 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 198 | engines: {node: '>= 8'} 199 | 200 | '@pkgjs/parseargs@0.11.0': 201 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 202 | engines: {node: '>=14'} 203 | 204 | '@pkgr/core@0.2.1': 205 | resolution: {integrity: sha512-VzgHzGblFmUeBmmrk55zPyrQIArQN4vujc9shWytaPdB3P7qhi0cpaiKIr7tlCmFv2lYUwnLospIqjL9ZSAhhg==} 206 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 207 | 208 | '@rtsao/scc@1.1.0': 209 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 210 | 211 | '@rushstack/eslint-patch@1.11.0': 212 | resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==} 213 | 214 | '@types/json-schema@7.0.15': 215 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 216 | 217 | '@types/json5@0.0.29': 218 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 219 | 220 | '@types/mdast@3.0.15': 221 | resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} 222 | 223 | '@types/node@16.18.126': 224 | resolution: {integrity: sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==} 225 | 226 | '@types/normalize-package-data@2.4.4': 227 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 228 | 229 | '@types/semver@7.7.0': 230 | resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} 231 | 232 | '@types/unist@2.0.11': 233 | resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} 234 | 235 | '@typescript-eslint/eslint-plugin@5.62.0': 236 | resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} 237 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 238 | peerDependencies: 239 | '@typescript-eslint/parser': ^5.0.0 240 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 241 | typescript: '*' 242 | peerDependenciesMeta: 243 | typescript: 244 | optional: true 245 | 246 | '@typescript-eslint/parser@5.62.0': 247 | resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} 248 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 249 | peerDependencies: 250 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 251 | typescript: '*' 252 | peerDependenciesMeta: 253 | typescript: 254 | optional: true 255 | 256 | '@typescript-eslint/scope-manager@5.62.0': 257 | resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} 258 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 259 | 260 | '@typescript-eslint/type-utils@5.62.0': 261 | resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} 262 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 263 | peerDependencies: 264 | eslint: '*' 265 | typescript: '*' 266 | peerDependenciesMeta: 267 | typescript: 268 | optional: true 269 | 270 | '@typescript-eslint/types@5.62.0': 271 | resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} 272 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 273 | 274 | '@typescript-eslint/typescript-estree@5.62.0': 275 | resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} 276 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 277 | peerDependencies: 278 | typescript: '*' 279 | peerDependenciesMeta: 280 | typescript: 281 | optional: true 282 | 283 | '@typescript-eslint/utils@5.62.0': 284 | resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} 285 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 286 | peerDependencies: 287 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 288 | 289 | '@typescript-eslint/visitor-keys@5.62.0': 290 | resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} 291 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 292 | 293 | '@ungap/structured-clone@1.3.0': 294 | resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} 295 | 296 | '@vitejs/plugin-vue@3.2.0': 297 | resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} 298 | engines: {node: ^14.18.0 || >=16.0.0} 299 | peerDependencies: 300 | vite: ^3.0.0 301 | vue: ^3.2.25 302 | 303 | '@volar/code-gen@0.38.9': 304 | resolution: {integrity: sha512-n6LClucfA+37rQeskvh9vDoZV1VvCVNy++MAPKj2dT4FT+Fbmty/SDQqnsEBtdEe6E3OQctFvA/IcKsx3Mns0A==} 305 | 306 | '@volar/source-map@0.38.9': 307 | resolution: {integrity: sha512-ba0UFoHDYry+vwKdgkWJ6xlQT+8TFtZg1zj9tSjj4PykW1JZDuM0xplMotLun4h3YOoYfY9K1huY5gvxmrNLIw==} 308 | 309 | '@volar/vue-code-gen@0.38.9': 310 | resolution: {integrity: sha512-tzj7AoarFBKl7e41MR006ncrEmNPHALuk8aG4WdDIaG387X5//5KhWC5Ff3ZfB2InGSeNT+CVUd74M0gS20rjA==} 311 | deprecated: 'WARNING: This project has been renamed to @vue/language-core. Install using @vue/language-core instead.' 312 | 313 | '@volar/vue-typescript@0.38.9': 314 | resolution: {integrity: sha512-iJMQGU91ADi98u8V1vXd2UBmELDAaeSP0ZJaFjwosClQdKlJQYc6MlxxKfXBZisHqfbhdtrGRyaryulnYtliZw==} 315 | deprecated: 'WARNING: This project has been renamed to @vue/typescript. Install using @vue/typescript instead.' 316 | 317 | '@vue/compiler-core@3.5.13': 318 | resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} 319 | 320 | '@vue/compiler-dom@3.5.13': 321 | resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} 322 | 323 | '@vue/compiler-sfc@3.5.13': 324 | resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} 325 | 326 | '@vue/compiler-ssr@3.5.13': 327 | resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} 328 | 329 | '@vue/devtools-api@6.6.4': 330 | resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} 331 | 332 | '@vue/reactivity@3.5.13': 333 | resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} 334 | 335 | '@vue/runtime-core@3.5.13': 336 | resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} 337 | 338 | '@vue/runtime-dom@3.5.13': 339 | resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} 340 | 341 | '@vue/server-renderer@3.5.13': 342 | resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} 343 | peerDependencies: 344 | vue: 3.5.13 345 | 346 | '@vue/shared@3.5.13': 347 | resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} 348 | 349 | '@vue/tsconfig@0.1.3': 350 | resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} 351 | peerDependencies: 352 | '@types/node': '*' 353 | peerDependenciesMeta: 354 | '@types/node': 355 | optional: true 356 | 357 | acorn-jsx@5.3.2: 358 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 359 | peerDependencies: 360 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 361 | 362 | acorn@8.14.1: 363 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 364 | engines: {node: '>=0.4.0'} 365 | hasBin: true 366 | 367 | add@2.0.6: 368 | resolution: {integrity: sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q==} 369 | 370 | ajv@6.12.6: 371 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 372 | 373 | ansi-regex@5.0.1: 374 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 375 | engines: {node: '>=8'} 376 | 377 | ansi-regex@6.1.0: 378 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 379 | engines: {node: '>=12'} 380 | 381 | ansi-styles@3.2.1: 382 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 383 | engines: {node: '>=4'} 384 | 385 | ansi-styles@4.3.0: 386 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 387 | engines: {node: '>=8'} 388 | 389 | ansi-styles@6.2.1: 390 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 391 | engines: {node: '>=12'} 392 | 393 | any-promise@1.3.0: 394 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 395 | 396 | anymatch@3.1.3: 397 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 398 | engines: {node: '>= 8'} 399 | 400 | arg@5.0.2: 401 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 402 | 403 | argparse@2.0.1: 404 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 405 | 406 | array-buffer-byte-length@1.0.2: 407 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 408 | engines: {node: '>= 0.4'} 409 | 410 | array-includes@3.1.8: 411 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 412 | engines: {node: '>= 0.4'} 413 | 414 | array-union@2.1.0: 415 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 416 | engines: {node: '>=8'} 417 | 418 | array.prototype.findlastindex@1.2.6: 419 | resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} 420 | engines: {node: '>= 0.4'} 421 | 422 | array.prototype.flat@1.3.3: 423 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 424 | engines: {node: '>= 0.4'} 425 | 426 | array.prototype.flatmap@1.3.3: 427 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} 428 | engines: {node: '>= 0.4'} 429 | 430 | arraybuffer.prototype.slice@1.0.4: 431 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 432 | engines: {node: '>= 0.4'} 433 | 434 | async-function@1.0.0: 435 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 436 | engines: {node: '>= 0.4'} 437 | 438 | autoprefixer@10.4.21: 439 | resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} 440 | engines: {node: ^10 || ^12 || >=14} 441 | hasBin: true 442 | peerDependencies: 443 | postcss: ^8.1.0 444 | 445 | available-typed-arrays@1.0.7: 446 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 447 | engines: {node: '>= 0.4'} 448 | 449 | balanced-match@1.0.2: 450 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 451 | 452 | binary-extensions@2.3.0: 453 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 454 | engines: {node: '>=8'} 455 | 456 | boolbase@1.0.0: 457 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 458 | 459 | brace-expansion@1.1.11: 460 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 461 | 462 | brace-expansion@2.0.1: 463 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 464 | 465 | braces@3.0.3: 466 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 467 | engines: {node: '>=8'} 468 | 469 | browserslist@4.24.4: 470 | resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} 471 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 472 | hasBin: true 473 | 474 | builtin-modules@3.3.0: 475 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 476 | engines: {node: '>=6'} 477 | 478 | builtins@5.1.0: 479 | resolution: {integrity: sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==} 480 | 481 | call-bind-apply-helpers@1.0.2: 482 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 483 | engines: {node: '>= 0.4'} 484 | 485 | call-bind@1.0.8: 486 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 487 | engines: {node: '>= 0.4'} 488 | 489 | call-bound@1.0.4: 490 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 491 | engines: {node: '>= 0.4'} 492 | 493 | callsites@3.1.0: 494 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 495 | engines: {node: '>=6'} 496 | 497 | camelcase-css@2.0.1: 498 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 499 | engines: {node: '>= 6'} 500 | 501 | caniuse-lite@1.0.30001712: 502 | resolution: {integrity: sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==} 503 | 504 | chalk@2.4.2: 505 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 506 | engines: {node: '>=4'} 507 | 508 | chalk@4.1.2: 509 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 510 | engines: {node: '>=10'} 511 | 512 | character-entities-legacy@1.1.4: 513 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} 514 | 515 | character-entities@1.2.4: 516 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} 517 | 518 | character-reference-invalid@1.1.4: 519 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} 520 | 521 | chokidar@3.6.0: 522 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 523 | engines: {node: '>= 8.10.0'} 524 | 525 | ci-info@3.9.0: 526 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} 527 | engines: {node: '>=8'} 528 | 529 | clean-regexp@1.0.0: 530 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 531 | engines: {node: '>=4'} 532 | 533 | color-convert@1.9.3: 534 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 535 | 536 | color-convert@2.0.1: 537 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 538 | engines: {node: '>=7.0.0'} 539 | 540 | color-name@1.1.3: 541 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 542 | 543 | color-name@1.1.4: 544 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 545 | 546 | commander@4.1.1: 547 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 548 | engines: {node: '>= 6'} 549 | 550 | concat-map@0.0.1: 551 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 552 | 553 | cross-spawn@6.0.6: 554 | resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} 555 | engines: {node: '>=4.8'} 556 | 557 | cross-spawn@7.0.6: 558 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 559 | engines: {node: '>= 8'} 560 | 561 | cssesc@3.0.0: 562 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 563 | engines: {node: '>=4'} 564 | hasBin: true 565 | 566 | csstype@3.1.3: 567 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 568 | 569 | data-view-buffer@1.0.2: 570 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 571 | engines: {node: '>= 0.4'} 572 | 573 | data-view-byte-length@1.0.2: 574 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 575 | engines: {node: '>= 0.4'} 576 | 577 | data-view-byte-offset@1.0.1: 578 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 579 | engines: {node: '>= 0.4'} 580 | 581 | debug@3.2.7: 582 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 583 | peerDependencies: 584 | supports-color: '*' 585 | peerDependenciesMeta: 586 | supports-color: 587 | optional: true 588 | 589 | debug@4.4.0: 590 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 591 | engines: {node: '>=6.0'} 592 | peerDependencies: 593 | supports-color: '*' 594 | peerDependenciesMeta: 595 | supports-color: 596 | optional: true 597 | 598 | deep-is@0.1.4: 599 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 600 | 601 | define-data-property@1.1.4: 602 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 603 | engines: {node: '>= 0.4'} 604 | 605 | define-properties@1.2.1: 606 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 607 | engines: {node: '>= 0.4'} 608 | 609 | didyoumean@1.2.2: 610 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 611 | 612 | dir-glob@3.0.1: 613 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 614 | engines: {node: '>=8'} 615 | 616 | dlv@1.1.3: 617 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 618 | 619 | doctrine@2.1.0: 620 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 621 | engines: {node: '>=0.10.0'} 622 | 623 | doctrine@3.0.0: 624 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 625 | engines: {node: '>=6.0.0'} 626 | 627 | dom-serializer@2.0.0: 628 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 629 | 630 | domelementtype@2.3.0: 631 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 632 | 633 | domhandler@5.0.3: 634 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 635 | engines: {node: '>= 4'} 636 | 637 | domutils@3.2.2: 638 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 639 | 640 | dunder-proto@1.0.1: 641 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 642 | engines: {node: '>= 0.4'} 643 | 644 | eastasianwidth@0.2.0: 645 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 646 | 647 | electron-to-chromium@1.5.134: 648 | resolution: {integrity: sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==} 649 | 650 | emoji-regex@8.0.0: 651 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 652 | 653 | emoji-regex@9.2.2: 654 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 655 | 656 | entities@4.5.0: 657 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 658 | engines: {node: '>=0.12'} 659 | 660 | error-ex@1.3.2: 661 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 662 | 663 | es-abstract@1.23.9: 664 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} 665 | engines: {node: '>= 0.4'} 666 | 667 | es-define-property@1.0.1: 668 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 669 | engines: {node: '>= 0.4'} 670 | 671 | es-errors@1.3.0: 672 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 673 | engines: {node: '>= 0.4'} 674 | 675 | es-object-atoms@1.1.1: 676 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 677 | engines: {node: '>= 0.4'} 678 | 679 | es-set-tostringtag@2.1.0: 680 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 681 | engines: {node: '>= 0.4'} 682 | 683 | es-shim-unscopables@1.1.0: 684 | resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} 685 | engines: {node: '>= 0.4'} 686 | 687 | es-to-primitive@1.3.0: 688 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 689 | engines: {node: '>= 0.4'} 690 | 691 | esbuild-android-64@0.15.18: 692 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 693 | engines: {node: '>=12'} 694 | cpu: [x64] 695 | os: [android] 696 | 697 | esbuild-android-arm64@0.15.18: 698 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 699 | engines: {node: '>=12'} 700 | cpu: [arm64] 701 | os: [android] 702 | 703 | esbuild-darwin-64@0.15.18: 704 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 705 | engines: {node: '>=12'} 706 | cpu: [x64] 707 | os: [darwin] 708 | 709 | esbuild-darwin-arm64@0.15.18: 710 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 711 | engines: {node: '>=12'} 712 | cpu: [arm64] 713 | os: [darwin] 714 | 715 | esbuild-freebsd-64@0.15.18: 716 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 717 | engines: {node: '>=12'} 718 | cpu: [x64] 719 | os: [freebsd] 720 | 721 | esbuild-freebsd-arm64@0.15.18: 722 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 723 | engines: {node: '>=12'} 724 | cpu: [arm64] 725 | os: [freebsd] 726 | 727 | esbuild-linux-32@0.15.18: 728 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 729 | engines: {node: '>=12'} 730 | cpu: [ia32] 731 | os: [linux] 732 | 733 | esbuild-linux-64@0.15.18: 734 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 735 | engines: {node: '>=12'} 736 | cpu: [x64] 737 | os: [linux] 738 | 739 | esbuild-linux-arm64@0.15.18: 740 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 741 | engines: {node: '>=12'} 742 | cpu: [arm64] 743 | os: [linux] 744 | 745 | esbuild-linux-arm@0.15.18: 746 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 747 | engines: {node: '>=12'} 748 | cpu: [arm] 749 | os: [linux] 750 | 751 | esbuild-linux-mips64le@0.15.18: 752 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 753 | engines: {node: '>=12'} 754 | cpu: [mips64el] 755 | os: [linux] 756 | 757 | esbuild-linux-ppc64le@0.15.18: 758 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 759 | engines: {node: '>=12'} 760 | cpu: [ppc64] 761 | os: [linux] 762 | 763 | esbuild-linux-riscv64@0.15.18: 764 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 765 | engines: {node: '>=12'} 766 | cpu: [riscv64] 767 | os: [linux] 768 | 769 | esbuild-linux-s390x@0.15.18: 770 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 771 | engines: {node: '>=12'} 772 | cpu: [s390x] 773 | os: [linux] 774 | 775 | esbuild-netbsd-64@0.15.18: 776 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 777 | engines: {node: '>=12'} 778 | cpu: [x64] 779 | os: [netbsd] 780 | 781 | esbuild-openbsd-64@0.15.18: 782 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 783 | engines: {node: '>=12'} 784 | cpu: [x64] 785 | os: [openbsd] 786 | 787 | esbuild-sunos-64@0.15.18: 788 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 789 | engines: {node: '>=12'} 790 | cpu: [x64] 791 | os: [sunos] 792 | 793 | esbuild-windows-32@0.15.18: 794 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 795 | engines: {node: '>=12'} 796 | cpu: [ia32] 797 | os: [win32] 798 | 799 | esbuild-windows-64@0.15.18: 800 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 801 | engines: {node: '>=12'} 802 | cpu: [x64] 803 | os: [win32] 804 | 805 | esbuild-windows-arm64@0.15.18: 806 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 807 | engines: {node: '>=12'} 808 | cpu: [arm64] 809 | os: [win32] 810 | 811 | esbuild@0.15.18: 812 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 813 | engines: {node: '>=12'} 814 | hasBin: true 815 | 816 | escalade@3.2.0: 817 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 818 | engines: {node: '>=6'} 819 | 820 | escape-string-regexp@1.0.5: 821 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 822 | engines: {node: '>=0.8.0'} 823 | 824 | escape-string-regexp@4.0.0: 825 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 826 | engines: {node: '>=10'} 827 | 828 | eslint-compat-utils@0.6.5: 829 | resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} 830 | engines: {node: '>=12'} 831 | peerDependencies: 832 | eslint: '>=6.0.0' 833 | 834 | eslint-import-resolver-node@0.3.9: 835 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 836 | 837 | eslint-json-compat-utils@0.2.1: 838 | resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} 839 | engines: {node: '>=12'} 840 | peerDependencies: 841 | '@eslint/json': '*' 842 | eslint: '*' 843 | jsonc-eslint-parser: ^2.4.0 844 | peerDependenciesMeta: 845 | '@eslint/json': 846 | optional: true 847 | 848 | eslint-module-utils@2.12.0: 849 | resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} 850 | engines: {node: '>=4'} 851 | peerDependencies: 852 | '@typescript-eslint/parser': '*' 853 | eslint: '*' 854 | eslint-import-resolver-node: '*' 855 | eslint-import-resolver-typescript: '*' 856 | eslint-import-resolver-webpack: '*' 857 | peerDependenciesMeta: 858 | '@typescript-eslint/parser': 859 | optional: true 860 | eslint: 861 | optional: true 862 | eslint-import-resolver-node: 863 | optional: true 864 | eslint-import-resolver-typescript: 865 | optional: true 866 | eslint-import-resolver-webpack: 867 | optional: true 868 | 869 | eslint-plugin-antfu@0.37.0: 870 | resolution: {integrity: sha512-Tekr9S4fkrmH88RS5XHvs3gQwQIn/2As8gYePzrPHTQEQF00pIx0sa1eQrhmvN50ubUG4WkZnpx/uR3073jLeg==} 871 | 872 | eslint-plugin-es@4.1.0: 873 | resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} 874 | engines: {node: '>=8.10.0'} 875 | peerDependencies: 876 | eslint: '>=4.19.1' 877 | 878 | eslint-plugin-eslint-comments@3.2.0: 879 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 880 | engines: {node: '>=6.5.0'} 881 | peerDependencies: 882 | eslint: '>=4.19.1' 883 | 884 | eslint-plugin-html@7.1.0: 885 | resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} 886 | 887 | eslint-plugin-import@2.31.0: 888 | resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} 889 | engines: {node: '>=4'} 890 | peerDependencies: 891 | '@typescript-eslint/parser': '*' 892 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 893 | peerDependenciesMeta: 894 | '@typescript-eslint/parser': 895 | optional: true 896 | 897 | eslint-plugin-jest@27.9.0: 898 | resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} 899 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 900 | peerDependencies: 901 | '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 902 | eslint: ^7.0.0 || ^8.0.0 903 | jest: '*' 904 | peerDependenciesMeta: 905 | '@typescript-eslint/eslint-plugin': 906 | optional: true 907 | jest: 908 | optional: true 909 | 910 | eslint-plugin-jsonc@2.20.0: 911 | resolution: {integrity: sha512-FRgCn9Hzk5eKboCbVMrr9QrhM0eO4G+WKH8IFXoaeqhM/2kuWzbStJn4kkr0VWL8J5H8RYZF+Aoam1vlBaZVkw==} 912 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 913 | peerDependencies: 914 | eslint: '>=6.0.0' 915 | 916 | eslint-plugin-markdown@3.0.1: 917 | resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} 918 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 919 | peerDependencies: 920 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 921 | 922 | eslint-plugin-n@15.7.0: 923 | resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} 924 | engines: {node: '>=12.22.0'} 925 | peerDependencies: 926 | eslint: '>=7.0.0' 927 | 928 | eslint-plugin-no-only-tests@3.3.0: 929 | resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} 930 | engines: {node: '>=5.0.0'} 931 | 932 | eslint-plugin-promise@6.6.0: 933 | resolution: {integrity: sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==} 934 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 935 | peerDependencies: 936 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 937 | 938 | eslint-plugin-unicorn@46.0.1: 939 | resolution: {integrity: sha512-setGhMTiLAddg1asdwjZ3hekIN5zLznNa5zll7pBPwFOka6greCKDQydfqy4fqyUhndi74wpDzClSQMEcmOaew==} 940 | engines: {node: '>=14.18'} 941 | peerDependencies: 942 | eslint: '>=8.28.0' 943 | 944 | eslint-plugin-unused-imports@2.0.0: 945 | resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} 946 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 947 | peerDependencies: 948 | '@typescript-eslint/eslint-plugin': ^5.0.0 949 | eslint: ^8.0.0 950 | peerDependenciesMeta: 951 | '@typescript-eslint/eslint-plugin': 952 | optional: true 953 | 954 | eslint-plugin-vue@9.33.0: 955 | resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==} 956 | engines: {node: ^14.17.0 || >=16.0.0} 957 | peerDependencies: 958 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 959 | 960 | eslint-plugin-yml@1.17.0: 961 | resolution: {integrity: sha512-Q3LXFRnNpGYAK/PM0BY1Xs0IY1xTLfM0kC986nNQkx1l8tOGz+YS50N6wXkAJkrBpeUN9OxEMB7QJ+9MTDAqIQ==} 962 | engines: {node: ^14.17.0 || >=16.0.0} 963 | peerDependencies: 964 | eslint: '>=6.0.0' 965 | 966 | eslint-rule-composer@0.3.0: 967 | resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} 968 | engines: {node: '>=4.0.0'} 969 | 970 | eslint-scope@5.1.1: 971 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 972 | engines: {node: '>=8.0.0'} 973 | 974 | eslint-scope@7.2.2: 975 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 976 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 977 | 978 | eslint-utils@2.1.0: 979 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 980 | engines: {node: '>=6'} 981 | 982 | eslint-utils@3.0.0: 983 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 984 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 985 | peerDependencies: 986 | eslint: '>=5' 987 | 988 | eslint-visitor-keys@1.3.0: 989 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 990 | engines: {node: '>=4'} 991 | 992 | eslint-visitor-keys@2.1.0: 993 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 994 | engines: {node: '>=10'} 995 | 996 | eslint-visitor-keys@3.4.3: 997 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 998 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 999 | 1000 | eslint-visitor-keys@4.2.0: 1001 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1002 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1003 | 1004 | eslint@8.57.1: 1005 | resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} 1006 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1007 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. 1008 | hasBin: true 1009 | 1010 | espree@10.3.0: 1011 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1012 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1013 | 1014 | espree@9.6.1: 1015 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1016 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1017 | 1018 | esquery@1.6.0: 1019 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1020 | engines: {node: '>=0.10'} 1021 | 1022 | esrecurse@4.3.0: 1023 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1024 | engines: {node: '>=4.0'} 1025 | 1026 | estraverse@4.3.0: 1027 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1028 | engines: {node: '>=4.0'} 1029 | 1030 | estraverse@5.3.0: 1031 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1032 | engines: {node: '>=4.0'} 1033 | 1034 | estree-walker@2.0.2: 1035 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1036 | 1037 | esutils@2.0.3: 1038 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1039 | engines: {node: '>=0.10.0'} 1040 | 1041 | fast-deep-equal@3.1.3: 1042 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1043 | 1044 | fast-glob@3.3.3: 1045 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1046 | engines: {node: '>=8.6.0'} 1047 | 1048 | fast-json-stable-stringify@2.1.0: 1049 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1050 | 1051 | fast-levenshtein@2.0.6: 1052 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1053 | 1054 | fastq@1.19.1: 1055 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1056 | 1057 | file-entry-cache@6.0.1: 1058 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1059 | engines: {node: ^10.12.0 || >=12.0.0} 1060 | 1061 | fill-range@7.1.1: 1062 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1063 | engines: {node: '>=8'} 1064 | 1065 | find-up@4.1.0: 1066 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1067 | engines: {node: '>=8'} 1068 | 1069 | find-up@5.0.0: 1070 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1071 | engines: {node: '>=10'} 1072 | 1073 | flat-cache@3.2.0: 1074 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} 1075 | engines: {node: ^10.12.0 || >=12.0.0} 1076 | 1077 | flatted@3.3.3: 1078 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1079 | 1080 | for-each@0.3.5: 1081 | resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 1082 | engines: {node: '>= 0.4'} 1083 | 1084 | foreground-child@3.3.1: 1085 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1086 | engines: {node: '>=14'} 1087 | 1088 | fraction.js@4.3.7: 1089 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1090 | 1091 | fs.realpath@1.0.0: 1092 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1093 | 1094 | fsevents@2.3.3: 1095 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1096 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1097 | os: [darwin] 1098 | 1099 | function-bind@1.1.2: 1100 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1101 | 1102 | function.prototype.name@1.1.8: 1103 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 1104 | engines: {node: '>= 0.4'} 1105 | 1106 | functions-have-names@1.2.3: 1107 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1108 | 1109 | get-intrinsic@1.3.0: 1110 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1111 | engines: {node: '>= 0.4'} 1112 | 1113 | get-proto@1.0.1: 1114 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1115 | engines: {node: '>= 0.4'} 1116 | 1117 | get-symbol-description@1.1.0: 1118 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 1119 | engines: {node: '>= 0.4'} 1120 | 1121 | glob-parent@5.1.2: 1122 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1123 | engines: {node: '>= 6'} 1124 | 1125 | glob-parent@6.0.2: 1126 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1127 | engines: {node: '>=10.13.0'} 1128 | 1129 | glob@10.4.5: 1130 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1131 | hasBin: true 1132 | 1133 | glob@7.2.3: 1134 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1135 | deprecated: Glob versions prior to v9 are no longer supported 1136 | 1137 | globals@13.24.0: 1138 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1139 | engines: {node: '>=8'} 1140 | 1141 | globalthis@1.0.4: 1142 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 1143 | engines: {node: '>= 0.4'} 1144 | 1145 | globby@11.1.0: 1146 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1147 | engines: {node: '>=10'} 1148 | 1149 | gopd@1.2.0: 1150 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1151 | engines: {node: '>= 0.4'} 1152 | 1153 | graceful-fs@4.2.11: 1154 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1155 | 1156 | graphemer@1.4.0: 1157 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1158 | 1159 | has-bigints@1.1.0: 1160 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 1161 | engines: {node: '>= 0.4'} 1162 | 1163 | has-flag@3.0.0: 1164 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1165 | engines: {node: '>=4'} 1166 | 1167 | has-flag@4.0.0: 1168 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1169 | engines: {node: '>=8'} 1170 | 1171 | has-property-descriptors@1.0.2: 1172 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1173 | 1174 | has-proto@1.2.0: 1175 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 1176 | engines: {node: '>= 0.4'} 1177 | 1178 | has-symbols@1.1.0: 1179 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1180 | engines: {node: '>= 0.4'} 1181 | 1182 | has-tostringtag@1.0.2: 1183 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1184 | engines: {node: '>= 0.4'} 1185 | 1186 | hasown@2.0.2: 1187 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1188 | engines: {node: '>= 0.4'} 1189 | 1190 | hosted-git-info@2.8.9: 1191 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1192 | 1193 | htmlparser2@8.0.2: 1194 | resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} 1195 | 1196 | ignore@5.3.2: 1197 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1198 | engines: {node: '>= 4'} 1199 | 1200 | import-fresh@3.3.1: 1201 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1202 | engines: {node: '>=6'} 1203 | 1204 | imurmurhash@0.1.4: 1205 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1206 | engines: {node: '>=0.8.19'} 1207 | 1208 | indent-string@4.0.0: 1209 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1210 | engines: {node: '>=8'} 1211 | 1212 | inflight@1.0.6: 1213 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1214 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1215 | 1216 | inherits@2.0.4: 1217 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1218 | 1219 | internal-slot@1.1.0: 1220 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 1221 | engines: {node: '>= 0.4'} 1222 | 1223 | is-alphabetical@1.0.4: 1224 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} 1225 | 1226 | is-alphanumerical@1.0.4: 1227 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} 1228 | 1229 | is-array-buffer@3.0.5: 1230 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 1231 | engines: {node: '>= 0.4'} 1232 | 1233 | is-arrayish@0.2.1: 1234 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1235 | 1236 | is-async-function@2.1.1: 1237 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 1238 | engines: {node: '>= 0.4'} 1239 | 1240 | is-bigint@1.1.0: 1241 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 1242 | engines: {node: '>= 0.4'} 1243 | 1244 | is-binary-path@2.1.0: 1245 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1246 | engines: {node: '>=8'} 1247 | 1248 | is-boolean-object@1.2.2: 1249 | resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 1250 | engines: {node: '>= 0.4'} 1251 | 1252 | is-builtin-module@3.2.1: 1253 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1254 | engines: {node: '>=6'} 1255 | 1256 | is-callable@1.2.7: 1257 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1258 | engines: {node: '>= 0.4'} 1259 | 1260 | is-core-module@2.16.1: 1261 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1262 | engines: {node: '>= 0.4'} 1263 | 1264 | is-data-view@1.0.2: 1265 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 1266 | engines: {node: '>= 0.4'} 1267 | 1268 | is-date-object@1.1.0: 1269 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 1270 | engines: {node: '>= 0.4'} 1271 | 1272 | is-decimal@1.0.4: 1273 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} 1274 | 1275 | is-extglob@2.1.1: 1276 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1277 | engines: {node: '>=0.10.0'} 1278 | 1279 | is-finalizationregistry@1.1.1: 1280 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 1281 | engines: {node: '>= 0.4'} 1282 | 1283 | is-fullwidth-code-point@3.0.0: 1284 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1285 | engines: {node: '>=8'} 1286 | 1287 | is-generator-function@1.1.0: 1288 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 1289 | engines: {node: '>= 0.4'} 1290 | 1291 | is-glob@4.0.3: 1292 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1293 | engines: {node: '>=0.10.0'} 1294 | 1295 | is-hexadecimal@1.0.4: 1296 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} 1297 | 1298 | is-map@2.0.3: 1299 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 1300 | engines: {node: '>= 0.4'} 1301 | 1302 | is-number-object@1.1.1: 1303 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 1304 | engines: {node: '>= 0.4'} 1305 | 1306 | is-number@7.0.0: 1307 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1308 | engines: {node: '>=0.12.0'} 1309 | 1310 | is-path-inside@3.0.3: 1311 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1312 | engines: {node: '>=8'} 1313 | 1314 | is-regex@1.2.1: 1315 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1316 | engines: {node: '>= 0.4'} 1317 | 1318 | is-set@2.0.3: 1319 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 1320 | engines: {node: '>= 0.4'} 1321 | 1322 | is-shared-array-buffer@1.0.4: 1323 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 1324 | engines: {node: '>= 0.4'} 1325 | 1326 | is-string@1.1.1: 1327 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 1328 | engines: {node: '>= 0.4'} 1329 | 1330 | is-symbol@1.1.1: 1331 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1332 | engines: {node: '>= 0.4'} 1333 | 1334 | is-typed-array@1.1.15: 1335 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 1336 | engines: {node: '>= 0.4'} 1337 | 1338 | is-weakmap@2.0.2: 1339 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 1340 | engines: {node: '>= 0.4'} 1341 | 1342 | is-weakref@1.1.1: 1343 | resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 1344 | engines: {node: '>= 0.4'} 1345 | 1346 | is-weakset@2.0.4: 1347 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 1348 | engines: {node: '>= 0.4'} 1349 | 1350 | isarray@2.0.5: 1351 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1352 | 1353 | isexe@2.0.0: 1354 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1355 | 1356 | jackspeak@3.4.3: 1357 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1358 | 1359 | jiti@1.21.7: 1360 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 1361 | hasBin: true 1362 | 1363 | js-tokens@4.0.0: 1364 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1365 | 1366 | js-yaml@4.1.0: 1367 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1368 | hasBin: true 1369 | 1370 | jsesc@0.5.0: 1371 | resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} 1372 | hasBin: true 1373 | 1374 | jsesc@3.1.0: 1375 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 1376 | engines: {node: '>=6'} 1377 | hasBin: true 1378 | 1379 | json-buffer@3.0.1: 1380 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1381 | 1382 | json-parse-better-errors@1.0.2: 1383 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1384 | 1385 | json-parse-even-better-errors@2.3.1: 1386 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1387 | 1388 | json-schema-traverse@0.4.1: 1389 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1390 | 1391 | json-stable-stringify-without-jsonify@1.0.1: 1392 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1393 | 1394 | json5@1.0.2: 1395 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1396 | hasBin: true 1397 | 1398 | jsonc-eslint-parser@2.4.0: 1399 | resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} 1400 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1401 | 1402 | keyv@4.5.4: 1403 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1404 | 1405 | levn@0.4.1: 1406 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1407 | engines: {node: '>= 0.8.0'} 1408 | 1409 | lilconfig@3.1.3: 1410 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1411 | engines: {node: '>=14'} 1412 | 1413 | lines-and-columns@1.2.4: 1414 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1415 | 1416 | load-json-file@4.0.0: 1417 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1418 | engines: {node: '>=4'} 1419 | 1420 | local-pkg@0.4.3: 1421 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1422 | engines: {node: '>=14'} 1423 | 1424 | locate-path@5.0.0: 1425 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1426 | engines: {node: '>=8'} 1427 | 1428 | locate-path@6.0.0: 1429 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1430 | engines: {node: '>=10'} 1431 | 1432 | lodash.merge@4.6.2: 1433 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1434 | 1435 | lodash@4.17.21: 1436 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1437 | 1438 | lru-cache@10.4.3: 1439 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1440 | 1441 | magic-string@0.30.17: 1442 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1443 | 1444 | math-intrinsics@1.1.0: 1445 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1446 | engines: {node: '>= 0.4'} 1447 | 1448 | mdast-util-from-markdown@0.8.5: 1449 | resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} 1450 | 1451 | mdast-util-to-string@2.0.0: 1452 | resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} 1453 | 1454 | memorystream@0.3.1: 1455 | resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1456 | engines: {node: '>= 0.10.0'} 1457 | 1458 | merge2@1.4.1: 1459 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1460 | engines: {node: '>= 8'} 1461 | 1462 | micromark@2.11.4: 1463 | resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} 1464 | 1465 | micromatch@4.0.8: 1466 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1467 | engines: {node: '>=8.6'} 1468 | 1469 | min-indent@1.0.1: 1470 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1471 | engines: {node: '>=4'} 1472 | 1473 | minimatch@3.1.2: 1474 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1475 | 1476 | minimatch@9.0.5: 1477 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1478 | engines: {node: '>=16 || 14 >=14.17'} 1479 | 1480 | minimist@1.2.8: 1481 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1482 | 1483 | minipass@7.1.2: 1484 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1485 | engines: {node: '>=16 || 14 >=14.17'} 1486 | 1487 | ms@2.1.3: 1488 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1489 | 1490 | mz@2.7.0: 1491 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1492 | 1493 | nanoid@3.3.11: 1494 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1495 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1496 | hasBin: true 1497 | 1498 | natural-compare-lite@1.4.0: 1499 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 1500 | 1501 | natural-compare@1.4.0: 1502 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1503 | 1504 | nice-try@1.0.5: 1505 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1506 | 1507 | node-releases@2.0.19: 1508 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 1509 | 1510 | normalize-package-data@2.5.0: 1511 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1512 | 1513 | normalize-path@3.0.0: 1514 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1515 | engines: {node: '>=0.10.0'} 1516 | 1517 | normalize-range@0.1.2: 1518 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1519 | engines: {node: '>=0.10.0'} 1520 | 1521 | npm-run-all@4.1.5: 1522 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1523 | engines: {node: '>= 4'} 1524 | hasBin: true 1525 | 1526 | nth-check@2.1.1: 1527 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1528 | 1529 | object-assign@4.1.1: 1530 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1531 | engines: {node: '>=0.10.0'} 1532 | 1533 | object-hash@3.0.0: 1534 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1535 | engines: {node: '>= 6'} 1536 | 1537 | object-inspect@1.13.4: 1538 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1539 | engines: {node: '>= 0.4'} 1540 | 1541 | object-keys@1.1.1: 1542 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1543 | engines: {node: '>= 0.4'} 1544 | 1545 | object.assign@4.1.7: 1546 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 1547 | engines: {node: '>= 0.4'} 1548 | 1549 | object.fromentries@2.0.8: 1550 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 1551 | engines: {node: '>= 0.4'} 1552 | 1553 | object.groupby@1.0.3: 1554 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 1555 | engines: {node: '>= 0.4'} 1556 | 1557 | object.values@1.2.1: 1558 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} 1559 | engines: {node: '>= 0.4'} 1560 | 1561 | once@1.4.0: 1562 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1563 | 1564 | optionator@0.9.4: 1565 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1566 | engines: {node: '>= 0.8.0'} 1567 | 1568 | own-keys@1.0.1: 1569 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 1570 | engines: {node: '>= 0.4'} 1571 | 1572 | p-limit@2.3.0: 1573 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1574 | engines: {node: '>=6'} 1575 | 1576 | p-limit@3.1.0: 1577 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1578 | engines: {node: '>=10'} 1579 | 1580 | p-locate@4.1.0: 1581 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1582 | engines: {node: '>=8'} 1583 | 1584 | p-locate@5.0.0: 1585 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1586 | engines: {node: '>=10'} 1587 | 1588 | p-try@2.2.0: 1589 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1590 | engines: {node: '>=6'} 1591 | 1592 | package-json-from-dist@1.0.1: 1593 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1594 | 1595 | parent-module@1.0.1: 1596 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1597 | engines: {node: '>=6'} 1598 | 1599 | parse-entities@2.0.0: 1600 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} 1601 | 1602 | parse-json@4.0.0: 1603 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1604 | engines: {node: '>=4'} 1605 | 1606 | parse-json@5.2.0: 1607 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1608 | engines: {node: '>=8'} 1609 | 1610 | path-exists@4.0.0: 1611 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1612 | engines: {node: '>=8'} 1613 | 1614 | path-is-absolute@1.0.1: 1615 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1616 | engines: {node: '>=0.10.0'} 1617 | 1618 | path-key@2.0.1: 1619 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1620 | engines: {node: '>=4'} 1621 | 1622 | path-key@3.1.1: 1623 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1624 | engines: {node: '>=8'} 1625 | 1626 | path-parse@1.0.7: 1627 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1628 | 1629 | path-scurry@1.11.1: 1630 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1631 | engines: {node: '>=16 || 14 >=14.18'} 1632 | 1633 | path-type@3.0.0: 1634 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1635 | engines: {node: '>=4'} 1636 | 1637 | path-type@4.0.0: 1638 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1639 | engines: {node: '>=8'} 1640 | 1641 | picocolors@1.1.1: 1642 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1643 | 1644 | picomatch@2.3.1: 1645 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1646 | engines: {node: '>=8.6'} 1647 | 1648 | pidtree@0.3.1: 1649 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 1650 | engines: {node: '>=0.10'} 1651 | hasBin: true 1652 | 1653 | pify@2.3.0: 1654 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1655 | engines: {node: '>=0.10.0'} 1656 | 1657 | pify@3.0.0: 1658 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1659 | engines: {node: '>=4'} 1660 | 1661 | pinia@2.3.1: 1662 | resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==} 1663 | peerDependencies: 1664 | typescript: '>=4.4.4' 1665 | vue: ^2.7.0 || ^3.5.11 1666 | peerDependenciesMeta: 1667 | typescript: 1668 | optional: true 1669 | 1670 | pirates@4.0.7: 1671 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1672 | engines: {node: '>= 6'} 1673 | 1674 | pluralize@8.0.0: 1675 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1676 | engines: {node: '>=4'} 1677 | 1678 | pnpm@7.33.7: 1679 | resolution: {integrity: sha512-ev4kEGQrOcaY30baTOXHIxpczjYGmNafjPj0IlfUCz5D8jEFOwe43oSf1P+/SnH/V7g1E3d3o1I4jz09p0cgDg==} 1680 | engines: {node: '>=14.6'} 1681 | hasBin: true 1682 | 1683 | possible-typed-array-names@1.1.0: 1684 | resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 1685 | engines: {node: '>= 0.4'} 1686 | 1687 | postcss-import@15.1.0: 1688 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1689 | engines: {node: '>=14.0.0'} 1690 | peerDependencies: 1691 | postcss: ^8.0.0 1692 | 1693 | postcss-js@4.0.1: 1694 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1695 | engines: {node: ^12 || ^14 || >= 16} 1696 | peerDependencies: 1697 | postcss: ^8.4.21 1698 | 1699 | postcss-load-config@4.0.2: 1700 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1701 | engines: {node: '>= 14'} 1702 | peerDependencies: 1703 | postcss: '>=8.0.9' 1704 | ts-node: '>=9.0.0' 1705 | peerDependenciesMeta: 1706 | postcss: 1707 | optional: true 1708 | ts-node: 1709 | optional: true 1710 | 1711 | postcss-nested@6.2.0: 1712 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 1713 | engines: {node: '>=12.0'} 1714 | peerDependencies: 1715 | postcss: ^8.2.14 1716 | 1717 | postcss-selector-parser@6.1.2: 1718 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1719 | engines: {node: '>=4'} 1720 | 1721 | postcss-value-parser@4.2.0: 1722 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1723 | 1724 | postcss@8.5.3: 1725 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1726 | engines: {node: ^10 || ^12 || >=14} 1727 | 1728 | prelude-ls@1.2.1: 1729 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1730 | engines: {node: '>= 0.8.0'} 1731 | 1732 | punycode@2.3.1: 1733 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1734 | engines: {node: '>=6'} 1735 | 1736 | queue-microtask@1.2.3: 1737 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1738 | 1739 | read-cache@1.0.0: 1740 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1741 | 1742 | read-pkg-up@7.0.1: 1743 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 1744 | engines: {node: '>=8'} 1745 | 1746 | read-pkg@3.0.0: 1747 | resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 1748 | engines: {node: '>=4'} 1749 | 1750 | read-pkg@5.2.0: 1751 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 1752 | engines: {node: '>=8'} 1753 | 1754 | readdirp@3.6.0: 1755 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1756 | engines: {node: '>=8.10.0'} 1757 | 1758 | reflect.getprototypeof@1.0.10: 1759 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 1760 | engines: {node: '>= 0.4'} 1761 | 1762 | regexp-tree@0.1.27: 1763 | resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} 1764 | hasBin: true 1765 | 1766 | regexp.prototype.flags@1.5.4: 1767 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 1768 | engines: {node: '>= 0.4'} 1769 | 1770 | regexpp@3.2.0: 1771 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 1772 | engines: {node: '>=8'} 1773 | 1774 | regjsparser@0.9.1: 1775 | resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} 1776 | hasBin: true 1777 | 1778 | resolve-from@4.0.0: 1779 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1780 | engines: {node: '>=4'} 1781 | 1782 | resolve@1.22.10: 1783 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1784 | engines: {node: '>= 0.4'} 1785 | hasBin: true 1786 | 1787 | reusify@1.1.0: 1788 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1789 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1790 | 1791 | rimraf@3.0.2: 1792 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1793 | deprecated: Rimraf versions prior to v4 are no longer supported 1794 | hasBin: true 1795 | 1796 | rollup@2.79.2: 1797 | resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} 1798 | engines: {node: '>=10.0.0'} 1799 | hasBin: true 1800 | 1801 | run-parallel@1.2.0: 1802 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1803 | 1804 | safe-array-concat@1.1.3: 1805 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 1806 | engines: {node: '>=0.4'} 1807 | 1808 | safe-push-apply@1.0.0: 1809 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 1810 | engines: {node: '>= 0.4'} 1811 | 1812 | safe-regex-test@1.1.0: 1813 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1814 | engines: {node: '>= 0.4'} 1815 | 1816 | safe-regex@2.1.1: 1817 | resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} 1818 | 1819 | semver@5.7.2: 1820 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1821 | hasBin: true 1822 | 1823 | semver@6.3.1: 1824 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1825 | hasBin: true 1826 | 1827 | semver@7.7.1: 1828 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1829 | engines: {node: '>=10'} 1830 | hasBin: true 1831 | 1832 | set-function-length@1.2.2: 1833 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1834 | engines: {node: '>= 0.4'} 1835 | 1836 | set-function-name@2.0.2: 1837 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1838 | engines: {node: '>= 0.4'} 1839 | 1840 | set-proto@1.0.0: 1841 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 1842 | engines: {node: '>= 0.4'} 1843 | 1844 | shebang-command@1.2.0: 1845 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1846 | engines: {node: '>=0.10.0'} 1847 | 1848 | shebang-command@2.0.0: 1849 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1850 | engines: {node: '>=8'} 1851 | 1852 | shebang-regex@1.0.0: 1853 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1854 | engines: {node: '>=0.10.0'} 1855 | 1856 | shebang-regex@3.0.0: 1857 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1858 | engines: {node: '>=8'} 1859 | 1860 | shell-quote@1.8.2: 1861 | resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} 1862 | engines: {node: '>= 0.4'} 1863 | 1864 | side-channel-list@1.0.0: 1865 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1866 | engines: {node: '>= 0.4'} 1867 | 1868 | side-channel-map@1.0.1: 1869 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1870 | engines: {node: '>= 0.4'} 1871 | 1872 | side-channel-weakmap@1.0.2: 1873 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1874 | engines: {node: '>= 0.4'} 1875 | 1876 | side-channel@1.1.0: 1877 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1878 | engines: {node: '>= 0.4'} 1879 | 1880 | signal-exit@4.1.0: 1881 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1882 | engines: {node: '>=14'} 1883 | 1884 | slash@3.0.0: 1885 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1886 | engines: {node: '>=8'} 1887 | 1888 | source-map-js@1.2.1: 1889 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1890 | engines: {node: '>=0.10.0'} 1891 | 1892 | spdx-correct@3.2.0: 1893 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1894 | 1895 | spdx-exceptions@2.5.0: 1896 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 1897 | 1898 | spdx-expression-parse@3.0.1: 1899 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1900 | 1901 | spdx-license-ids@3.0.21: 1902 | resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} 1903 | 1904 | string-width@4.2.3: 1905 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1906 | engines: {node: '>=8'} 1907 | 1908 | string-width@5.1.2: 1909 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1910 | engines: {node: '>=12'} 1911 | 1912 | string.prototype.padend@3.1.6: 1913 | resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} 1914 | engines: {node: '>= 0.4'} 1915 | 1916 | string.prototype.trim@1.2.10: 1917 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 1918 | engines: {node: '>= 0.4'} 1919 | 1920 | string.prototype.trimend@1.0.9: 1921 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 1922 | engines: {node: '>= 0.4'} 1923 | 1924 | string.prototype.trimstart@1.0.8: 1925 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1926 | engines: {node: '>= 0.4'} 1927 | 1928 | strip-ansi@6.0.1: 1929 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1930 | engines: {node: '>=8'} 1931 | 1932 | strip-ansi@7.1.0: 1933 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1934 | engines: {node: '>=12'} 1935 | 1936 | strip-bom@3.0.0: 1937 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1938 | engines: {node: '>=4'} 1939 | 1940 | strip-indent@3.0.0: 1941 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1942 | engines: {node: '>=8'} 1943 | 1944 | strip-json-comments@3.1.1: 1945 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1946 | engines: {node: '>=8'} 1947 | 1948 | sucrase@3.35.0: 1949 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1950 | engines: {node: '>=16 || 14 >=14.17'} 1951 | hasBin: true 1952 | 1953 | supports-color@5.5.0: 1954 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1955 | engines: {node: '>=4'} 1956 | 1957 | supports-color@7.2.0: 1958 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1959 | engines: {node: '>=8'} 1960 | 1961 | supports-preserve-symlinks-flag@1.0.0: 1962 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1963 | engines: {node: '>= 0.4'} 1964 | 1965 | synckit@0.10.3: 1966 | resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==} 1967 | engines: {node: ^14.18.0 || >=16.0.0} 1968 | 1969 | tailwindcss@3.4.17: 1970 | resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} 1971 | engines: {node: '>=14.0.0'} 1972 | hasBin: true 1973 | 1974 | text-table@0.2.0: 1975 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1976 | 1977 | thenify-all@1.6.0: 1978 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1979 | engines: {node: '>=0.8'} 1980 | 1981 | thenify@3.3.1: 1982 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1983 | 1984 | to-regex-range@5.0.1: 1985 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1986 | engines: {node: '>=8.0'} 1987 | 1988 | ts-interface-checker@0.1.13: 1989 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1990 | 1991 | tsconfig-paths@3.15.0: 1992 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1993 | 1994 | tslib@1.14.1: 1995 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1996 | 1997 | tslib@2.8.1: 1998 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1999 | 2000 | tsutils@3.21.0: 2001 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2002 | engines: {node: '>= 6'} 2003 | peerDependencies: 2004 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2005 | 2006 | type-check@0.4.0: 2007 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2008 | engines: {node: '>= 0.8.0'} 2009 | 2010 | type-fest@0.20.2: 2011 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2012 | engines: {node: '>=10'} 2013 | 2014 | type-fest@0.6.0: 2015 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 2016 | engines: {node: '>=8'} 2017 | 2018 | type-fest@0.8.1: 2019 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 2020 | engines: {node: '>=8'} 2021 | 2022 | typed-array-buffer@1.0.3: 2023 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 2024 | engines: {node: '>= 0.4'} 2025 | 2026 | typed-array-byte-length@1.0.3: 2027 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 2028 | engines: {node: '>= 0.4'} 2029 | 2030 | typed-array-byte-offset@1.0.4: 2031 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 2032 | engines: {node: '>= 0.4'} 2033 | 2034 | typed-array-length@1.0.7: 2035 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 2036 | engines: {node: '>= 0.4'} 2037 | 2038 | typescript@4.7.4: 2039 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 2040 | engines: {node: '>=4.2.0'} 2041 | hasBin: true 2042 | 2043 | unbox-primitive@1.1.0: 2044 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 2045 | engines: {node: '>= 0.4'} 2046 | 2047 | unist-util-stringify-position@2.0.3: 2048 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} 2049 | 2050 | update-browserslist-db@1.1.3: 2051 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 2052 | hasBin: true 2053 | peerDependencies: 2054 | browserslist: '>= 4.21.0' 2055 | 2056 | uri-js@4.4.1: 2057 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2058 | 2059 | util-deprecate@1.0.2: 2060 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2061 | 2062 | validate-npm-package-license@3.0.4: 2063 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2064 | 2065 | vite@3.2.11: 2066 | resolution: {integrity: sha512-K/jGKL/PgbIgKCiJo5QbASQhFiV02X9Jh+Qq0AKCRCRKZtOTVi4t6wh75FDpGf2N9rYOnzH87OEFQNaFy6pdxQ==} 2067 | engines: {node: ^14.18.0 || >=16.0.0} 2068 | hasBin: true 2069 | peerDependencies: 2070 | '@types/node': '>= 14' 2071 | less: '*' 2072 | sass: '*' 2073 | stylus: '*' 2074 | sugarss: '*' 2075 | terser: ^5.4.0 2076 | peerDependenciesMeta: 2077 | '@types/node': 2078 | optional: true 2079 | less: 2080 | optional: true 2081 | sass: 2082 | optional: true 2083 | stylus: 2084 | optional: true 2085 | sugarss: 2086 | optional: true 2087 | terser: 2088 | optional: true 2089 | 2090 | vue-demi@0.14.10: 2091 | resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} 2092 | engines: {node: '>=12'} 2093 | hasBin: true 2094 | peerDependencies: 2095 | '@vue/composition-api': ^1.0.0-rc.1 2096 | vue: ^3.0.0-0 || ^2.6.0 2097 | peerDependenciesMeta: 2098 | '@vue/composition-api': 2099 | optional: true 2100 | 2101 | vue-eslint-parser@9.4.3: 2102 | resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} 2103 | engines: {node: ^14.17.0 || >=16.0.0} 2104 | peerDependencies: 2105 | eslint: '>=6.0.0' 2106 | 2107 | vue-tsc@0.38.9: 2108 | resolution: {integrity: sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ==} 2109 | hasBin: true 2110 | peerDependencies: 2111 | typescript: '*' 2112 | 2113 | vue@3.5.13: 2114 | resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} 2115 | peerDependencies: 2116 | typescript: '*' 2117 | peerDependenciesMeta: 2118 | typescript: 2119 | optional: true 2120 | 2121 | which-boxed-primitive@1.1.1: 2122 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 2123 | engines: {node: '>= 0.4'} 2124 | 2125 | which-builtin-type@1.2.1: 2126 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 2127 | engines: {node: '>= 0.4'} 2128 | 2129 | which-collection@1.0.2: 2130 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 2131 | engines: {node: '>= 0.4'} 2132 | 2133 | which-typed-array@1.1.19: 2134 | resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 2135 | engines: {node: '>= 0.4'} 2136 | 2137 | which@1.3.1: 2138 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2139 | hasBin: true 2140 | 2141 | which@2.0.2: 2142 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2143 | engines: {node: '>= 8'} 2144 | hasBin: true 2145 | 2146 | word-wrap@1.2.5: 2147 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2148 | engines: {node: '>=0.10.0'} 2149 | 2150 | wrap-ansi@7.0.0: 2151 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2152 | engines: {node: '>=10'} 2153 | 2154 | wrap-ansi@8.1.0: 2155 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2156 | engines: {node: '>=12'} 2157 | 2158 | wrappy@1.0.2: 2159 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2160 | 2161 | xml-name-validator@4.0.0: 2162 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 2163 | engines: {node: '>=12'} 2164 | 2165 | yaml-eslint-parser@1.3.0: 2166 | resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} 2167 | engines: {node: ^14.17.0 || >=16.0.0} 2168 | 2169 | yaml@2.7.1: 2170 | resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} 2171 | engines: {node: '>= 14'} 2172 | hasBin: true 2173 | 2174 | yocto-queue@0.1.0: 2175 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2176 | engines: {node: '>=10'} 2177 | 2178 | snapshots: 2179 | 2180 | '@alloc/quick-lru@5.2.0': {} 2181 | 2182 | '@antfu/eslint-config-basic@0.37.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4)': 2183 | dependencies: 2184 | eslint: 8.57.1 2185 | eslint-plugin-antfu: 0.37.0(eslint@8.57.1)(typescript@4.7.4) 2186 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) 2187 | eslint-plugin-html: 7.1.0 2188 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1) 2189 | eslint-plugin-jsonc: 2.20.0(eslint@8.57.1) 2190 | eslint-plugin-markdown: 3.0.1(eslint@8.57.1) 2191 | eslint-plugin-n: 15.7.0(eslint@8.57.1) 2192 | eslint-plugin-no-only-tests: 3.3.0 2193 | eslint-plugin-promise: 6.6.0(eslint@8.57.1) 2194 | eslint-plugin-unicorn: 46.0.1(eslint@8.57.1) 2195 | eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1) 2196 | eslint-plugin-yml: 1.17.0(eslint@8.57.1) 2197 | jsonc-eslint-parser: 2.4.0 2198 | yaml-eslint-parser: 1.3.0 2199 | transitivePeerDependencies: 2200 | - '@eslint/json' 2201 | - '@typescript-eslint/eslint-plugin' 2202 | - '@typescript-eslint/parser' 2203 | - eslint-import-resolver-typescript 2204 | - eslint-import-resolver-webpack 2205 | - supports-color 2206 | - typescript 2207 | 2208 | '@antfu/eslint-config-ts@0.37.0(eslint@8.57.1)(typescript@4.7.4)': 2209 | dependencies: 2210 | '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2211 | '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2212 | '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2213 | eslint: 8.57.1 2214 | eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2215 | typescript: 4.7.4 2216 | transitivePeerDependencies: 2217 | - '@eslint/json' 2218 | - eslint-import-resolver-typescript 2219 | - eslint-import-resolver-webpack 2220 | - jest 2221 | - supports-color 2222 | 2223 | '@antfu/eslint-config-vue@0.37.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4)': 2224 | dependencies: 2225 | '@antfu/eslint-config-basic': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2226 | '@antfu/eslint-config-ts': 0.37.0(eslint@8.57.1)(typescript@4.7.4) 2227 | eslint: 8.57.1 2228 | eslint-plugin-vue: 9.33.0(eslint@8.57.1) 2229 | local-pkg: 0.4.3 2230 | transitivePeerDependencies: 2231 | - '@eslint/json' 2232 | - '@typescript-eslint/eslint-plugin' 2233 | - '@typescript-eslint/parser' 2234 | - eslint-import-resolver-typescript 2235 | - eslint-import-resolver-webpack 2236 | - jest 2237 | - supports-color 2238 | - typescript 2239 | 2240 | '@antfu/eslint-config@0.37.0(eslint@8.57.1)(typescript@4.7.4)': 2241 | dependencies: 2242 | '@antfu/eslint-config-vue': 0.37.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2243 | '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 2244 | '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2245 | eslint: 8.57.1 2246 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) 2247 | eslint-plugin-html: 7.1.0 2248 | eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1) 2249 | eslint-plugin-jsonc: 2.20.0(eslint@8.57.1) 2250 | eslint-plugin-n: 15.7.0(eslint@8.57.1) 2251 | eslint-plugin-promise: 6.6.0(eslint@8.57.1) 2252 | eslint-plugin-unicorn: 46.0.1(eslint@8.57.1) 2253 | eslint-plugin-vue: 9.33.0(eslint@8.57.1) 2254 | eslint-plugin-yml: 1.17.0(eslint@8.57.1) 2255 | jsonc-eslint-parser: 2.4.0 2256 | yaml-eslint-parser: 1.3.0 2257 | transitivePeerDependencies: 2258 | - '@eslint/json' 2259 | - eslint-import-resolver-typescript 2260 | - eslint-import-resolver-webpack 2261 | - jest 2262 | - supports-color 2263 | - typescript 2264 | 2265 | '@babel/code-frame@7.26.2': 2266 | dependencies: 2267 | '@babel/helper-validator-identifier': 7.25.9 2268 | js-tokens: 4.0.0 2269 | picocolors: 1.1.1 2270 | 2271 | '@babel/helper-string-parser@7.25.9': {} 2272 | 2273 | '@babel/helper-validator-identifier@7.25.9': {} 2274 | 2275 | '@babel/parser@7.27.0': 2276 | dependencies: 2277 | '@babel/types': 7.27.0 2278 | 2279 | '@babel/types@7.27.0': 2280 | dependencies: 2281 | '@babel/helper-string-parser': 7.25.9 2282 | '@babel/helper-validator-identifier': 7.25.9 2283 | 2284 | '@esbuild/android-arm@0.15.18': 2285 | optional: true 2286 | 2287 | '@esbuild/linux-loong64@0.15.18': 2288 | optional: true 2289 | 2290 | '@eslint-community/eslint-utils@4.5.1(eslint@8.57.1)': 2291 | dependencies: 2292 | eslint: 8.57.1 2293 | eslint-visitor-keys: 3.4.3 2294 | 2295 | '@eslint-community/regexpp@4.12.1': {} 2296 | 2297 | '@eslint/eslintrc@2.1.4': 2298 | dependencies: 2299 | ajv: 6.12.6 2300 | debug: 4.4.0 2301 | espree: 9.6.1 2302 | globals: 13.24.0 2303 | ignore: 5.3.2 2304 | import-fresh: 3.3.1 2305 | js-yaml: 4.1.0 2306 | minimatch: 3.1.2 2307 | strip-json-comments: 3.1.1 2308 | transitivePeerDependencies: 2309 | - supports-color 2310 | 2311 | '@eslint/js@8.57.1': {} 2312 | 2313 | '@humanwhocodes/config-array@0.13.0': 2314 | dependencies: 2315 | '@humanwhocodes/object-schema': 2.0.3 2316 | debug: 4.4.0 2317 | minimatch: 3.1.2 2318 | transitivePeerDependencies: 2319 | - supports-color 2320 | 2321 | '@humanwhocodes/module-importer@1.0.1': {} 2322 | 2323 | '@humanwhocodes/object-schema@2.0.3': {} 2324 | 2325 | '@iconify/vue@3.2.1(vue@3.5.13(typescript@4.7.4))': 2326 | dependencies: 2327 | vue: 3.5.13(typescript@4.7.4) 2328 | 2329 | '@isaacs/cliui@8.0.2': 2330 | dependencies: 2331 | string-width: 5.1.2 2332 | string-width-cjs: string-width@4.2.3 2333 | strip-ansi: 7.1.0 2334 | strip-ansi-cjs: strip-ansi@6.0.1 2335 | wrap-ansi: 8.1.0 2336 | wrap-ansi-cjs: wrap-ansi@7.0.0 2337 | 2338 | '@jridgewell/gen-mapping@0.3.8': 2339 | dependencies: 2340 | '@jridgewell/set-array': 1.2.1 2341 | '@jridgewell/sourcemap-codec': 1.5.0 2342 | '@jridgewell/trace-mapping': 0.3.25 2343 | 2344 | '@jridgewell/resolve-uri@3.1.2': {} 2345 | 2346 | '@jridgewell/set-array@1.2.1': {} 2347 | 2348 | '@jridgewell/sourcemap-codec@1.5.0': {} 2349 | 2350 | '@jridgewell/trace-mapping@0.3.25': 2351 | dependencies: 2352 | '@jridgewell/resolve-uri': 3.1.2 2353 | '@jridgewell/sourcemap-codec': 1.5.0 2354 | 2355 | '@nodelib/fs.scandir@2.1.5': 2356 | dependencies: 2357 | '@nodelib/fs.stat': 2.0.5 2358 | run-parallel: 1.2.0 2359 | 2360 | '@nodelib/fs.stat@2.0.5': {} 2361 | 2362 | '@nodelib/fs.walk@1.2.8': 2363 | dependencies: 2364 | '@nodelib/fs.scandir': 2.1.5 2365 | fastq: 1.19.1 2366 | 2367 | '@pkgjs/parseargs@0.11.0': 2368 | optional: true 2369 | 2370 | '@pkgr/core@0.2.1': {} 2371 | 2372 | '@rtsao/scc@1.1.0': {} 2373 | 2374 | '@rushstack/eslint-patch@1.11.0': {} 2375 | 2376 | '@types/json-schema@7.0.15': {} 2377 | 2378 | '@types/json5@0.0.29': {} 2379 | 2380 | '@types/mdast@3.0.15': 2381 | dependencies: 2382 | '@types/unist': 2.0.11 2383 | 2384 | '@types/node@16.18.126': {} 2385 | 2386 | '@types/normalize-package-data@2.4.4': {} 2387 | 2388 | '@types/semver@7.7.0': {} 2389 | 2390 | '@types/unist@2.0.11': {} 2391 | 2392 | '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4)': 2393 | dependencies: 2394 | '@eslint-community/regexpp': 4.12.1 2395 | '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2396 | '@typescript-eslint/scope-manager': 5.62.0 2397 | '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2398 | '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2399 | debug: 4.4.0 2400 | eslint: 8.57.1 2401 | graphemer: 1.4.0 2402 | ignore: 5.3.2 2403 | natural-compare-lite: 1.4.0 2404 | semver: 7.7.1 2405 | tsutils: 3.21.0(typescript@4.7.4) 2406 | optionalDependencies: 2407 | typescript: 4.7.4 2408 | transitivePeerDependencies: 2409 | - supports-color 2410 | 2411 | '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4)': 2412 | dependencies: 2413 | '@typescript-eslint/scope-manager': 5.62.0 2414 | '@typescript-eslint/types': 5.62.0 2415 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) 2416 | debug: 4.4.0 2417 | eslint: 8.57.1 2418 | optionalDependencies: 2419 | typescript: 4.7.4 2420 | transitivePeerDependencies: 2421 | - supports-color 2422 | 2423 | '@typescript-eslint/scope-manager@5.62.0': 2424 | dependencies: 2425 | '@typescript-eslint/types': 5.62.0 2426 | '@typescript-eslint/visitor-keys': 5.62.0 2427 | 2428 | '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.7.4)': 2429 | dependencies: 2430 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) 2431 | '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 2432 | debug: 4.4.0 2433 | eslint: 8.57.1 2434 | tsutils: 3.21.0(typescript@4.7.4) 2435 | optionalDependencies: 2436 | typescript: 4.7.4 2437 | transitivePeerDependencies: 2438 | - supports-color 2439 | 2440 | '@typescript-eslint/types@5.62.0': {} 2441 | 2442 | '@typescript-eslint/typescript-estree@5.62.0(typescript@4.7.4)': 2443 | dependencies: 2444 | '@typescript-eslint/types': 5.62.0 2445 | '@typescript-eslint/visitor-keys': 5.62.0 2446 | debug: 4.4.0 2447 | globby: 11.1.0 2448 | is-glob: 4.0.3 2449 | semver: 7.7.1 2450 | tsutils: 3.21.0(typescript@4.7.4) 2451 | optionalDependencies: 2452 | typescript: 4.7.4 2453 | transitivePeerDependencies: 2454 | - supports-color 2455 | 2456 | '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.7.4)': 2457 | dependencies: 2458 | '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) 2459 | '@types/json-schema': 7.0.15 2460 | '@types/semver': 7.7.0 2461 | '@typescript-eslint/scope-manager': 5.62.0 2462 | '@typescript-eslint/types': 5.62.0 2463 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.7.4) 2464 | eslint: 8.57.1 2465 | eslint-scope: 5.1.1 2466 | semver: 7.7.1 2467 | transitivePeerDependencies: 2468 | - supports-color 2469 | - typescript 2470 | 2471 | '@typescript-eslint/visitor-keys@5.62.0': 2472 | dependencies: 2473 | '@typescript-eslint/types': 5.62.0 2474 | eslint-visitor-keys: 3.4.3 2475 | 2476 | '@ungap/structured-clone@1.3.0': {} 2477 | 2478 | '@vitejs/plugin-vue@3.2.0(vite@3.2.11(@types/node@16.18.126))(vue@3.5.13(typescript@4.7.4))': 2479 | dependencies: 2480 | vite: 3.2.11(@types/node@16.18.126) 2481 | vue: 3.5.13(typescript@4.7.4) 2482 | 2483 | '@volar/code-gen@0.38.9': 2484 | dependencies: 2485 | '@volar/source-map': 0.38.9 2486 | 2487 | '@volar/source-map@0.38.9': {} 2488 | 2489 | '@volar/vue-code-gen@0.38.9': 2490 | dependencies: 2491 | '@volar/code-gen': 0.38.9 2492 | '@volar/source-map': 0.38.9 2493 | '@vue/compiler-core': 3.5.13 2494 | '@vue/compiler-dom': 3.5.13 2495 | '@vue/shared': 3.5.13 2496 | 2497 | '@volar/vue-typescript@0.38.9': 2498 | dependencies: 2499 | '@volar/code-gen': 0.38.9 2500 | '@volar/source-map': 0.38.9 2501 | '@volar/vue-code-gen': 0.38.9 2502 | '@vue/compiler-sfc': 3.5.13 2503 | '@vue/reactivity': 3.5.13 2504 | 2505 | '@vue/compiler-core@3.5.13': 2506 | dependencies: 2507 | '@babel/parser': 7.27.0 2508 | '@vue/shared': 3.5.13 2509 | entities: 4.5.0 2510 | estree-walker: 2.0.2 2511 | source-map-js: 1.2.1 2512 | 2513 | '@vue/compiler-dom@3.5.13': 2514 | dependencies: 2515 | '@vue/compiler-core': 3.5.13 2516 | '@vue/shared': 3.5.13 2517 | 2518 | '@vue/compiler-sfc@3.5.13': 2519 | dependencies: 2520 | '@babel/parser': 7.27.0 2521 | '@vue/compiler-core': 3.5.13 2522 | '@vue/compiler-dom': 3.5.13 2523 | '@vue/compiler-ssr': 3.5.13 2524 | '@vue/shared': 3.5.13 2525 | estree-walker: 2.0.2 2526 | magic-string: 0.30.17 2527 | postcss: 8.5.3 2528 | source-map-js: 1.2.1 2529 | 2530 | '@vue/compiler-ssr@3.5.13': 2531 | dependencies: 2532 | '@vue/compiler-dom': 3.5.13 2533 | '@vue/shared': 3.5.13 2534 | 2535 | '@vue/devtools-api@6.6.4': {} 2536 | 2537 | '@vue/reactivity@3.5.13': 2538 | dependencies: 2539 | '@vue/shared': 3.5.13 2540 | 2541 | '@vue/runtime-core@3.5.13': 2542 | dependencies: 2543 | '@vue/reactivity': 3.5.13 2544 | '@vue/shared': 3.5.13 2545 | 2546 | '@vue/runtime-dom@3.5.13': 2547 | dependencies: 2548 | '@vue/reactivity': 3.5.13 2549 | '@vue/runtime-core': 3.5.13 2550 | '@vue/shared': 3.5.13 2551 | csstype: 3.1.3 2552 | 2553 | '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@4.7.4))': 2554 | dependencies: 2555 | '@vue/compiler-ssr': 3.5.13 2556 | '@vue/shared': 3.5.13 2557 | vue: 3.5.13(typescript@4.7.4) 2558 | 2559 | '@vue/shared@3.5.13': {} 2560 | 2561 | '@vue/tsconfig@0.1.3(@types/node@16.18.126)': 2562 | optionalDependencies: 2563 | '@types/node': 16.18.126 2564 | 2565 | acorn-jsx@5.3.2(acorn@8.14.1): 2566 | dependencies: 2567 | acorn: 8.14.1 2568 | 2569 | acorn@8.14.1: {} 2570 | 2571 | add@2.0.6: {} 2572 | 2573 | ajv@6.12.6: 2574 | dependencies: 2575 | fast-deep-equal: 3.1.3 2576 | fast-json-stable-stringify: 2.1.0 2577 | json-schema-traverse: 0.4.1 2578 | uri-js: 4.4.1 2579 | 2580 | ansi-regex@5.0.1: {} 2581 | 2582 | ansi-regex@6.1.0: {} 2583 | 2584 | ansi-styles@3.2.1: 2585 | dependencies: 2586 | color-convert: 1.9.3 2587 | 2588 | ansi-styles@4.3.0: 2589 | dependencies: 2590 | color-convert: 2.0.1 2591 | 2592 | ansi-styles@6.2.1: {} 2593 | 2594 | any-promise@1.3.0: {} 2595 | 2596 | anymatch@3.1.3: 2597 | dependencies: 2598 | normalize-path: 3.0.0 2599 | picomatch: 2.3.1 2600 | 2601 | arg@5.0.2: {} 2602 | 2603 | argparse@2.0.1: {} 2604 | 2605 | array-buffer-byte-length@1.0.2: 2606 | dependencies: 2607 | call-bound: 1.0.4 2608 | is-array-buffer: 3.0.5 2609 | 2610 | array-includes@3.1.8: 2611 | dependencies: 2612 | call-bind: 1.0.8 2613 | define-properties: 1.2.1 2614 | es-abstract: 1.23.9 2615 | es-object-atoms: 1.1.1 2616 | get-intrinsic: 1.3.0 2617 | is-string: 1.1.1 2618 | 2619 | array-union@2.1.0: {} 2620 | 2621 | array.prototype.findlastindex@1.2.6: 2622 | dependencies: 2623 | call-bind: 1.0.8 2624 | call-bound: 1.0.4 2625 | define-properties: 1.2.1 2626 | es-abstract: 1.23.9 2627 | es-errors: 1.3.0 2628 | es-object-atoms: 1.1.1 2629 | es-shim-unscopables: 1.1.0 2630 | 2631 | array.prototype.flat@1.3.3: 2632 | dependencies: 2633 | call-bind: 1.0.8 2634 | define-properties: 1.2.1 2635 | es-abstract: 1.23.9 2636 | es-shim-unscopables: 1.1.0 2637 | 2638 | array.prototype.flatmap@1.3.3: 2639 | dependencies: 2640 | call-bind: 1.0.8 2641 | define-properties: 1.2.1 2642 | es-abstract: 1.23.9 2643 | es-shim-unscopables: 1.1.0 2644 | 2645 | arraybuffer.prototype.slice@1.0.4: 2646 | dependencies: 2647 | array-buffer-byte-length: 1.0.2 2648 | call-bind: 1.0.8 2649 | define-properties: 1.2.1 2650 | es-abstract: 1.23.9 2651 | es-errors: 1.3.0 2652 | get-intrinsic: 1.3.0 2653 | is-array-buffer: 3.0.5 2654 | 2655 | async-function@1.0.0: {} 2656 | 2657 | autoprefixer@10.4.21(postcss@8.5.3): 2658 | dependencies: 2659 | browserslist: 4.24.4 2660 | caniuse-lite: 1.0.30001712 2661 | fraction.js: 4.3.7 2662 | normalize-range: 0.1.2 2663 | picocolors: 1.1.1 2664 | postcss: 8.5.3 2665 | postcss-value-parser: 4.2.0 2666 | 2667 | available-typed-arrays@1.0.7: 2668 | dependencies: 2669 | possible-typed-array-names: 1.1.0 2670 | 2671 | balanced-match@1.0.2: {} 2672 | 2673 | binary-extensions@2.3.0: {} 2674 | 2675 | boolbase@1.0.0: {} 2676 | 2677 | brace-expansion@1.1.11: 2678 | dependencies: 2679 | balanced-match: 1.0.2 2680 | concat-map: 0.0.1 2681 | 2682 | brace-expansion@2.0.1: 2683 | dependencies: 2684 | balanced-match: 1.0.2 2685 | 2686 | braces@3.0.3: 2687 | dependencies: 2688 | fill-range: 7.1.1 2689 | 2690 | browserslist@4.24.4: 2691 | dependencies: 2692 | caniuse-lite: 1.0.30001712 2693 | electron-to-chromium: 1.5.134 2694 | node-releases: 2.0.19 2695 | update-browserslist-db: 1.1.3(browserslist@4.24.4) 2696 | 2697 | builtin-modules@3.3.0: {} 2698 | 2699 | builtins@5.1.0: 2700 | dependencies: 2701 | semver: 7.7.1 2702 | 2703 | call-bind-apply-helpers@1.0.2: 2704 | dependencies: 2705 | es-errors: 1.3.0 2706 | function-bind: 1.1.2 2707 | 2708 | call-bind@1.0.8: 2709 | dependencies: 2710 | call-bind-apply-helpers: 1.0.2 2711 | es-define-property: 1.0.1 2712 | get-intrinsic: 1.3.0 2713 | set-function-length: 1.2.2 2714 | 2715 | call-bound@1.0.4: 2716 | dependencies: 2717 | call-bind-apply-helpers: 1.0.2 2718 | get-intrinsic: 1.3.0 2719 | 2720 | callsites@3.1.0: {} 2721 | 2722 | camelcase-css@2.0.1: {} 2723 | 2724 | caniuse-lite@1.0.30001712: {} 2725 | 2726 | chalk@2.4.2: 2727 | dependencies: 2728 | ansi-styles: 3.2.1 2729 | escape-string-regexp: 1.0.5 2730 | supports-color: 5.5.0 2731 | 2732 | chalk@4.1.2: 2733 | dependencies: 2734 | ansi-styles: 4.3.0 2735 | supports-color: 7.2.0 2736 | 2737 | character-entities-legacy@1.1.4: {} 2738 | 2739 | character-entities@1.2.4: {} 2740 | 2741 | character-reference-invalid@1.1.4: {} 2742 | 2743 | chokidar@3.6.0: 2744 | dependencies: 2745 | anymatch: 3.1.3 2746 | braces: 3.0.3 2747 | glob-parent: 5.1.2 2748 | is-binary-path: 2.1.0 2749 | is-glob: 4.0.3 2750 | normalize-path: 3.0.0 2751 | readdirp: 3.6.0 2752 | optionalDependencies: 2753 | fsevents: 2.3.3 2754 | 2755 | ci-info@3.9.0: {} 2756 | 2757 | clean-regexp@1.0.0: 2758 | dependencies: 2759 | escape-string-regexp: 1.0.5 2760 | 2761 | color-convert@1.9.3: 2762 | dependencies: 2763 | color-name: 1.1.3 2764 | 2765 | color-convert@2.0.1: 2766 | dependencies: 2767 | color-name: 1.1.4 2768 | 2769 | color-name@1.1.3: {} 2770 | 2771 | color-name@1.1.4: {} 2772 | 2773 | commander@4.1.1: {} 2774 | 2775 | concat-map@0.0.1: {} 2776 | 2777 | cross-spawn@6.0.6: 2778 | dependencies: 2779 | nice-try: 1.0.5 2780 | path-key: 2.0.1 2781 | semver: 5.7.2 2782 | shebang-command: 1.2.0 2783 | which: 1.3.1 2784 | 2785 | cross-spawn@7.0.6: 2786 | dependencies: 2787 | path-key: 3.1.1 2788 | shebang-command: 2.0.0 2789 | which: 2.0.2 2790 | 2791 | cssesc@3.0.0: {} 2792 | 2793 | csstype@3.1.3: {} 2794 | 2795 | data-view-buffer@1.0.2: 2796 | dependencies: 2797 | call-bound: 1.0.4 2798 | es-errors: 1.3.0 2799 | is-data-view: 1.0.2 2800 | 2801 | data-view-byte-length@1.0.2: 2802 | dependencies: 2803 | call-bound: 1.0.4 2804 | es-errors: 1.3.0 2805 | is-data-view: 1.0.2 2806 | 2807 | data-view-byte-offset@1.0.1: 2808 | dependencies: 2809 | call-bound: 1.0.4 2810 | es-errors: 1.3.0 2811 | is-data-view: 1.0.2 2812 | 2813 | debug@3.2.7: 2814 | dependencies: 2815 | ms: 2.1.3 2816 | 2817 | debug@4.4.0: 2818 | dependencies: 2819 | ms: 2.1.3 2820 | 2821 | deep-is@0.1.4: {} 2822 | 2823 | define-data-property@1.1.4: 2824 | dependencies: 2825 | es-define-property: 1.0.1 2826 | es-errors: 1.3.0 2827 | gopd: 1.2.0 2828 | 2829 | define-properties@1.2.1: 2830 | dependencies: 2831 | define-data-property: 1.1.4 2832 | has-property-descriptors: 1.0.2 2833 | object-keys: 1.1.1 2834 | 2835 | didyoumean@1.2.2: {} 2836 | 2837 | dir-glob@3.0.1: 2838 | dependencies: 2839 | path-type: 4.0.0 2840 | 2841 | dlv@1.1.3: {} 2842 | 2843 | doctrine@2.1.0: 2844 | dependencies: 2845 | esutils: 2.0.3 2846 | 2847 | doctrine@3.0.0: 2848 | dependencies: 2849 | esutils: 2.0.3 2850 | 2851 | dom-serializer@2.0.0: 2852 | dependencies: 2853 | domelementtype: 2.3.0 2854 | domhandler: 5.0.3 2855 | entities: 4.5.0 2856 | 2857 | domelementtype@2.3.0: {} 2858 | 2859 | domhandler@5.0.3: 2860 | dependencies: 2861 | domelementtype: 2.3.0 2862 | 2863 | domutils@3.2.2: 2864 | dependencies: 2865 | dom-serializer: 2.0.0 2866 | domelementtype: 2.3.0 2867 | domhandler: 5.0.3 2868 | 2869 | dunder-proto@1.0.1: 2870 | dependencies: 2871 | call-bind-apply-helpers: 1.0.2 2872 | es-errors: 1.3.0 2873 | gopd: 1.2.0 2874 | 2875 | eastasianwidth@0.2.0: {} 2876 | 2877 | electron-to-chromium@1.5.134: {} 2878 | 2879 | emoji-regex@8.0.0: {} 2880 | 2881 | emoji-regex@9.2.2: {} 2882 | 2883 | entities@4.5.0: {} 2884 | 2885 | error-ex@1.3.2: 2886 | dependencies: 2887 | is-arrayish: 0.2.1 2888 | 2889 | es-abstract@1.23.9: 2890 | dependencies: 2891 | array-buffer-byte-length: 1.0.2 2892 | arraybuffer.prototype.slice: 1.0.4 2893 | available-typed-arrays: 1.0.7 2894 | call-bind: 1.0.8 2895 | call-bound: 1.0.4 2896 | data-view-buffer: 1.0.2 2897 | data-view-byte-length: 1.0.2 2898 | data-view-byte-offset: 1.0.1 2899 | es-define-property: 1.0.1 2900 | es-errors: 1.3.0 2901 | es-object-atoms: 1.1.1 2902 | es-set-tostringtag: 2.1.0 2903 | es-to-primitive: 1.3.0 2904 | function.prototype.name: 1.1.8 2905 | get-intrinsic: 1.3.0 2906 | get-proto: 1.0.1 2907 | get-symbol-description: 1.1.0 2908 | globalthis: 1.0.4 2909 | gopd: 1.2.0 2910 | has-property-descriptors: 1.0.2 2911 | has-proto: 1.2.0 2912 | has-symbols: 1.1.0 2913 | hasown: 2.0.2 2914 | internal-slot: 1.1.0 2915 | is-array-buffer: 3.0.5 2916 | is-callable: 1.2.7 2917 | is-data-view: 1.0.2 2918 | is-regex: 1.2.1 2919 | is-shared-array-buffer: 1.0.4 2920 | is-string: 1.1.1 2921 | is-typed-array: 1.1.15 2922 | is-weakref: 1.1.1 2923 | math-intrinsics: 1.1.0 2924 | object-inspect: 1.13.4 2925 | object-keys: 1.1.1 2926 | object.assign: 4.1.7 2927 | own-keys: 1.0.1 2928 | regexp.prototype.flags: 1.5.4 2929 | safe-array-concat: 1.1.3 2930 | safe-push-apply: 1.0.0 2931 | safe-regex-test: 1.1.0 2932 | set-proto: 1.0.0 2933 | string.prototype.trim: 1.2.10 2934 | string.prototype.trimend: 1.0.9 2935 | string.prototype.trimstart: 1.0.8 2936 | typed-array-buffer: 1.0.3 2937 | typed-array-byte-length: 1.0.3 2938 | typed-array-byte-offset: 1.0.4 2939 | typed-array-length: 1.0.7 2940 | unbox-primitive: 1.1.0 2941 | which-typed-array: 1.1.19 2942 | 2943 | es-define-property@1.0.1: {} 2944 | 2945 | es-errors@1.3.0: {} 2946 | 2947 | es-object-atoms@1.1.1: 2948 | dependencies: 2949 | es-errors: 1.3.0 2950 | 2951 | es-set-tostringtag@2.1.0: 2952 | dependencies: 2953 | es-errors: 1.3.0 2954 | get-intrinsic: 1.3.0 2955 | has-tostringtag: 1.0.2 2956 | hasown: 2.0.2 2957 | 2958 | es-shim-unscopables@1.1.0: 2959 | dependencies: 2960 | hasown: 2.0.2 2961 | 2962 | es-to-primitive@1.3.0: 2963 | dependencies: 2964 | is-callable: 1.2.7 2965 | is-date-object: 1.1.0 2966 | is-symbol: 1.1.1 2967 | 2968 | esbuild-android-64@0.15.18: 2969 | optional: true 2970 | 2971 | esbuild-android-arm64@0.15.18: 2972 | optional: true 2973 | 2974 | esbuild-darwin-64@0.15.18: 2975 | optional: true 2976 | 2977 | esbuild-darwin-arm64@0.15.18: 2978 | optional: true 2979 | 2980 | esbuild-freebsd-64@0.15.18: 2981 | optional: true 2982 | 2983 | esbuild-freebsd-arm64@0.15.18: 2984 | optional: true 2985 | 2986 | esbuild-linux-32@0.15.18: 2987 | optional: true 2988 | 2989 | esbuild-linux-64@0.15.18: 2990 | optional: true 2991 | 2992 | esbuild-linux-arm64@0.15.18: 2993 | optional: true 2994 | 2995 | esbuild-linux-arm@0.15.18: 2996 | optional: true 2997 | 2998 | esbuild-linux-mips64le@0.15.18: 2999 | optional: true 3000 | 3001 | esbuild-linux-ppc64le@0.15.18: 3002 | optional: true 3003 | 3004 | esbuild-linux-riscv64@0.15.18: 3005 | optional: true 3006 | 3007 | esbuild-linux-s390x@0.15.18: 3008 | optional: true 3009 | 3010 | esbuild-netbsd-64@0.15.18: 3011 | optional: true 3012 | 3013 | esbuild-openbsd-64@0.15.18: 3014 | optional: true 3015 | 3016 | esbuild-sunos-64@0.15.18: 3017 | optional: true 3018 | 3019 | esbuild-windows-32@0.15.18: 3020 | optional: true 3021 | 3022 | esbuild-windows-64@0.15.18: 3023 | optional: true 3024 | 3025 | esbuild-windows-arm64@0.15.18: 3026 | optional: true 3027 | 3028 | esbuild@0.15.18: 3029 | optionalDependencies: 3030 | '@esbuild/android-arm': 0.15.18 3031 | '@esbuild/linux-loong64': 0.15.18 3032 | esbuild-android-64: 0.15.18 3033 | esbuild-android-arm64: 0.15.18 3034 | esbuild-darwin-64: 0.15.18 3035 | esbuild-darwin-arm64: 0.15.18 3036 | esbuild-freebsd-64: 0.15.18 3037 | esbuild-freebsd-arm64: 0.15.18 3038 | esbuild-linux-32: 0.15.18 3039 | esbuild-linux-64: 0.15.18 3040 | esbuild-linux-arm: 0.15.18 3041 | esbuild-linux-arm64: 0.15.18 3042 | esbuild-linux-mips64le: 0.15.18 3043 | esbuild-linux-ppc64le: 0.15.18 3044 | esbuild-linux-riscv64: 0.15.18 3045 | esbuild-linux-s390x: 0.15.18 3046 | esbuild-netbsd-64: 0.15.18 3047 | esbuild-openbsd-64: 0.15.18 3048 | esbuild-sunos-64: 0.15.18 3049 | esbuild-windows-32: 0.15.18 3050 | esbuild-windows-64: 0.15.18 3051 | esbuild-windows-arm64: 0.15.18 3052 | 3053 | escalade@3.2.0: {} 3054 | 3055 | escape-string-regexp@1.0.5: {} 3056 | 3057 | escape-string-regexp@4.0.0: {} 3058 | 3059 | eslint-compat-utils@0.6.5(eslint@8.57.1): 3060 | dependencies: 3061 | eslint: 8.57.1 3062 | semver: 7.7.1 3063 | 3064 | eslint-import-resolver-node@0.3.9: 3065 | dependencies: 3066 | debug: 3.2.7 3067 | is-core-module: 2.16.1 3068 | resolve: 1.22.10 3069 | transitivePeerDependencies: 3070 | - supports-color 3071 | 3072 | eslint-json-compat-utils@0.2.1(eslint@8.57.1)(jsonc-eslint-parser@2.4.0): 3073 | dependencies: 3074 | eslint: 8.57.1 3075 | esquery: 1.6.0 3076 | jsonc-eslint-parser: 2.4.0 3077 | 3078 | eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1): 3079 | dependencies: 3080 | debug: 3.2.7 3081 | optionalDependencies: 3082 | '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 3083 | eslint: 8.57.1 3084 | eslint-import-resolver-node: 0.3.9 3085 | transitivePeerDependencies: 3086 | - supports-color 3087 | 3088 | eslint-plugin-antfu@0.37.0(eslint@8.57.1)(typescript@4.7.4): 3089 | dependencies: 3090 | '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 3091 | transitivePeerDependencies: 3092 | - eslint 3093 | - supports-color 3094 | - typescript 3095 | 3096 | eslint-plugin-es@4.1.0(eslint@8.57.1): 3097 | dependencies: 3098 | eslint: 8.57.1 3099 | eslint-utils: 2.1.0 3100 | regexpp: 3.2.0 3101 | 3102 | eslint-plugin-eslint-comments@3.2.0(eslint@8.57.1): 3103 | dependencies: 3104 | escape-string-regexp: 1.0.5 3105 | eslint: 8.57.1 3106 | ignore: 5.3.2 3107 | 3108 | eslint-plugin-html@7.1.0: 3109 | dependencies: 3110 | htmlparser2: 8.0.2 3111 | 3112 | eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1): 3113 | dependencies: 3114 | '@rtsao/scc': 1.1.0 3115 | array-includes: 3.1.8 3116 | array.prototype.findlastindex: 1.2.6 3117 | array.prototype.flat: 1.3.3 3118 | array.prototype.flatmap: 1.3.3 3119 | debug: 3.2.7 3120 | doctrine: 2.1.0 3121 | eslint: 8.57.1 3122 | eslint-import-resolver-node: 0.3.9 3123 | eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1) 3124 | hasown: 2.0.2 3125 | is-core-module: 2.16.1 3126 | is-glob: 4.0.3 3127 | minimatch: 3.1.2 3128 | object.fromentries: 2.0.8 3129 | object.groupby: 1.0.3 3130 | object.values: 1.2.1 3131 | semver: 6.3.1 3132 | string.prototype.trimend: 1.0.9 3133 | tsconfig-paths: 3.15.0 3134 | optionalDependencies: 3135 | '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 3136 | transitivePeerDependencies: 3137 | - eslint-import-resolver-typescript 3138 | - eslint-import-resolver-webpack 3139 | - supports-color 3140 | 3141 | eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4): 3142 | dependencies: 3143 | '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.7.4) 3144 | eslint: 8.57.1 3145 | optionalDependencies: 3146 | '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 3147 | transitivePeerDependencies: 3148 | - supports-color 3149 | - typescript 3150 | 3151 | eslint-plugin-jsonc@2.20.0(eslint@8.57.1): 3152 | dependencies: 3153 | '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) 3154 | eslint: 8.57.1 3155 | eslint-compat-utils: 0.6.5(eslint@8.57.1) 3156 | eslint-json-compat-utils: 0.2.1(eslint@8.57.1)(jsonc-eslint-parser@2.4.0) 3157 | espree: 10.3.0 3158 | graphemer: 1.4.0 3159 | jsonc-eslint-parser: 2.4.0 3160 | natural-compare: 1.4.0 3161 | synckit: 0.10.3 3162 | transitivePeerDependencies: 3163 | - '@eslint/json' 3164 | 3165 | eslint-plugin-markdown@3.0.1(eslint@8.57.1): 3166 | dependencies: 3167 | eslint: 8.57.1 3168 | mdast-util-from-markdown: 0.8.5 3169 | transitivePeerDependencies: 3170 | - supports-color 3171 | 3172 | eslint-plugin-n@15.7.0(eslint@8.57.1): 3173 | dependencies: 3174 | builtins: 5.1.0 3175 | eslint: 8.57.1 3176 | eslint-plugin-es: 4.1.0(eslint@8.57.1) 3177 | eslint-utils: 3.0.0(eslint@8.57.1) 3178 | ignore: 5.3.2 3179 | is-core-module: 2.16.1 3180 | minimatch: 3.1.2 3181 | resolve: 1.22.10 3182 | semver: 7.7.1 3183 | 3184 | eslint-plugin-no-only-tests@3.3.0: {} 3185 | 3186 | eslint-plugin-promise@6.6.0(eslint@8.57.1): 3187 | dependencies: 3188 | eslint: 8.57.1 3189 | 3190 | eslint-plugin-unicorn@46.0.1(eslint@8.57.1): 3191 | dependencies: 3192 | '@babel/helper-validator-identifier': 7.25.9 3193 | '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) 3194 | ci-info: 3.9.0 3195 | clean-regexp: 1.0.0 3196 | eslint: 8.57.1 3197 | esquery: 1.6.0 3198 | indent-string: 4.0.0 3199 | is-builtin-module: 3.2.1 3200 | jsesc: 3.1.0 3201 | lodash: 4.17.21 3202 | pluralize: 8.0.0 3203 | read-pkg-up: 7.0.1 3204 | regexp-tree: 0.1.27 3205 | regjsparser: 0.9.1 3206 | safe-regex: 2.1.1 3207 | semver: 7.7.1 3208 | strip-indent: 3.0.0 3209 | 3210 | eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1): 3211 | dependencies: 3212 | eslint: 8.57.1 3213 | eslint-rule-composer: 0.3.0 3214 | optionalDependencies: 3215 | '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.7.4))(eslint@8.57.1)(typescript@4.7.4) 3216 | 3217 | eslint-plugin-vue@9.33.0(eslint@8.57.1): 3218 | dependencies: 3219 | '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) 3220 | eslint: 8.57.1 3221 | globals: 13.24.0 3222 | natural-compare: 1.4.0 3223 | nth-check: 2.1.1 3224 | postcss-selector-parser: 6.1.2 3225 | semver: 7.7.1 3226 | vue-eslint-parser: 9.4.3(eslint@8.57.1) 3227 | xml-name-validator: 4.0.0 3228 | transitivePeerDependencies: 3229 | - supports-color 3230 | 3231 | eslint-plugin-yml@1.17.0(eslint@8.57.1): 3232 | dependencies: 3233 | debug: 4.4.0 3234 | escape-string-regexp: 4.0.0 3235 | eslint: 8.57.1 3236 | eslint-compat-utils: 0.6.5(eslint@8.57.1) 3237 | natural-compare: 1.4.0 3238 | yaml-eslint-parser: 1.3.0 3239 | transitivePeerDependencies: 3240 | - supports-color 3241 | 3242 | eslint-rule-composer@0.3.0: {} 3243 | 3244 | eslint-scope@5.1.1: 3245 | dependencies: 3246 | esrecurse: 4.3.0 3247 | estraverse: 4.3.0 3248 | 3249 | eslint-scope@7.2.2: 3250 | dependencies: 3251 | esrecurse: 4.3.0 3252 | estraverse: 5.3.0 3253 | 3254 | eslint-utils@2.1.0: 3255 | dependencies: 3256 | eslint-visitor-keys: 1.3.0 3257 | 3258 | eslint-utils@3.0.0(eslint@8.57.1): 3259 | dependencies: 3260 | eslint: 8.57.1 3261 | eslint-visitor-keys: 2.1.0 3262 | 3263 | eslint-visitor-keys@1.3.0: {} 3264 | 3265 | eslint-visitor-keys@2.1.0: {} 3266 | 3267 | eslint-visitor-keys@3.4.3: {} 3268 | 3269 | eslint-visitor-keys@4.2.0: {} 3270 | 3271 | eslint@8.57.1: 3272 | dependencies: 3273 | '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) 3274 | '@eslint-community/regexpp': 4.12.1 3275 | '@eslint/eslintrc': 2.1.4 3276 | '@eslint/js': 8.57.1 3277 | '@humanwhocodes/config-array': 0.13.0 3278 | '@humanwhocodes/module-importer': 1.0.1 3279 | '@nodelib/fs.walk': 1.2.8 3280 | '@ungap/structured-clone': 1.3.0 3281 | ajv: 6.12.6 3282 | chalk: 4.1.2 3283 | cross-spawn: 7.0.6 3284 | debug: 4.4.0 3285 | doctrine: 3.0.0 3286 | escape-string-regexp: 4.0.0 3287 | eslint-scope: 7.2.2 3288 | eslint-visitor-keys: 3.4.3 3289 | espree: 9.6.1 3290 | esquery: 1.6.0 3291 | esutils: 2.0.3 3292 | fast-deep-equal: 3.1.3 3293 | file-entry-cache: 6.0.1 3294 | find-up: 5.0.0 3295 | glob-parent: 6.0.2 3296 | globals: 13.24.0 3297 | graphemer: 1.4.0 3298 | ignore: 5.3.2 3299 | imurmurhash: 0.1.4 3300 | is-glob: 4.0.3 3301 | is-path-inside: 3.0.3 3302 | js-yaml: 4.1.0 3303 | json-stable-stringify-without-jsonify: 1.0.1 3304 | levn: 0.4.1 3305 | lodash.merge: 4.6.2 3306 | minimatch: 3.1.2 3307 | natural-compare: 1.4.0 3308 | optionator: 0.9.4 3309 | strip-ansi: 6.0.1 3310 | text-table: 0.2.0 3311 | transitivePeerDependencies: 3312 | - supports-color 3313 | 3314 | espree@10.3.0: 3315 | dependencies: 3316 | acorn: 8.14.1 3317 | acorn-jsx: 5.3.2(acorn@8.14.1) 3318 | eslint-visitor-keys: 4.2.0 3319 | 3320 | espree@9.6.1: 3321 | dependencies: 3322 | acorn: 8.14.1 3323 | acorn-jsx: 5.3.2(acorn@8.14.1) 3324 | eslint-visitor-keys: 3.4.3 3325 | 3326 | esquery@1.6.0: 3327 | dependencies: 3328 | estraverse: 5.3.0 3329 | 3330 | esrecurse@4.3.0: 3331 | dependencies: 3332 | estraverse: 5.3.0 3333 | 3334 | estraverse@4.3.0: {} 3335 | 3336 | estraverse@5.3.0: {} 3337 | 3338 | estree-walker@2.0.2: {} 3339 | 3340 | esutils@2.0.3: {} 3341 | 3342 | fast-deep-equal@3.1.3: {} 3343 | 3344 | fast-glob@3.3.3: 3345 | dependencies: 3346 | '@nodelib/fs.stat': 2.0.5 3347 | '@nodelib/fs.walk': 1.2.8 3348 | glob-parent: 5.1.2 3349 | merge2: 1.4.1 3350 | micromatch: 4.0.8 3351 | 3352 | fast-json-stable-stringify@2.1.0: {} 3353 | 3354 | fast-levenshtein@2.0.6: {} 3355 | 3356 | fastq@1.19.1: 3357 | dependencies: 3358 | reusify: 1.1.0 3359 | 3360 | file-entry-cache@6.0.1: 3361 | dependencies: 3362 | flat-cache: 3.2.0 3363 | 3364 | fill-range@7.1.1: 3365 | dependencies: 3366 | to-regex-range: 5.0.1 3367 | 3368 | find-up@4.1.0: 3369 | dependencies: 3370 | locate-path: 5.0.0 3371 | path-exists: 4.0.0 3372 | 3373 | find-up@5.0.0: 3374 | dependencies: 3375 | locate-path: 6.0.0 3376 | path-exists: 4.0.0 3377 | 3378 | flat-cache@3.2.0: 3379 | dependencies: 3380 | flatted: 3.3.3 3381 | keyv: 4.5.4 3382 | rimraf: 3.0.2 3383 | 3384 | flatted@3.3.3: {} 3385 | 3386 | for-each@0.3.5: 3387 | dependencies: 3388 | is-callable: 1.2.7 3389 | 3390 | foreground-child@3.3.1: 3391 | dependencies: 3392 | cross-spawn: 7.0.6 3393 | signal-exit: 4.1.0 3394 | 3395 | fraction.js@4.3.7: {} 3396 | 3397 | fs.realpath@1.0.0: {} 3398 | 3399 | fsevents@2.3.3: 3400 | optional: true 3401 | 3402 | function-bind@1.1.2: {} 3403 | 3404 | function.prototype.name@1.1.8: 3405 | dependencies: 3406 | call-bind: 1.0.8 3407 | call-bound: 1.0.4 3408 | define-properties: 1.2.1 3409 | functions-have-names: 1.2.3 3410 | hasown: 2.0.2 3411 | is-callable: 1.2.7 3412 | 3413 | functions-have-names@1.2.3: {} 3414 | 3415 | get-intrinsic@1.3.0: 3416 | dependencies: 3417 | call-bind-apply-helpers: 1.0.2 3418 | es-define-property: 1.0.1 3419 | es-errors: 1.3.0 3420 | es-object-atoms: 1.1.1 3421 | function-bind: 1.1.2 3422 | get-proto: 1.0.1 3423 | gopd: 1.2.0 3424 | has-symbols: 1.1.0 3425 | hasown: 2.0.2 3426 | math-intrinsics: 1.1.0 3427 | 3428 | get-proto@1.0.1: 3429 | dependencies: 3430 | dunder-proto: 1.0.1 3431 | es-object-atoms: 1.1.1 3432 | 3433 | get-symbol-description@1.1.0: 3434 | dependencies: 3435 | call-bound: 1.0.4 3436 | es-errors: 1.3.0 3437 | get-intrinsic: 1.3.0 3438 | 3439 | glob-parent@5.1.2: 3440 | dependencies: 3441 | is-glob: 4.0.3 3442 | 3443 | glob-parent@6.0.2: 3444 | dependencies: 3445 | is-glob: 4.0.3 3446 | 3447 | glob@10.4.5: 3448 | dependencies: 3449 | foreground-child: 3.3.1 3450 | jackspeak: 3.4.3 3451 | minimatch: 9.0.5 3452 | minipass: 7.1.2 3453 | package-json-from-dist: 1.0.1 3454 | path-scurry: 1.11.1 3455 | 3456 | glob@7.2.3: 3457 | dependencies: 3458 | fs.realpath: 1.0.0 3459 | inflight: 1.0.6 3460 | inherits: 2.0.4 3461 | minimatch: 3.1.2 3462 | once: 1.4.0 3463 | path-is-absolute: 1.0.1 3464 | 3465 | globals@13.24.0: 3466 | dependencies: 3467 | type-fest: 0.20.2 3468 | 3469 | globalthis@1.0.4: 3470 | dependencies: 3471 | define-properties: 1.2.1 3472 | gopd: 1.2.0 3473 | 3474 | globby@11.1.0: 3475 | dependencies: 3476 | array-union: 2.1.0 3477 | dir-glob: 3.0.1 3478 | fast-glob: 3.3.3 3479 | ignore: 5.3.2 3480 | merge2: 1.4.1 3481 | slash: 3.0.0 3482 | 3483 | gopd@1.2.0: {} 3484 | 3485 | graceful-fs@4.2.11: {} 3486 | 3487 | graphemer@1.4.0: {} 3488 | 3489 | has-bigints@1.1.0: {} 3490 | 3491 | has-flag@3.0.0: {} 3492 | 3493 | has-flag@4.0.0: {} 3494 | 3495 | has-property-descriptors@1.0.2: 3496 | dependencies: 3497 | es-define-property: 1.0.1 3498 | 3499 | has-proto@1.2.0: 3500 | dependencies: 3501 | dunder-proto: 1.0.1 3502 | 3503 | has-symbols@1.1.0: {} 3504 | 3505 | has-tostringtag@1.0.2: 3506 | dependencies: 3507 | has-symbols: 1.1.0 3508 | 3509 | hasown@2.0.2: 3510 | dependencies: 3511 | function-bind: 1.1.2 3512 | 3513 | hosted-git-info@2.8.9: {} 3514 | 3515 | htmlparser2@8.0.2: 3516 | dependencies: 3517 | domelementtype: 2.3.0 3518 | domhandler: 5.0.3 3519 | domutils: 3.2.2 3520 | entities: 4.5.0 3521 | 3522 | ignore@5.3.2: {} 3523 | 3524 | import-fresh@3.3.1: 3525 | dependencies: 3526 | parent-module: 1.0.1 3527 | resolve-from: 4.0.0 3528 | 3529 | imurmurhash@0.1.4: {} 3530 | 3531 | indent-string@4.0.0: {} 3532 | 3533 | inflight@1.0.6: 3534 | dependencies: 3535 | once: 1.4.0 3536 | wrappy: 1.0.2 3537 | 3538 | inherits@2.0.4: {} 3539 | 3540 | internal-slot@1.1.0: 3541 | dependencies: 3542 | es-errors: 1.3.0 3543 | hasown: 2.0.2 3544 | side-channel: 1.1.0 3545 | 3546 | is-alphabetical@1.0.4: {} 3547 | 3548 | is-alphanumerical@1.0.4: 3549 | dependencies: 3550 | is-alphabetical: 1.0.4 3551 | is-decimal: 1.0.4 3552 | 3553 | is-array-buffer@3.0.5: 3554 | dependencies: 3555 | call-bind: 1.0.8 3556 | call-bound: 1.0.4 3557 | get-intrinsic: 1.3.0 3558 | 3559 | is-arrayish@0.2.1: {} 3560 | 3561 | is-async-function@2.1.1: 3562 | dependencies: 3563 | async-function: 1.0.0 3564 | call-bound: 1.0.4 3565 | get-proto: 1.0.1 3566 | has-tostringtag: 1.0.2 3567 | safe-regex-test: 1.1.0 3568 | 3569 | is-bigint@1.1.0: 3570 | dependencies: 3571 | has-bigints: 1.1.0 3572 | 3573 | is-binary-path@2.1.0: 3574 | dependencies: 3575 | binary-extensions: 2.3.0 3576 | 3577 | is-boolean-object@1.2.2: 3578 | dependencies: 3579 | call-bound: 1.0.4 3580 | has-tostringtag: 1.0.2 3581 | 3582 | is-builtin-module@3.2.1: 3583 | dependencies: 3584 | builtin-modules: 3.3.0 3585 | 3586 | is-callable@1.2.7: {} 3587 | 3588 | is-core-module@2.16.1: 3589 | dependencies: 3590 | hasown: 2.0.2 3591 | 3592 | is-data-view@1.0.2: 3593 | dependencies: 3594 | call-bound: 1.0.4 3595 | get-intrinsic: 1.3.0 3596 | is-typed-array: 1.1.15 3597 | 3598 | is-date-object@1.1.0: 3599 | dependencies: 3600 | call-bound: 1.0.4 3601 | has-tostringtag: 1.0.2 3602 | 3603 | is-decimal@1.0.4: {} 3604 | 3605 | is-extglob@2.1.1: {} 3606 | 3607 | is-finalizationregistry@1.1.1: 3608 | dependencies: 3609 | call-bound: 1.0.4 3610 | 3611 | is-fullwidth-code-point@3.0.0: {} 3612 | 3613 | is-generator-function@1.1.0: 3614 | dependencies: 3615 | call-bound: 1.0.4 3616 | get-proto: 1.0.1 3617 | has-tostringtag: 1.0.2 3618 | safe-regex-test: 1.1.0 3619 | 3620 | is-glob@4.0.3: 3621 | dependencies: 3622 | is-extglob: 2.1.1 3623 | 3624 | is-hexadecimal@1.0.4: {} 3625 | 3626 | is-map@2.0.3: {} 3627 | 3628 | is-number-object@1.1.1: 3629 | dependencies: 3630 | call-bound: 1.0.4 3631 | has-tostringtag: 1.0.2 3632 | 3633 | is-number@7.0.0: {} 3634 | 3635 | is-path-inside@3.0.3: {} 3636 | 3637 | is-regex@1.2.1: 3638 | dependencies: 3639 | call-bound: 1.0.4 3640 | gopd: 1.2.0 3641 | has-tostringtag: 1.0.2 3642 | hasown: 2.0.2 3643 | 3644 | is-set@2.0.3: {} 3645 | 3646 | is-shared-array-buffer@1.0.4: 3647 | dependencies: 3648 | call-bound: 1.0.4 3649 | 3650 | is-string@1.1.1: 3651 | dependencies: 3652 | call-bound: 1.0.4 3653 | has-tostringtag: 1.0.2 3654 | 3655 | is-symbol@1.1.1: 3656 | dependencies: 3657 | call-bound: 1.0.4 3658 | has-symbols: 1.1.0 3659 | safe-regex-test: 1.1.0 3660 | 3661 | is-typed-array@1.1.15: 3662 | dependencies: 3663 | which-typed-array: 1.1.19 3664 | 3665 | is-weakmap@2.0.2: {} 3666 | 3667 | is-weakref@1.1.1: 3668 | dependencies: 3669 | call-bound: 1.0.4 3670 | 3671 | is-weakset@2.0.4: 3672 | dependencies: 3673 | call-bound: 1.0.4 3674 | get-intrinsic: 1.3.0 3675 | 3676 | isarray@2.0.5: {} 3677 | 3678 | isexe@2.0.0: {} 3679 | 3680 | jackspeak@3.4.3: 3681 | dependencies: 3682 | '@isaacs/cliui': 8.0.2 3683 | optionalDependencies: 3684 | '@pkgjs/parseargs': 0.11.0 3685 | 3686 | jiti@1.21.7: {} 3687 | 3688 | js-tokens@4.0.0: {} 3689 | 3690 | js-yaml@4.1.0: 3691 | dependencies: 3692 | argparse: 2.0.1 3693 | 3694 | jsesc@0.5.0: {} 3695 | 3696 | jsesc@3.1.0: {} 3697 | 3698 | json-buffer@3.0.1: {} 3699 | 3700 | json-parse-better-errors@1.0.2: {} 3701 | 3702 | json-parse-even-better-errors@2.3.1: {} 3703 | 3704 | json-schema-traverse@0.4.1: {} 3705 | 3706 | json-stable-stringify-without-jsonify@1.0.1: {} 3707 | 3708 | json5@1.0.2: 3709 | dependencies: 3710 | minimist: 1.2.8 3711 | 3712 | jsonc-eslint-parser@2.4.0: 3713 | dependencies: 3714 | acorn: 8.14.1 3715 | eslint-visitor-keys: 3.4.3 3716 | espree: 9.6.1 3717 | semver: 7.7.1 3718 | 3719 | keyv@4.5.4: 3720 | dependencies: 3721 | json-buffer: 3.0.1 3722 | 3723 | levn@0.4.1: 3724 | dependencies: 3725 | prelude-ls: 1.2.1 3726 | type-check: 0.4.0 3727 | 3728 | lilconfig@3.1.3: {} 3729 | 3730 | lines-and-columns@1.2.4: {} 3731 | 3732 | load-json-file@4.0.0: 3733 | dependencies: 3734 | graceful-fs: 4.2.11 3735 | parse-json: 4.0.0 3736 | pify: 3.0.0 3737 | strip-bom: 3.0.0 3738 | 3739 | local-pkg@0.4.3: {} 3740 | 3741 | locate-path@5.0.0: 3742 | dependencies: 3743 | p-locate: 4.1.0 3744 | 3745 | locate-path@6.0.0: 3746 | dependencies: 3747 | p-locate: 5.0.0 3748 | 3749 | lodash.merge@4.6.2: {} 3750 | 3751 | lodash@4.17.21: {} 3752 | 3753 | lru-cache@10.4.3: {} 3754 | 3755 | magic-string@0.30.17: 3756 | dependencies: 3757 | '@jridgewell/sourcemap-codec': 1.5.0 3758 | 3759 | math-intrinsics@1.1.0: {} 3760 | 3761 | mdast-util-from-markdown@0.8.5: 3762 | dependencies: 3763 | '@types/mdast': 3.0.15 3764 | mdast-util-to-string: 2.0.0 3765 | micromark: 2.11.4 3766 | parse-entities: 2.0.0 3767 | unist-util-stringify-position: 2.0.3 3768 | transitivePeerDependencies: 3769 | - supports-color 3770 | 3771 | mdast-util-to-string@2.0.0: {} 3772 | 3773 | memorystream@0.3.1: {} 3774 | 3775 | merge2@1.4.1: {} 3776 | 3777 | micromark@2.11.4: 3778 | dependencies: 3779 | debug: 4.4.0 3780 | parse-entities: 2.0.0 3781 | transitivePeerDependencies: 3782 | - supports-color 3783 | 3784 | micromatch@4.0.8: 3785 | dependencies: 3786 | braces: 3.0.3 3787 | picomatch: 2.3.1 3788 | 3789 | min-indent@1.0.1: {} 3790 | 3791 | minimatch@3.1.2: 3792 | dependencies: 3793 | brace-expansion: 1.1.11 3794 | 3795 | minimatch@9.0.5: 3796 | dependencies: 3797 | brace-expansion: 2.0.1 3798 | 3799 | minimist@1.2.8: {} 3800 | 3801 | minipass@7.1.2: {} 3802 | 3803 | ms@2.1.3: {} 3804 | 3805 | mz@2.7.0: 3806 | dependencies: 3807 | any-promise: 1.3.0 3808 | object-assign: 4.1.1 3809 | thenify-all: 1.6.0 3810 | 3811 | nanoid@3.3.11: {} 3812 | 3813 | natural-compare-lite@1.4.0: {} 3814 | 3815 | natural-compare@1.4.0: {} 3816 | 3817 | nice-try@1.0.5: {} 3818 | 3819 | node-releases@2.0.19: {} 3820 | 3821 | normalize-package-data@2.5.0: 3822 | dependencies: 3823 | hosted-git-info: 2.8.9 3824 | resolve: 1.22.10 3825 | semver: 5.7.2 3826 | validate-npm-package-license: 3.0.4 3827 | 3828 | normalize-path@3.0.0: {} 3829 | 3830 | normalize-range@0.1.2: {} 3831 | 3832 | npm-run-all@4.1.5: 3833 | dependencies: 3834 | ansi-styles: 3.2.1 3835 | chalk: 2.4.2 3836 | cross-spawn: 6.0.6 3837 | memorystream: 0.3.1 3838 | minimatch: 3.1.2 3839 | pidtree: 0.3.1 3840 | read-pkg: 3.0.0 3841 | shell-quote: 1.8.2 3842 | string.prototype.padend: 3.1.6 3843 | 3844 | nth-check@2.1.1: 3845 | dependencies: 3846 | boolbase: 1.0.0 3847 | 3848 | object-assign@4.1.1: {} 3849 | 3850 | object-hash@3.0.0: {} 3851 | 3852 | object-inspect@1.13.4: {} 3853 | 3854 | object-keys@1.1.1: {} 3855 | 3856 | object.assign@4.1.7: 3857 | dependencies: 3858 | call-bind: 1.0.8 3859 | call-bound: 1.0.4 3860 | define-properties: 1.2.1 3861 | es-object-atoms: 1.1.1 3862 | has-symbols: 1.1.0 3863 | object-keys: 1.1.1 3864 | 3865 | object.fromentries@2.0.8: 3866 | dependencies: 3867 | call-bind: 1.0.8 3868 | define-properties: 1.2.1 3869 | es-abstract: 1.23.9 3870 | es-object-atoms: 1.1.1 3871 | 3872 | object.groupby@1.0.3: 3873 | dependencies: 3874 | call-bind: 1.0.8 3875 | define-properties: 1.2.1 3876 | es-abstract: 1.23.9 3877 | 3878 | object.values@1.2.1: 3879 | dependencies: 3880 | call-bind: 1.0.8 3881 | call-bound: 1.0.4 3882 | define-properties: 1.2.1 3883 | es-object-atoms: 1.1.1 3884 | 3885 | once@1.4.0: 3886 | dependencies: 3887 | wrappy: 1.0.2 3888 | 3889 | optionator@0.9.4: 3890 | dependencies: 3891 | deep-is: 0.1.4 3892 | fast-levenshtein: 2.0.6 3893 | levn: 0.4.1 3894 | prelude-ls: 1.2.1 3895 | type-check: 0.4.0 3896 | word-wrap: 1.2.5 3897 | 3898 | own-keys@1.0.1: 3899 | dependencies: 3900 | get-intrinsic: 1.3.0 3901 | object-keys: 1.1.1 3902 | safe-push-apply: 1.0.0 3903 | 3904 | p-limit@2.3.0: 3905 | dependencies: 3906 | p-try: 2.2.0 3907 | 3908 | p-limit@3.1.0: 3909 | dependencies: 3910 | yocto-queue: 0.1.0 3911 | 3912 | p-locate@4.1.0: 3913 | dependencies: 3914 | p-limit: 2.3.0 3915 | 3916 | p-locate@5.0.0: 3917 | dependencies: 3918 | p-limit: 3.1.0 3919 | 3920 | p-try@2.2.0: {} 3921 | 3922 | package-json-from-dist@1.0.1: {} 3923 | 3924 | parent-module@1.0.1: 3925 | dependencies: 3926 | callsites: 3.1.0 3927 | 3928 | parse-entities@2.0.0: 3929 | dependencies: 3930 | character-entities: 1.2.4 3931 | character-entities-legacy: 1.1.4 3932 | character-reference-invalid: 1.1.4 3933 | is-alphanumerical: 1.0.4 3934 | is-decimal: 1.0.4 3935 | is-hexadecimal: 1.0.4 3936 | 3937 | parse-json@4.0.0: 3938 | dependencies: 3939 | error-ex: 1.3.2 3940 | json-parse-better-errors: 1.0.2 3941 | 3942 | parse-json@5.2.0: 3943 | dependencies: 3944 | '@babel/code-frame': 7.26.2 3945 | error-ex: 1.3.2 3946 | json-parse-even-better-errors: 2.3.1 3947 | lines-and-columns: 1.2.4 3948 | 3949 | path-exists@4.0.0: {} 3950 | 3951 | path-is-absolute@1.0.1: {} 3952 | 3953 | path-key@2.0.1: {} 3954 | 3955 | path-key@3.1.1: {} 3956 | 3957 | path-parse@1.0.7: {} 3958 | 3959 | path-scurry@1.11.1: 3960 | dependencies: 3961 | lru-cache: 10.4.3 3962 | minipass: 7.1.2 3963 | 3964 | path-type@3.0.0: 3965 | dependencies: 3966 | pify: 3.0.0 3967 | 3968 | path-type@4.0.0: {} 3969 | 3970 | picocolors@1.1.1: {} 3971 | 3972 | picomatch@2.3.1: {} 3973 | 3974 | pidtree@0.3.1: {} 3975 | 3976 | pify@2.3.0: {} 3977 | 3978 | pify@3.0.0: {} 3979 | 3980 | pinia@2.3.1(typescript@4.7.4)(vue@3.5.13(typescript@4.7.4)): 3981 | dependencies: 3982 | '@vue/devtools-api': 6.6.4 3983 | vue: 3.5.13(typescript@4.7.4) 3984 | vue-demi: 0.14.10(vue@3.5.13(typescript@4.7.4)) 3985 | optionalDependencies: 3986 | typescript: 4.7.4 3987 | transitivePeerDependencies: 3988 | - '@vue/composition-api' 3989 | 3990 | pirates@4.0.7: {} 3991 | 3992 | pluralize@8.0.0: {} 3993 | 3994 | pnpm@7.33.7: {} 3995 | 3996 | possible-typed-array-names@1.1.0: {} 3997 | 3998 | postcss-import@15.1.0(postcss@8.5.3): 3999 | dependencies: 4000 | postcss: 8.5.3 4001 | postcss-value-parser: 4.2.0 4002 | read-cache: 1.0.0 4003 | resolve: 1.22.10 4004 | 4005 | postcss-js@4.0.1(postcss@8.5.3): 4006 | dependencies: 4007 | camelcase-css: 2.0.1 4008 | postcss: 8.5.3 4009 | 4010 | postcss-load-config@4.0.2(postcss@8.5.3): 4011 | dependencies: 4012 | lilconfig: 3.1.3 4013 | yaml: 2.7.1 4014 | optionalDependencies: 4015 | postcss: 8.5.3 4016 | 4017 | postcss-nested@6.2.0(postcss@8.5.3): 4018 | dependencies: 4019 | postcss: 8.5.3 4020 | postcss-selector-parser: 6.1.2 4021 | 4022 | postcss-selector-parser@6.1.2: 4023 | dependencies: 4024 | cssesc: 3.0.0 4025 | util-deprecate: 1.0.2 4026 | 4027 | postcss-value-parser@4.2.0: {} 4028 | 4029 | postcss@8.5.3: 4030 | dependencies: 4031 | nanoid: 3.3.11 4032 | picocolors: 1.1.1 4033 | source-map-js: 1.2.1 4034 | 4035 | prelude-ls@1.2.1: {} 4036 | 4037 | punycode@2.3.1: {} 4038 | 4039 | queue-microtask@1.2.3: {} 4040 | 4041 | read-cache@1.0.0: 4042 | dependencies: 4043 | pify: 2.3.0 4044 | 4045 | read-pkg-up@7.0.1: 4046 | dependencies: 4047 | find-up: 4.1.0 4048 | read-pkg: 5.2.0 4049 | type-fest: 0.8.1 4050 | 4051 | read-pkg@3.0.0: 4052 | dependencies: 4053 | load-json-file: 4.0.0 4054 | normalize-package-data: 2.5.0 4055 | path-type: 3.0.0 4056 | 4057 | read-pkg@5.2.0: 4058 | dependencies: 4059 | '@types/normalize-package-data': 2.4.4 4060 | normalize-package-data: 2.5.0 4061 | parse-json: 5.2.0 4062 | type-fest: 0.6.0 4063 | 4064 | readdirp@3.6.0: 4065 | dependencies: 4066 | picomatch: 2.3.1 4067 | 4068 | reflect.getprototypeof@1.0.10: 4069 | dependencies: 4070 | call-bind: 1.0.8 4071 | define-properties: 1.2.1 4072 | es-abstract: 1.23.9 4073 | es-errors: 1.3.0 4074 | es-object-atoms: 1.1.1 4075 | get-intrinsic: 1.3.0 4076 | get-proto: 1.0.1 4077 | which-builtin-type: 1.2.1 4078 | 4079 | regexp-tree@0.1.27: {} 4080 | 4081 | regexp.prototype.flags@1.5.4: 4082 | dependencies: 4083 | call-bind: 1.0.8 4084 | define-properties: 1.2.1 4085 | es-errors: 1.3.0 4086 | get-proto: 1.0.1 4087 | gopd: 1.2.0 4088 | set-function-name: 2.0.2 4089 | 4090 | regexpp@3.2.0: {} 4091 | 4092 | regjsparser@0.9.1: 4093 | dependencies: 4094 | jsesc: 0.5.0 4095 | 4096 | resolve-from@4.0.0: {} 4097 | 4098 | resolve@1.22.10: 4099 | dependencies: 4100 | is-core-module: 2.16.1 4101 | path-parse: 1.0.7 4102 | supports-preserve-symlinks-flag: 1.0.0 4103 | 4104 | reusify@1.1.0: {} 4105 | 4106 | rimraf@3.0.2: 4107 | dependencies: 4108 | glob: 7.2.3 4109 | 4110 | rollup@2.79.2: 4111 | optionalDependencies: 4112 | fsevents: 2.3.3 4113 | 4114 | run-parallel@1.2.0: 4115 | dependencies: 4116 | queue-microtask: 1.2.3 4117 | 4118 | safe-array-concat@1.1.3: 4119 | dependencies: 4120 | call-bind: 1.0.8 4121 | call-bound: 1.0.4 4122 | get-intrinsic: 1.3.0 4123 | has-symbols: 1.1.0 4124 | isarray: 2.0.5 4125 | 4126 | safe-push-apply@1.0.0: 4127 | dependencies: 4128 | es-errors: 1.3.0 4129 | isarray: 2.0.5 4130 | 4131 | safe-regex-test@1.1.0: 4132 | dependencies: 4133 | call-bound: 1.0.4 4134 | es-errors: 1.3.0 4135 | is-regex: 1.2.1 4136 | 4137 | safe-regex@2.1.1: 4138 | dependencies: 4139 | regexp-tree: 0.1.27 4140 | 4141 | semver@5.7.2: {} 4142 | 4143 | semver@6.3.1: {} 4144 | 4145 | semver@7.7.1: {} 4146 | 4147 | set-function-length@1.2.2: 4148 | dependencies: 4149 | define-data-property: 1.1.4 4150 | es-errors: 1.3.0 4151 | function-bind: 1.1.2 4152 | get-intrinsic: 1.3.0 4153 | gopd: 1.2.0 4154 | has-property-descriptors: 1.0.2 4155 | 4156 | set-function-name@2.0.2: 4157 | dependencies: 4158 | define-data-property: 1.1.4 4159 | es-errors: 1.3.0 4160 | functions-have-names: 1.2.3 4161 | has-property-descriptors: 1.0.2 4162 | 4163 | set-proto@1.0.0: 4164 | dependencies: 4165 | dunder-proto: 1.0.1 4166 | es-errors: 1.3.0 4167 | es-object-atoms: 1.1.1 4168 | 4169 | shebang-command@1.2.0: 4170 | dependencies: 4171 | shebang-regex: 1.0.0 4172 | 4173 | shebang-command@2.0.0: 4174 | dependencies: 4175 | shebang-regex: 3.0.0 4176 | 4177 | shebang-regex@1.0.0: {} 4178 | 4179 | shebang-regex@3.0.0: {} 4180 | 4181 | shell-quote@1.8.2: {} 4182 | 4183 | side-channel-list@1.0.0: 4184 | dependencies: 4185 | es-errors: 1.3.0 4186 | object-inspect: 1.13.4 4187 | 4188 | side-channel-map@1.0.1: 4189 | dependencies: 4190 | call-bound: 1.0.4 4191 | es-errors: 1.3.0 4192 | get-intrinsic: 1.3.0 4193 | object-inspect: 1.13.4 4194 | 4195 | side-channel-weakmap@1.0.2: 4196 | dependencies: 4197 | call-bound: 1.0.4 4198 | es-errors: 1.3.0 4199 | get-intrinsic: 1.3.0 4200 | object-inspect: 1.13.4 4201 | side-channel-map: 1.0.1 4202 | 4203 | side-channel@1.1.0: 4204 | dependencies: 4205 | es-errors: 1.3.0 4206 | object-inspect: 1.13.4 4207 | side-channel-list: 1.0.0 4208 | side-channel-map: 1.0.1 4209 | side-channel-weakmap: 1.0.2 4210 | 4211 | signal-exit@4.1.0: {} 4212 | 4213 | slash@3.0.0: {} 4214 | 4215 | source-map-js@1.2.1: {} 4216 | 4217 | spdx-correct@3.2.0: 4218 | dependencies: 4219 | spdx-expression-parse: 3.0.1 4220 | spdx-license-ids: 3.0.21 4221 | 4222 | spdx-exceptions@2.5.0: {} 4223 | 4224 | spdx-expression-parse@3.0.1: 4225 | dependencies: 4226 | spdx-exceptions: 2.5.0 4227 | spdx-license-ids: 3.0.21 4228 | 4229 | spdx-license-ids@3.0.21: {} 4230 | 4231 | string-width@4.2.3: 4232 | dependencies: 4233 | emoji-regex: 8.0.0 4234 | is-fullwidth-code-point: 3.0.0 4235 | strip-ansi: 6.0.1 4236 | 4237 | string-width@5.1.2: 4238 | dependencies: 4239 | eastasianwidth: 0.2.0 4240 | emoji-regex: 9.2.2 4241 | strip-ansi: 7.1.0 4242 | 4243 | string.prototype.padend@3.1.6: 4244 | dependencies: 4245 | call-bind: 1.0.8 4246 | define-properties: 1.2.1 4247 | es-abstract: 1.23.9 4248 | es-object-atoms: 1.1.1 4249 | 4250 | string.prototype.trim@1.2.10: 4251 | dependencies: 4252 | call-bind: 1.0.8 4253 | call-bound: 1.0.4 4254 | define-data-property: 1.1.4 4255 | define-properties: 1.2.1 4256 | es-abstract: 1.23.9 4257 | es-object-atoms: 1.1.1 4258 | has-property-descriptors: 1.0.2 4259 | 4260 | string.prototype.trimend@1.0.9: 4261 | dependencies: 4262 | call-bind: 1.0.8 4263 | call-bound: 1.0.4 4264 | define-properties: 1.2.1 4265 | es-object-atoms: 1.1.1 4266 | 4267 | string.prototype.trimstart@1.0.8: 4268 | dependencies: 4269 | call-bind: 1.0.8 4270 | define-properties: 1.2.1 4271 | es-object-atoms: 1.1.1 4272 | 4273 | strip-ansi@6.0.1: 4274 | dependencies: 4275 | ansi-regex: 5.0.1 4276 | 4277 | strip-ansi@7.1.0: 4278 | dependencies: 4279 | ansi-regex: 6.1.0 4280 | 4281 | strip-bom@3.0.0: {} 4282 | 4283 | strip-indent@3.0.0: 4284 | dependencies: 4285 | min-indent: 1.0.1 4286 | 4287 | strip-json-comments@3.1.1: {} 4288 | 4289 | sucrase@3.35.0: 4290 | dependencies: 4291 | '@jridgewell/gen-mapping': 0.3.8 4292 | commander: 4.1.1 4293 | glob: 10.4.5 4294 | lines-and-columns: 1.2.4 4295 | mz: 2.7.0 4296 | pirates: 4.0.7 4297 | ts-interface-checker: 0.1.13 4298 | 4299 | supports-color@5.5.0: 4300 | dependencies: 4301 | has-flag: 3.0.0 4302 | 4303 | supports-color@7.2.0: 4304 | dependencies: 4305 | has-flag: 4.0.0 4306 | 4307 | supports-preserve-symlinks-flag@1.0.0: {} 4308 | 4309 | synckit@0.10.3: 4310 | dependencies: 4311 | '@pkgr/core': 0.2.1 4312 | tslib: 2.8.1 4313 | 4314 | tailwindcss@3.4.17: 4315 | dependencies: 4316 | '@alloc/quick-lru': 5.2.0 4317 | arg: 5.0.2 4318 | chokidar: 3.6.0 4319 | didyoumean: 1.2.2 4320 | dlv: 1.1.3 4321 | fast-glob: 3.3.3 4322 | glob-parent: 6.0.2 4323 | is-glob: 4.0.3 4324 | jiti: 1.21.7 4325 | lilconfig: 3.1.3 4326 | micromatch: 4.0.8 4327 | normalize-path: 3.0.0 4328 | object-hash: 3.0.0 4329 | picocolors: 1.1.1 4330 | postcss: 8.5.3 4331 | postcss-import: 15.1.0(postcss@8.5.3) 4332 | postcss-js: 4.0.1(postcss@8.5.3) 4333 | postcss-load-config: 4.0.2(postcss@8.5.3) 4334 | postcss-nested: 6.2.0(postcss@8.5.3) 4335 | postcss-selector-parser: 6.1.2 4336 | resolve: 1.22.10 4337 | sucrase: 3.35.0 4338 | transitivePeerDependencies: 4339 | - ts-node 4340 | 4341 | text-table@0.2.0: {} 4342 | 4343 | thenify-all@1.6.0: 4344 | dependencies: 4345 | thenify: 3.3.1 4346 | 4347 | thenify@3.3.1: 4348 | dependencies: 4349 | any-promise: 1.3.0 4350 | 4351 | to-regex-range@5.0.1: 4352 | dependencies: 4353 | is-number: 7.0.0 4354 | 4355 | ts-interface-checker@0.1.13: {} 4356 | 4357 | tsconfig-paths@3.15.0: 4358 | dependencies: 4359 | '@types/json5': 0.0.29 4360 | json5: 1.0.2 4361 | minimist: 1.2.8 4362 | strip-bom: 3.0.0 4363 | 4364 | tslib@1.14.1: {} 4365 | 4366 | tslib@2.8.1: {} 4367 | 4368 | tsutils@3.21.0(typescript@4.7.4): 4369 | dependencies: 4370 | tslib: 1.14.1 4371 | typescript: 4.7.4 4372 | 4373 | type-check@0.4.0: 4374 | dependencies: 4375 | prelude-ls: 1.2.1 4376 | 4377 | type-fest@0.20.2: {} 4378 | 4379 | type-fest@0.6.0: {} 4380 | 4381 | type-fest@0.8.1: {} 4382 | 4383 | typed-array-buffer@1.0.3: 4384 | dependencies: 4385 | call-bound: 1.0.4 4386 | es-errors: 1.3.0 4387 | is-typed-array: 1.1.15 4388 | 4389 | typed-array-byte-length@1.0.3: 4390 | dependencies: 4391 | call-bind: 1.0.8 4392 | for-each: 0.3.5 4393 | gopd: 1.2.0 4394 | has-proto: 1.2.0 4395 | is-typed-array: 1.1.15 4396 | 4397 | typed-array-byte-offset@1.0.4: 4398 | dependencies: 4399 | available-typed-arrays: 1.0.7 4400 | call-bind: 1.0.8 4401 | for-each: 0.3.5 4402 | gopd: 1.2.0 4403 | has-proto: 1.2.0 4404 | is-typed-array: 1.1.15 4405 | reflect.getprototypeof: 1.0.10 4406 | 4407 | typed-array-length@1.0.7: 4408 | dependencies: 4409 | call-bind: 1.0.8 4410 | for-each: 0.3.5 4411 | gopd: 1.2.0 4412 | is-typed-array: 1.1.15 4413 | possible-typed-array-names: 1.1.0 4414 | reflect.getprototypeof: 1.0.10 4415 | 4416 | typescript@4.7.4: {} 4417 | 4418 | unbox-primitive@1.1.0: 4419 | dependencies: 4420 | call-bound: 1.0.4 4421 | has-bigints: 1.1.0 4422 | has-symbols: 1.1.0 4423 | which-boxed-primitive: 1.1.1 4424 | 4425 | unist-util-stringify-position@2.0.3: 4426 | dependencies: 4427 | '@types/unist': 2.0.11 4428 | 4429 | update-browserslist-db@1.1.3(browserslist@4.24.4): 4430 | dependencies: 4431 | browserslist: 4.24.4 4432 | escalade: 3.2.0 4433 | picocolors: 1.1.1 4434 | 4435 | uri-js@4.4.1: 4436 | dependencies: 4437 | punycode: 2.3.1 4438 | 4439 | util-deprecate@1.0.2: {} 4440 | 4441 | validate-npm-package-license@3.0.4: 4442 | dependencies: 4443 | spdx-correct: 3.2.0 4444 | spdx-expression-parse: 3.0.1 4445 | 4446 | vite@3.2.11(@types/node@16.18.126): 4447 | dependencies: 4448 | esbuild: 0.15.18 4449 | postcss: 8.5.3 4450 | resolve: 1.22.10 4451 | rollup: 2.79.2 4452 | optionalDependencies: 4453 | '@types/node': 16.18.126 4454 | fsevents: 2.3.3 4455 | 4456 | vue-demi@0.14.10(vue@3.5.13(typescript@4.7.4)): 4457 | dependencies: 4458 | vue: 3.5.13(typescript@4.7.4) 4459 | 4460 | vue-eslint-parser@9.4.3(eslint@8.57.1): 4461 | dependencies: 4462 | debug: 4.4.0 4463 | eslint: 8.57.1 4464 | eslint-scope: 7.2.2 4465 | eslint-visitor-keys: 3.4.3 4466 | espree: 9.6.1 4467 | esquery: 1.6.0 4468 | lodash: 4.17.21 4469 | semver: 7.7.1 4470 | transitivePeerDependencies: 4471 | - supports-color 4472 | 4473 | vue-tsc@0.38.9(typescript@4.7.4): 4474 | dependencies: 4475 | '@volar/vue-typescript': 0.38.9 4476 | typescript: 4.7.4 4477 | 4478 | vue@3.5.13(typescript@4.7.4): 4479 | dependencies: 4480 | '@vue/compiler-dom': 3.5.13 4481 | '@vue/compiler-sfc': 3.5.13 4482 | '@vue/runtime-dom': 3.5.13 4483 | '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@4.7.4)) 4484 | '@vue/shared': 3.5.13 4485 | optionalDependencies: 4486 | typescript: 4.7.4 4487 | 4488 | which-boxed-primitive@1.1.1: 4489 | dependencies: 4490 | is-bigint: 1.1.0 4491 | is-boolean-object: 1.2.2 4492 | is-number-object: 1.1.1 4493 | is-string: 1.1.1 4494 | is-symbol: 1.1.1 4495 | 4496 | which-builtin-type@1.2.1: 4497 | dependencies: 4498 | call-bound: 1.0.4 4499 | function.prototype.name: 1.1.8 4500 | has-tostringtag: 1.0.2 4501 | is-async-function: 2.1.1 4502 | is-date-object: 1.1.0 4503 | is-finalizationregistry: 1.1.1 4504 | is-generator-function: 1.1.0 4505 | is-regex: 1.2.1 4506 | is-weakref: 1.1.1 4507 | isarray: 2.0.5 4508 | which-boxed-primitive: 1.1.1 4509 | which-collection: 1.0.2 4510 | which-typed-array: 1.1.19 4511 | 4512 | which-collection@1.0.2: 4513 | dependencies: 4514 | is-map: 2.0.3 4515 | is-set: 2.0.3 4516 | is-weakmap: 2.0.2 4517 | is-weakset: 2.0.4 4518 | 4519 | which-typed-array@1.1.19: 4520 | dependencies: 4521 | available-typed-arrays: 1.0.7 4522 | call-bind: 1.0.8 4523 | call-bound: 1.0.4 4524 | for-each: 0.3.5 4525 | get-proto: 1.0.1 4526 | gopd: 1.2.0 4527 | has-tostringtag: 1.0.2 4528 | 4529 | which@1.3.1: 4530 | dependencies: 4531 | isexe: 2.0.0 4532 | 4533 | which@2.0.2: 4534 | dependencies: 4535 | isexe: 2.0.0 4536 | 4537 | word-wrap@1.2.5: {} 4538 | 4539 | wrap-ansi@7.0.0: 4540 | dependencies: 4541 | ansi-styles: 4.3.0 4542 | string-width: 4.2.3 4543 | strip-ansi: 6.0.1 4544 | 4545 | wrap-ansi@8.1.0: 4546 | dependencies: 4547 | ansi-styles: 6.2.1 4548 | string-width: 5.1.2 4549 | strip-ansi: 7.1.0 4550 | 4551 | wrappy@1.0.2: {} 4552 | 4553 | xml-name-validator@4.0.0: {} 4554 | 4555 | yaml-eslint-parser@1.3.0: 4556 | dependencies: 4557 | eslint-visitor-keys: 3.4.3 4558 | yaml: 2.7.1 4559 | 4560 | yaml@2.7.1: {} 4561 | 4562 | yocto-queue@0.1.0: {} 4563 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {} 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hacker-C/vue3-terminal/22f24c186a9885d5f609e9d33dcf4ad1298b762f/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /src/assets/fonts/Monaco.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hacker-C/vue3-terminal/22f24c186a9885d5f609e9d33dcf4ad1298b762f/src/assets/fonts/Monaco.ttf -------------------------------------------------------------------------------- /src/assets/images/bg-macos.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hacker-C/vue3-terminal/22f24c186a9885d5f609e9d33dcf4ad1298b762f/src/assets/images/bg-macos.jpg -------------------------------------------------------------------------------- /src/components/FolderTree/FolderTree.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 49 | -------------------------------------------------------------------------------- /src/components/FolderTree/RootTree.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /src/components/TermBody/TermBody.vue: -------------------------------------------------------------------------------- 1 | 64 | 65 | 94 | -------------------------------------------------------------------------------- /src/components/TermBody/TermCommand/BaseCommand.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 30 | -------------------------------------------------------------------------------- /src/components/TermBody/TermCommand/HistoryCommand.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 53 | -------------------------------------------------------------------------------- /src/components/TermBody/TermCommand/InputCommand.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 55 | -------------------------------------------------------------------------------- /src/components/TermHeader.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 42 | -------------------------------------------------------------------------------- /src/components/TermMessage.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 28 | -------------------------------------------------------------------------------- /src/components/common/TermHelp.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | -------------------------------------------------------------------------------- /src/components/common/TermWelcome.vue: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /src/hooks/useAddEventListener.ts: -------------------------------------------------------------------------------- 1 | import { onMounted, onUnmounted } from 'vue' 2 | 3 | export default function useAddEventListener( 4 | target: EventTarget, 5 | event: keyof DocumentEventMap, 6 | callback: EventListener 7 | ) { 8 | onMounted(() => target.addEventListener(event, callback)) 9 | onUnmounted(() => target.removeEventListener(event, callback)) 10 | } 11 | -------------------------------------------------------------------------------- /src/hooks/useFullScreen.ts: -------------------------------------------------------------------------------- 1 | import type { Ref } from 'vue' 2 | 3 | export function fullScreen(obj: Ref) { 4 | obj.value && (obj.value.style.position = 'fixed') 5 | obj.value && (obj.value.style.top = '0') 6 | obj.value && (obj.value.style.left = '0') 7 | obj.value && (obj.value.style.width = '100vw') 8 | obj.value && (obj.value.style.height = '100vh') 9 | } 10 | 11 | export function exitFullScreen(obj: Ref) { 12 | obj.value && (obj.value.style.position = 'absolute') 13 | obj.value && (obj.value.style.top = '') 14 | obj.value && (obj.value.style.left = '') 15 | obj.value && (obj.value.style.width = '80%') 16 | obj.value && (obj.value.style.height = '90vh') 17 | } 18 | -------------------------------------------------------------------------------- /src/hooks/useGlobalFocus.ts: -------------------------------------------------------------------------------- 1 | import type { Ref } from 'vue' 2 | import useAddEventListener from './useAddEventListener' 3 | 4 | export default function (el: Ref) { 5 | useAddEventListener(document, 'keydown', () => { 6 | if (el.value) { 7 | el.value.focus() 8 | } 9 | }) 10 | } 11 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import { createPinia } from 'pinia' 3 | import App from './App.vue' 4 | 5 | import './styles/index.css' 6 | 7 | createApp(App).use(createPinia()).mount('#app') 8 | -------------------------------------------------------------------------------- /src/store/commands/cat.ts: -------------------------------------------------------------------------------- 1 | import { toRefs } from 'vue' 2 | import useDirectoryStore from '../useDirectoryStore' 3 | 4 | export const cat = function (commandStr: string) { 5 | const { setHistoryPath, addShowCommand, splitCommand } = useDirectoryStore() 6 | setHistoryPath() 7 | // cat file.txt 8 | const { dir } = toRefs(useDirectoryStore()) 9 | const targetFileName = splitCommand(commandStr)[1] 10 | const file = dir.value.files.find(file => file.name === targetFileName) 11 | addShowCommand({ 12 | commandStr, 13 | type: 'info', 14 | description: file ? file.value : 'file not found' 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /src/store/commands/cd.ts: -------------------------------------------------------------------------------- 1 | import { toRefs } from 'vue' 2 | import type { Directory } from '../useDirectoryStore' 3 | import useDirectoryStore from '../useDirectoryStore' 4 | 5 | // cd .. 6 | export const cdBack = () => { 7 | const { dir } = toRefs(useDirectoryStore()) 8 | if (dir.value.previous) { 9 | dir.value = dir.value.previous as Directory 10 | } 11 | } 12 | 13 | // cd dir 14 | export const cd = (commandStr: string) => { 15 | const { setHistoryPath, addShowCommand, splitCommand } = useDirectoryStore() 16 | const { dir } = toRefs(useDirectoryStore()) 17 | setHistoryPath() 18 | const dirname = splitCommand(commandStr)[1] 19 | if (dirname === '..') { 20 | // cd .. 21 | cdBack() 22 | return addShowCommand({ 23 | commandStr, 24 | type: 'success' 25 | }) 26 | } 27 | const targetDirIndex = dir.value.directories.findIndex( 28 | curDir => curDir.name === dirname 29 | ) 30 | if (targetDirIndex === -1) { 31 | // fail 32 | return addShowCommand({ 33 | commandStr, 34 | type: 'warning', 35 | description: 'directory not found' 36 | }) 37 | } 38 | // success 39 | dir.value = dir.value.directories[targetDirIndex] 40 | addShowCommand({ 41 | commandStr, 42 | type: 'success' 43 | }) 44 | } 45 | -------------------------------------------------------------------------------- /src/store/commands/clear.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // clear screen 4 | export const clearShowCommands = () => { 5 | const { showCommands } = useDirectoryStore() 6 | showCommands.splice(0, showCommands.length) 7 | } 8 | -------------------------------------------------------------------------------- /src/store/commands/echo.ts: -------------------------------------------------------------------------------- 1 | import { toRefs } from 'vue' 2 | import type { File } from '../useDirectoryStore' 3 | import useDirectoryStore from '../useDirectoryStore' 4 | 5 | export const echo = (commandStr: string) => { 6 | const { setHistoryPath, addShowCommand, splitCommand } = useDirectoryStore() 7 | setHistoryPath() 8 | // echo hello world 9 | // echo hello world > file.txt 10 | const countOf = (chr: string) => commandStr.split(chr).length - 1 11 | if (countOf('>') > 2) { 12 | // illegal arguments, such as `echo > >> file` 13 | addShowCommand({ 14 | commandStr, 15 | type: 'error', 16 | description: 'echo: illegal arguments' 17 | }) 18 | return 19 | } 20 | const re = /[^>^\s]{1,}\s{0,}(>>|>)\s{0,}[^>^\s]{1,}/ 21 | let params = splitCommand(commandStr)[1] 22 | if (!params.includes('>')) { 23 | // normal echo output 24 | addShowCommand({ 25 | commandStr, 26 | type: 'info', 27 | description: params 28 | }) 29 | return 30 | } 31 | if ( 32 | !(params.lastIndexOf('>') - params.indexOf('>') <= 1 && re.test(params)) 33 | ) { 34 | // illegal arguments, such as `echo > 111 > 222` 35 | addShowCommand({ 36 | commandStr, 37 | type: 'error', 38 | description: 'echo: illegal arguments' 39 | }) 40 | return 41 | } 42 | /* 43 | * echo text > file.txt: write text to file.txt 44 | * echo text >> file.txt: append text to file.txt 45 | */ 46 | // hello world > file.txt 47 | const { dir } = toRefs(useDirectoryStore()) 48 | params = params.trim() 49 | const [text, targetFile] = params.split(/>>|>/) 50 | // check if the file exists 51 | let file = dir.value.files.find(f => f.name === targetFile.trim()) 52 | if (!file) { 53 | // if the file does not exist, mkdir it 54 | const newFile = { 55 | name: targetFile.trim(), 56 | type: 'file', 57 | value: text.trim() 58 | } 59 | dir.value.files.push(newFile) 60 | } 61 | !file && (file = dir.value.files.find(f => f.name === targetFile.trim())) 62 | if (params.includes('>>')) { 63 | // `echo text >> file`: append text to file 64 | (file).value += text.trim() 65 | } else { 66 | // `echo text > file`: write text to file 67 | (file).value = text.trim() 68 | } 69 | addShowCommand({ 70 | commandStr, 71 | type: 'success' 72 | }) 73 | } 74 | -------------------------------------------------------------------------------- /src/store/commands/help.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // help 4 | export const help = (commandStr: string) => { 5 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 6 | setHistoryPath() 7 | addShowCommand({ 8 | commandStr, 9 | type: 'info', 10 | description: 'valid commands:' 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /src/store/commands/ls.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // ls 4 | export const filesAndDirectories = () => { 5 | const { dir } = useDirectoryStore() 6 | const files = dir.files.map(file => file.name).join('\n') 7 | const directories = dir.directories.map(curDir => curDir.name).join('\n') 8 | return [`${files}\n`, directories] 9 | } 10 | export const ls = (commandStr: string) => { 11 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 12 | setHistoryPath() 13 | addShowCommand({ 14 | commandStr, 15 | type: 'info' 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /src/store/commands/mkdir.ts: -------------------------------------------------------------------------------- 1 | import { storeToRefs } from 'pinia' 2 | import useDirectoryStore from '../useDirectoryStore' 3 | 4 | // mkdir dirName 5 | export const mkdir = (commandStr: string) => { 6 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 7 | const { dir } = storeToRefs(useDirectoryStore()) 8 | setHistoryPath() 9 | // only get the first file directory parameter 10 | const dirName = commandStr.split(' ')[1] 11 | const targetDirIndex = dir.value.directories.findIndex( 12 | curDir => curDir.name === dirName 13 | ) 14 | if (targetDirIndex !== -1) { 15 | // if the directory already exists, operation failed 16 | addShowCommand({ 17 | commandStr, 18 | type: 'warning', 19 | description: `dir ${dirName} exists!` 20 | }) 21 | return 22 | } 23 | // success 24 | dir.value.directories.push({ 25 | id: dir.value.directories.length, 26 | name: dirName, 27 | files: [], 28 | previous: dir.value, 29 | directories: [] 30 | }) 31 | addShowCommand({ 32 | commandStr, 33 | type: 'success' 34 | }) 35 | } 36 | -------------------------------------------------------------------------------- /src/store/commands/open.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | const go = function (commandStr: string, uri: string) { 4 | const { addShowCommand } = useDirectoryStore() 5 | addShowCommand({ 6 | commandStr, 7 | type: 'success' 8 | }) 9 | setTimeout(() => { 10 | window.location = (/^https{0,1}/.test(uri) ? uri : `//${uri}`) as ( 11 | | string 12 | | Location 13 | ) & 14 | Location 15 | }, 1000) 16 | } 17 | 18 | export const open = function (commandStr: string) { 19 | const { setHistoryPath, splitCommand } = useDirectoryStore() 20 | const uri = splitCommand(commandStr)[1] 21 | setHistoryPath() 22 | go(commandStr, uri) 23 | } 24 | 25 | export const google = function (commandStr: string) { 26 | const { setHistoryPath, splitCommand } = useDirectoryStore() 27 | const keywords = splitCommand(commandStr)[1] 28 | setHistoryPath() 29 | go(commandStr, `www.google.com/search?q=${keywords}`) 30 | } 31 | 32 | export const baidu = function (commandStr: string) { 33 | const { setHistoryPath, splitCommand } = useDirectoryStore() 34 | const keywords = splitCommand(commandStr)[1] 35 | setHistoryPath() 36 | go(commandStr, `www.baidu.com/s?wd=${keywords}`) 37 | } 38 | 39 | export const github = function () { 40 | const { setHistoryPath } = useDirectoryStore() 41 | setHistoryPath() 42 | go('github', 'https://github.com/Hacker-C/vue3-terminal') 43 | } 44 | -------------------------------------------------------------------------------- /src/store/commands/pwd.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // pwd 4 | export const pwd = (commandStr: string) => { 5 | const { setHistoryPath, addShowCommand, currentFullPath } = useDirectoryStore() 6 | setHistoryPath() 7 | addShowCommand({ 8 | commandStr, 9 | type: 'success', 10 | description: currentFullPath 11 | }) 12 | } 13 | -------------------------------------------------------------------------------- /src/store/commands/rm.ts: -------------------------------------------------------------------------------- 1 | import { storeToRefs } from 'pinia' 2 | import useDirectoryStore from '../useDirectoryStore' 3 | 4 | export const rm = (commandStr: string) => { 5 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 6 | const { dir } = storeToRefs(useDirectoryStore()) 7 | setHistoryPath() 8 | const fileName = commandStr.split(' ')[1] 9 | const targetFileIndex = dir.value.files.findIndex( 10 | curFile => curFile.name === fileName 11 | ) 12 | if (targetFileIndex === -1) { 13 | return addShowCommand({ 14 | commandStr, 15 | isValid: true, 16 | type: 'error', 17 | description: `no such file: '${fileName}'` 18 | }) 19 | } 20 | dir.value.files.splice(targetFileIndex, 1) 21 | addShowCommand({ 22 | commandStr, 23 | isValid: true, 24 | type: 'success', 25 | description: `remove '${fileName}' successfully` 26 | }) 27 | } 28 | -------------------------------------------------------------------------------- /src/store/commands/touch.ts: -------------------------------------------------------------------------------- 1 | import { storeToRefs } from 'pinia' 2 | import useDirectoryStore from '../useDirectoryStore' 3 | 4 | // touch fileName 5 | export const touch = (commandStr: string) => { 6 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 7 | const { dir } = storeToRefs(useDirectoryStore()) 8 | setHistoryPath() 9 | // only get the first file name 10 | const fileName = commandStr.split(' ')[1] 11 | const targetFileIndex = dir.value.files.findIndex( 12 | file => file.name === fileName 13 | ) 14 | if (targetFileIndex !== -1) { 15 | // if the file already exists, operation failed 16 | addShowCommand({ 17 | commandStr, 18 | type: 'warning', 19 | description: `file ${fileName} exists!` 20 | }) 21 | return 22 | } 23 | // success 24 | dir.value.files.push({ name: fileName, value: '' }) 25 | addShowCommand({ 26 | commandStr, 27 | type: 'success' 28 | }) 29 | } 30 | -------------------------------------------------------------------------------- /src/store/commands/tree.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // TODO: fix the reactive state 4 | export const tree = (commandStr: string) => { 5 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 6 | setHistoryPath() 7 | addShowCommand({ 8 | commandStr, 9 | type: 'info' 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /src/store/commands/welcome.ts: -------------------------------------------------------------------------------- 1 | import useDirectoryStore from '../useDirectoryStore' 2 | 3 | // 模拟 welcome 4 | export const welcome = (commandStr: string) => { 5 | const { setHistoryPath, addShowCommand } = useDirectoryStore() 6 | setHistoryPath() 7 | addShowCommand({ 8 | commandStr, 9 | type: 'info' 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /src/store/useDirectoryStore.ts: -------------------------------------------------------------------------------- 1 | import { defineStore } from 'pinia' 2 | import { computed, ref } from 'vue' 3 | import { cat } from './commands/cat' 4 | import { cd, cdBack } from './commands/cd' 5 | import { clearShowCommands } from './commands/clear' 6 | import { echo } from './commands/echo' 7 | import { help } from './commands/help' 8 | import { filesAndDirectories, ls } from './commands/ls' 9 | import { mkdir } from './commands/mkdir' 10 | import { baidu, github, google } from './commands/open' 11 | import { pwd } from './commands/pwd' 12 | import { rm } from './commands/rm' 13 | import { touch } from './commands/touch' 14 | import { tree } from './commands/tree' 15 | import { welcome } from './commands/welcome' 16 | 17 | // the structure of file 18 | export interface File { 19 | name: string 20 | value: string 21 | } 22 | 23 | // the directory system data structure 24 | export interface Directory { 25 | id: number 26 | name: string 27 | files: File[] 28 | directories: Directory[] 29 | previous: Directory | null 30 | } 31 | 32 | // the command data structure 33 | export interface Command { 34 | commandStr: string 35 | isValid?: boolean 36 | type: 'success' | 'error' | 'warning' | 'info' 37 | description?: string 38 | } 39 | 40 | // init the root directory 41 | function initDir(): Directory { 42 | const dir: Directory = { 43 | id: 0, 44 | name: '/', 45 | files: [ 46 | { name: 'file1.txt', value: 'hello, just some text' }, 47 | { name: 'file2.txt', value: 'hello, just some text' } 48 | ], 49 | previous: null, 50 | directories: [] 51 | } 52 | let temp = dir 53 | temp.directories.push({ 54 | id: 1, 55 | name: 'home', 56 | files: [], 57 | previous: temp, 58 | directories: [] 59 | }) 60 | temp = temp.directories[0] 61 | temp.directories.push({ 62 | id: 2, 63 | name: 'murphy', 64 | files: [], 65 | previous: temp, 66 | directories: [] 67 | }) 68 | return dir 69 | } 70 | 71 | // resolve the command 72 | function splitCommand(command: string): string[] { 73 | return [command.split(' ')[0], command.split(' ').slice(1).join(' ')] 74 | } 75 | 76 | const useDirectoryStore = defineStore('directory', () => { 77 | // the current directory pointer 78 | const dir = ref(initDir().directories[0].directories[0]) 79 | // current directory name 80 | const currentDirName = computed(() => dir.value.name) 81 | // current full name of the current path 82 | const currentFullPath = computed(() => { 83 | let path = dir.value.name 84 | let temp = dir.value.previous 85 | while (temp) { 86 | path = `${temp.name === '/' ? '' : temp.name}/${path}` 87 | temp = temp.previous 88 | } 89 | return path 90 | }) 91 | 92 | // reset the dir 93 | const reset = () => { 94 | dir.value = { 95 | id: 0, 96 | name: '/', 97 | files: [], 98 | previous: null, 99 | directories: [] 100 | } 101 | } 102 | 103 | // valid commands(finished commands) 104 | const ValidCommands = ['cd', 'ls', 'pwd', 'clear', 'mkdir', 'touch', 'welcome', 'help', 'echo', 'cat', 'open', 'google', 'baidu', 'github', 'rm', 'tree'] 105 | const commandDescription = [ 106 | 'cd [dirname] - change directory', 107 | 'ls - list files in current directory', 108 | 'pwd - print current directory', 109 | 'clear - clear screen', 110 | 'mkdir [dirname] - create directory', 111 | 'touch [filename] - create file', 112 | 'welcome - welcome message', 113 | 'help - help message', 114 | 'echo [message] / echo [text] > [file] / echo [text] >> [file]', 115 | 'cat [filename] - cat file', 116 | 'open [url] - open url in new tab', 117 | 'google [keywords] - search keywords in google', 118 | 'baidu [keywords] - search keywords in baidu', 119 | 'github - the source code of this project', 120 | 'rm - rm [filename] - remove file', 121 | 'tree - show the directory tree' 122 | ] 123 | 124 | // help message 125 | const commandHelp = computed(() => { 126 | return ValidCommands.map((item, index) => { 127 | return [item, commandDescription[index]] 128 | }) 129 | }) 130 | 131 | // the command is valid or not 132 | const isValidCommand = (commandStr: string) => { 133 | return ValidCommands.includes(commandStr.split(' ')[0]) 134 | } 135 | 136 | // the history command displayed on the screen 137 | const showCommands = ref([]) 138 | 139 | // add a history command 140 | const addShowCommand = (command: Command) => { 141 | showCommands.value.push({ 142 | ...command, 143 | isValid: isValidCommand(command.commandStr) 144 | }) 145 | } 146 | 147 | // history path 148 | const historyPath = ref('/') 149 | // record history path 150 | const setHistoryPath = () => { 151 | historyPath.value = currentFullPath.value 152 | } 153 | 154 | // handle the unfinished commands 155 | const handleOther = (commandStr: string) => { 156 | setHistoryPath() 157 | addShowCommand({ 158 | commandStr, 159 | type: 'error', 160 | description: 'command not found!' 161 | }) 162 | } 163 | 164 | return { 165 | dir, 166 | reset, 167 | cd, 168 | cdBack, 169 | currentDirName, 170 | showCommands, 171 | clearShowCommands, 172 | addShowCommand, 173 | currentFullPath, 174 | historyPath, 175 | pwd, 176 | filesAndDirectories, 177 | ls, 178 | isValidCommand, 179 | mkdir, 180 | touch, 181 | setHistoryPath, 182 | commandHelp, 183 | welcome, 184 | help, 185 | handleOther, 186 | splitCommand, 187 | echo, 188 | cat, 189 | open, 190 | google, 191 | baidu, 192 | github, 193 | rm, 194 | tree 195 | } 196 | }) 197 | 198 | export default useDirectoryStore 199 | -------------------------------------------------------------------------------- /src/styles/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer components { 6 | .box-container { 7 | @apply w-[80vw] h-[90vh] overflow-hidden rounded-md mx-auto absolute font-[MonacoFont]; 8 | } 9 | 10 | .box-header { 11 | @apply bg-header h-[10%] flex; 12 | } 13 | 14 | .box-body { 15 | @apply text-white text-[17px] bg-body h-[90%] overflow-auto rounded-bl-md rounded-br-md p-5 pt-2; 16 | } 17 | 18 | .circle-container { 19 | @apply flex flex-row justify-around items-center w-20 p-2; 20 | } 21 | 22 | .center-dir-title { 23 | @apply flex-1 text-center flex items-center justify-center text-white text-xl; 24 | } 25 | 26 | .circle { 27 | @apply rounded-full h-3 w-3 flex items-center justify-center transition-all duration-200 ease-in-out; 28 | } 29 | 30 | .circle-icon { 31 | @apply w-3 h-3 hidden transition-all duration-200 ease-in-out; 32 | } 33 | 34 | /* 命令输入框 */ 35 | .command-input { 36 | @apply bg-body outline-none w-screen ml-5 text-red-600 caret-white border-none pb-1; 37 | } 38 | } 39 | 40 | @layer utilities { 41 | 42 | /* 三个功能按钮 */ 43 | .circle-container:hover div { 44 | @apply w-4 h-4; 45 | } 46 | 47 | .circle-container:hover .circle-icon { 48 | @apply block; 49 | } 50 | 51 | /* 修改滚动条样式 */ 52 | .scrollbar::-webkit-scrollbar { 53 | width: 14px; 54 | height: 20px; 55 | } 56 | 57 | .scrollbar::-webkit-scrollbar-track { 58 | background: #2c2c2c; 59 | } 60 | 61 | .scrollbar::-webkit-scrollbar-thumb { 62 | background: gray; 63 | border-radius: 7px; 64 | border: 2px solid #2c2c2c; 65 | } 66 | 67 | .scrollbar::-webkit-scrollbar-thumb:hover { 68 | background: #9f9f9f; 69 | } 70 | } 71 | 72 | /* 字体引入 */ 73 | @font-face { 74 | font-family: 'MonacoFont'; 75 | src: url('../assets//fonts/Monaco.ttf'); 76 | font-weight: normal; 77 | font-style: normal; 78 | font-display: block; 79 | } 80 | -------------------------------------------------------------------------------- /src/utils/provide-inject_keys.ts: -------------------------------------------------------------------------------- 1 | import type { InjectionKey } from 'vue' 2 | 3 | // temporarily close the key 4 | export const showKey = Symbol('showKey') as InjectionKey<() => void> 5 | 6 | // toggle full screen 7 | export const fullScreenKey = Symbol('fullScreenKey') as InjectionKey<() => void> 8 | 9 | // close the terminal 10 | export const closeKey = Symbol('closeKey') as InjectionKey<() => void> 11 | -------------------------------------------------------------------------------- /src/views/TermApp.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | 42 | 43 | 60 | -------------------------------------------------------------------------------- /src/views/TermContainer.vue: -------------------------------------------------------------------------------- 1 | 55 | 56 | 62 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | 3 | module.exports = { 4 | content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}'], 5 | theme: { 6 | extend: { 7 | colors: { 8 | body: '#0c0c0c', // 可以在类中使用 bg-primary 9 | header: '#39393b' // 可以在类中使用 bg-secondary 10 | } 11 | }, 12 | fontFamily: { 13 | monaco: ['Monaco, Monaco_Font'] 14 | } 15 | }, 16 | plugins: [] 17 | } 18 | -------------------------------------------------------------------------------- /tsconfig.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.node.json", 3 | "include": ["vite.config.*", "vitest.config.*", "cypress.config.*"], 4 | "compilerOptions": { 5 | "composite": true, 6 | "types": ["node"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.web.json", 3 | "include": [ 4 | "env.d.ts", 5 | "src/**/*", 6 | "src/**/*.vue" 7 | ], 8 | "compilerOptions": { 9 | "baseUrl": ".", 10 | "paths": { 11 | "@/*": ["./src/*"] 12 | } 13 | }, 14 | 15 | "references": [ 16 | { 17 | "path": "./tsconfig.config.json" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { URL, fileURLToPath } from 'node:url' 2 | 3 | import { defineConfig } from 'vite' 4 | import vue from '@vitejs/plugin-vue' 5 | 6 | export default defineConfig({ 7 | plugins: [ 8 | vue() 9 | ], 10 | resolve: { 11 | alias: { 12 | '@': fileURLToPath(new URL('./src', import.meta.url)) 13 | } 14 | } 15 | }) 16 | --------------------------------------------------------------------------------