From 2557174431db359107906587fe61c96be085ccff Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 13 Apr 2024 10:18:30 +0800 Subject: [PATCH] =?UTF-8?q?'=E5=88=9D=E5=A7=8B=E5=8C=96'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 + .env.production | 3 + .env.test | 4 + .eslintcache | 1 + .eslintignore | 2 + .eslintrc.cjs | 63 + .gitignore | 24 + .prettierrc.json | 9 + .stylelintignore | 4 + .stylelintrc.cjs | 53 + .vscode/extensions.json | 3 + README.md | 18 + index.html | 15 + mock/user.ts | 69 + package.json | 63 + pnpm-lock.yaml | 5108 ++++++++++++++++++++++ public/logo.png | Bin 0 -> 41821 bytes public/vite.svg | 1 + scripts/preinstall.js | 7 + src/.prettierignore | 7 + src/App.vue | 9 + src/api/user/index.ts | 18 + src/api/user/types.ts | 28 + src/assets/icons/bxx.svg | 1 + src/assets/icons/copyright.svg | 1 + src/assets/icons/exit-full.svg | 1 + src/assets/icons/full-screen.svg | 1 + src/assets/icons/home.svg | 1 + src/assets/icons/loading.svg | 1 + src/assets/icons/lock.svg | 1 + src/assets/icons/logout.svg | 1 + src/assets/icons/love.svg | 1 + src/assets/icons/phone.svg | 1 + src/assets/icons/refresh.svg | 1 + src/assets/icons/welcome.svg | 176 + src/assets/images/404.png.webp | Bin 0 -> 42612 bytes src/assets/images/404_cloud.png.webp | Bin 0 -> 2372 bytes src/assets/images/background.jpg | Bin 0 -> 47628 bytes src/assets/images/error_images/401.png | Bin 0 -> 58356 bytes src/assets/images/error_images/404.png | Bin 0 -> 23451 bytes src/assets/images/error_images/cloud.png | Bin 0 -> 2029 bytes src/assets/images/login_form.png | Bin 0 -> 10725 bytes src/assets/images/notData.png | Bin 0 -> 1168 bytes src/assets/images/tabbar-bg.png | Bin 0 -> 301 bytes src/components/SvgIcon/index.vue | 35 + src/components/index.ts | 16 + src/layout/index.vue | 136 + src/layout/logo/index.vue | 55 + src/layout/main/index.vue | 47 + src/layout/menu/index.vue | 72 + src/layout/tabbar/breadcrumb/index.vue | 36 + src/layout/tabbar/index.vue | 42 + src/layout/tabbar/setting/index.vue | 88 + src/main.ts | 37 + src/permission.ts | 74 + src/router/index.ts | 25 + src/router/routers.ts | 157 + src/setting.ts | 6 + src/store/index.ts | 6 + src/store/modules/permission.ts | 28 + src/store/modules/setting.ts | 11 + src/store/modules/type/types.ts | 8 + src/store/modules/user.ts | 81 + src/styles/index.scss | 44 + src/styles/reset.scss | 188 + src/styles/variable.scss | 14 + src/utils/request.ts | 50 + src/utils/time.ts | 14 + src/utils/token.ts | 12 + src/utils/watchWindoSize.ts | 15 + src/views/404/index.vue | 256 ++ src/views/MyCourseStudy/index.vue | 9 + src/views/course/index.vue | 9 + src/views/courseResources/index.vue | 9 + src/views/group/index.vue | 9 + src/views/home/index.vue | 16 + src/views/login/index.vue | 173 + src/views/message/index.vue | 9 + src/views/student/index.vue | 9 + src/vite-env.d.ts | 1 + tsconfig.json | 31 + tsconfig.node.json | 11 + vite.config.ts | 38 + 83 files changed, 7577 insertions(+) create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.test create mode 100644 .eslintcache create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs create mode 100644 .gitignore create mode 100644 .prettierrc.json create mode 100644 .stylelintignore create mode 100644 .stylelintrc.cjs create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 index.html create mode 100644 mock/user.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/logo.png create mode 100644 public/vite.svg create mode 100644 scripts/preinstall.js create mode 100644 src/.prettierignore create mode 100644 src/App.vue create mode 100644 src/api/user/index.ts create mode 100644 src/api/user/types.ts create mode 100644 src/assets/icons/bxx.svg create mode 100644 src/assets/icons/copyright.svg create mode 100644 src/assets/icons/exit-full.svg create mode 100644 src/assets/icons/full-screen.svg create mode 100644 src/assets/icons/home.svg create mode 100644 src/assets/icons/loading.svg create mode 100644 src/assets/icons/lock.svg create mode 100644 src/assets/icons/logout.svg create mode 100644 src/assets/icons/love.svg create mode 100644 src/assets/icons/phone.svg create mode 100644 src/assets/icons/refresh.svg create mode 100644 src/assets/icons/welcome.svg create mode 100644 src/assets/images/404.png.webp create mode 100644 src/assets/images/404_cloud.png.webp create mode 100644 src/assets/images/background.jpg create mode 100644 src/assets/images/error_images/401.png create mode 100644 src/assets/images/error_images/404.png create mode 100644 src/assets/images/error_images/cloud.png create mode 100644 src/assets/images/login_form.png create mode 100644 src/assets/images/notData.png create mode 100644 src/assets/images/tabbar-bg.png create mode 100644 src/components/SvgIcon/index.vue create mode 100644 src/components/index.ts create mode 100644 src/layout/index.vue create mode 100644 src/layout/logo/index.vue create mode 100644 src/layout/main/index.vue create mode 100644 src/layout/menu/index.vue create mode 100644 src/layout/tabbar/breadcrumb/index.vue create mode 100644 src/layout/tabbar/index.vue create mode 100644 src/layout/tabbar/setting/index.vue create mode 100644 src/main.ts create mode 100644 src/permission.ts create mode 100644 src/router/index.ts create mode 100644 src/router/routers.ts create mode 100644 src/setting.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/permission.ts create mode 100644 src/store/modules/setting.ts create mode 100644 src/store/modules/type/types.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/styles/index.scss create mode 100644 src/styles/reset.scss create mode 100644 src/styles/variable.scss create mode 100644 src/utils/request.ts create mode 100644 src/utils/time.ts create mode 100644 src/utils/token.ts create mode 100644 src/utils/watchWindoSize.ts create mode 100644 src/views/404/index.vue create mode 100644 src/views/MyCourseStudy/index.vue create mode 100644 src/views/course/index.vue create mode 100644 src/views/courseResources/index.vue create mode 100644 src/views/group/index.vue create mode 100644 src/views/home/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/message/index.vue create mode 100644 src/views/student/index.vue create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..57ed20d --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +# 变量必须以 VITE_ 为前缀才能暴露给外部读取 +NODE_ENV = 'development' +VITE_APP_TITLE = '无糖运营平台' +VITE_APP_BASE_API = '/api' \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..141fffa --- /dev/null +++ b/.env.production @@ -0,0 +1,3 @@ +NODE_ENV = 'production' +VITE_APP_TITLE = '无糖运营平台' +VITE_APP_BASE_API = '/prod-api' \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..536fa85 --- /dev/null +++ b/.env.test @@ -0,0 +1,4 @@ + # 变量必须以 VITE_ 为前缀才能暴露给外部读取 +NODE_ENV = 'test' +VITE_APP_TITLE = '无糖运营平台' +VITE_APP_BASE_API = '/test-api' \ No newline at end of file diff --git a/.eslintcache b/.eslintcache new file mode 100644 index 0000000..1ca21b7 --- /dev/null +++ b/.eslintcache @@ -0,0 +1 @@ +[{"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\api\\user\\index.ts":"1","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\api\\user\\types.ts":"2","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\App.vue":"3","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\components\\index.ts":"4","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\components\\SvgIcon\\index.vue":"5","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\index.vue":"6","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\logo\\index.vue":"7","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\main\\index.vue":"8","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\menu\\index.vue":"9","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\breadcrumb\\index.vue":"10","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\index.vue":"11","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\setting\\index.vue":"12","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\main.ts":"13","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\permission.ts":"14","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\router\\index.ts":"15","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\router\\routers.ts":"16","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\setting.ts":"17","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\index.ts":"18","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\permission.ts":"19","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\setting.ts":"20","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\type\\types.ts":"21","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\user.ts":"22","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\request.ts":"23","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\time.ts":"24","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\token.ts":"25","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\watchWindoSize.ts":"26","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\404\\index.vue":"27","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\course\\index.vue":"28","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\courseResources\\index.vue":"29","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\group\\index.vue":"30","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\home\\index.vue":"31","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\login\\index.vue":"32","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\message\\index.vue":"33","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\MyCourseStudy\\index.vue":"34","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\student\\index.vue":"35","D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\vite-env.d.ts":"36"},{"size":496,"mtime":1712715195337,"results":"37","hashOfConfig":"38"},{"size":544,"mtime":1712731040968,"results":"39","hashOfConfig":"38"},{"size":155,"mtime":1712715195336,"results":"40","hashOfConfig":"38"},{"size":506,"mtime":1712715195345,"results":"41","hashOfConfig":"38"},{"size":718,"mtime":1712731040968,"results":"42","hashOfConfig":"38"},{"size":3604,"mtime":1712969936709,"results":"43","hashOfConfig":"38"},{"size":1193,"mtime":1712807030301,"results":"44","hashOfConfig":"38"},{"size":992,"mtime":1712970077970,"results":"45","hashOfConfig":"38"},{"size":2009,"mtime":1712970084182,"results":"46","hashOfConfig":"38"},{"size":1091,"mtime":1712731040970,"results":"47","hashOfConfig":"38"},{"size":789,"mtime":1712715195348,"results":"48","hashOfConfig":"38"},{"size":2346,"mtime":1712909460268,"results":"49","hashOfConfig":"38"},{"size":1041,"mtime":1712969487202,"results":"50","hashOfConfig":"38"},{"size":2507,"mtime":1712969320333,"results":"51","hashOfConfig":"38"},{"size":560,"mtime":1712968550681,"results":"52","hashOfConfig":"38"},{"size":3767,"mtime":1712968360222,"results":"53","hashOfConfig":"38"},{"size":182,"mtime":1712807469294,"results":"54","hashOfConfig":"38"},{"size":139,"mtime":1712968360222,"results":"55","hashOfConfig":"38"},{"size":749,"mtime":1712968360222,"results":"56","hashOfConfig":"38"},{"size":248,"mtime":1712738534720,"results":"57","hashOfConfig":"38"},{"size":225,"mtime":1712968360222,"results":"58","hashOfConfig":"38"},{"size":2462,"mtime":1712968360222,"results":"59","hashOfConfig":"38"},{"size":1151,"mtime":1712968360222,"results":"60","hashOfConfig":"38"},{"size":316,"mtime":1712715195353,"results":"61","hashOfConfig":"38"},{"size":318,"mtime":1712731357758,"results":"62","hashOfConfig":"38"},{"size":512,"mtime":1712968562956,"results":"63","hashOfConfig":"38"},{"size":5864,"mtime":1712969368316,"results":"64","hashOfConfig":"38"},{"size":145,"mtime":1712969368316,"results":"65","hashOfConfig":"38"},{"size":151,"mtime":1712969368332,"results":"66","hashOfConfig":"38"},{"size":145,"mtime":1712969368332,"results":"67","hashOfConfig":"38"},{"size":440,"mtime":1712821976238,"results":"68","hashOfConfig":"38"},{"size":4454,"mtime":1712970154190,"results":"69","hashOfConfig":"38"},{"size":145,"mtime":1712969368399,"results":"70","hashOfConfig":"38"},{"size":157,"mtime":1712969368399,"results":"71","hashOfConfig":"38"},{"size":145,"mtime":1712969368415,"results":"72","hashOfConfig":"38"},{"size":39,"mtime":1712715195359,"results":"73","hashOfConfig":"38"},{"filePath":"74","messages":"75","suppressedMessages":"76","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1a6x5u2",{"filePath":"77","messages":"78","suppressedMessages":"79","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"80","messages":"81","suppressedMessages":"82","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"83","messages":"84","suppressedMessages":"85","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"86","messages":"87","suppressedMessages":"88","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"89","messages":"90","suppressedMessages":"91","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"92","messages":"93","suppressedMessages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"95","messages":"96","suppressedMessages":"97","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"98","messages":"99","suppressedMessages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","suppressedMessages":"103","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"104","messages":"105","suppressedMessages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","suppressedMessages":"109","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"110","messages":"111","suppressedMessages":"112","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"113","messages":"114","suppressedMessages":"115","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\api\\user\\index.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\api\\user\\types.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\App.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\components\\index.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\components\\SvgIcon\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\logo\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\main\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\menu\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\breadcrumb\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\layout\\tabbar\\setting\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\main.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\permission.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\router\\index.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\router\\routers.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\setting.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\index.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\permission.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\setting.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\type\\types.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\store\\modules\\user.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\request.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\time.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\token.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\utils\\watchWindoSize.ts",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\404\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\course\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\courseResources\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\group\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\home\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\login\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\message\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\MyCourseStudy\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\views\\student\\index.vue",[],[],"D:\\知识图谱后台模板\\vue3_template_lang_ts\\src\\vite-env.d.ts",[],[]] \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..db4c6d9 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +dist +node_modules \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..3b43ca7 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,63 @@ +// @see https://eslint.bootcss.com/docs/rules/ + +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + jest: true, + }, + "globals": { + "VANTA": "readonly" //VANTA 已经cdn引入 这里拒绝eslint报错 全局声明一下 + }, + /* 指定如何解析语法 */ + parser: 'vue-eslint-parser', + /** 优先级低于 parse 的语法解析配置 */ + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + parser: '@typescript-eslint/parser', + jsxPragma: 'React', + ecmaFeatures: { + jsx: true, + }, + }, + /* 继承已有的规则 */ + extends: [ + 'eslint:recommended', + 'plugin:vue/vue3-essential', + 'plugin:@typescript-eslint/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['vue', '@typescript-eslint'], + /* + * "off" 或 0 ==> 关闭规则 + * "warn" 或 1 ==> 打开的规则作为警告(不影响代码执行) + * "error" 或 2 ==> 规则作为一个错误(代码不能执行,界面报错) + */ + rules: { + // eslint(https://eslint.bootcss.com/docs/rules/) + 'no-var': 'error', // 要求使用 let 或 const 而不是 var + 'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行 + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-unexpected-multiline': 'error', // 禁止空余的多行 + 'no-useless-escape': 'off', // 禁止不必要的转义字符 + + // typeScript (https://typescript-eslint.io/rules) + '@typescript-eslint/no-unused-vars': 'error', // 禁止定义未使用的变量 + '@typescript-eslint/prefer-ts-expect-error': 'off', // 禁止使用 @ts-ignore + "@typescript-eslint/ban-ts-ignore": "off", + '@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型 + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。 + '@typescript-eslint/semi': 'off', + + // eslint-plugin-vue (https://eslint.vuejs.org/rules/) + 'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词 + 'vue/script-setup-uses-vars': 'error', // 防止 + + + + diff --git a/mock/user.ts b/mock/user.ts new file mode 100644 index 0000000..037da77 --- /dev/null +++ b/mock/user.ts @@ -0,0 +1,69 @@ +//用户信息数据 +function createUserList() { + return [ + { + userId: 1, + avatar: + 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', + username: 'admin', + password: '111111', + desc: '平台管理员', + roles: ['平台管理员'], + buttons: ['cuser.detail'], + routes: ['Home', 'Course', 'Student', 'Group', 'Message'], + token: 'Admin Token', + }, + { + userId: 2, + avatar: + 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif', + username: 'student', + password: '111111', + desc: '系统管理员', + roles: ['系统管理员'], + buttons: ['cuser.detail', 'cuser.user'], + routes: ['Home', 'MyCourseStudy', 'CourseResources', 'Message'], + token: 'System Token', + }, + ] +} + +export default [ + // 用户登录接口 + { + url: '/api/user/login', //请求地址 + method: 'post', //请求方式 + response: ({ body }) => { + //获取请求体携带过来的用户名与密码 + const { username, password } = body + //调用获取用户信息函数,用于判断是否有此用户 + const checkUser = createUserList().find( + (item) => item.username === username && item.password === password, + ) + //没有用户返回失败信息 + if (!checkUser) { + return { code: 201, data: { message: '账号或者密码不正确' } } + } + //如果有返回成功信息 + const { token } = checkUser + return { code: 200, data: { token } } + }, + }, + // 获取用户信息 + { + url: '/api/user/info', + method: 'get', + response: (request) => { + //获取请求头携带token + const token = request.headers.token + //查看用户信息是否包含有次token用户 + const checkUser = createUserList().find((item) => item.token === token) + //没有返回失败的信息 + if (!checkUser) { + return { code: 201, data: { message: '获取用户信息失败' } } + } + //如果有返回成功信息 + return { code: 200, data: { checkUser } } + }, + }, +] diff --git a/package.json b/package.json new file mode 100644 index 0000000..17b1bd3 --- /dev/null +++ b/package.json @@ -0,0 +1,63 @@ +{ + "name": "project", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite --open", + "build": "vue-tsc && vite build", + "preview": "vite preview", + "build:test": "vue-tsc && vite build --mode test", + "build:pro": "vue-tsc && vite build --mode production", + "lint": "eslint src", + "fix": "eslint src --fix", + "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"", + "lint:eslint": "eslint src/**/*.{ts,vue} --cache --fix", + "lint:style": "stylelint src/**/*.{css,scss,vue} --cache --fix", + "prepare": "husky install", + "preinstall": "node ./scripts/preinstall.js" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "@vueuse/core": "^10.9.0", + "axios": "^1.6.8", + "element-plus": "^2.6.0", + "nprogress": "^0.2.0", + "pinia": "^2.1.7", + "vue": "^3.4.19", + "vue-router": "^4.3.0" + }, + "devDependencies": { + "@babel/eslint-parser": "^7.23.10", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "@vitejs/plugin-vue": "^5.0.4", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.22.0", + "mockjs": "^1.1.0", + "postcss": "^8.4.35", + "postcss-html": "^1.6.0", + "postcss-scss": "^4.0.9", + "prettier": "^3.2.5", + "sass": "^1.71.1", + "sass-loader": "^14.1.1", + "stylelint": "^16.2.1", + "stylelint-config-prettier": "^9.0.5", + "stylelint-config-recess-order": "^5.0.0", + "stylelint-config-recommended-scss": "^14.0.0", + "stylelint-config-standard": "^36.0.0", + "stylelint-config-standard-scss": "^13.0.0", + "stylelint-config-standard-vue": "^1.0.0", + "stylelint-order": "^6.0.4", + "stylelint-scss": "^6.2.0", + "typescript": "^5.2.2", + "vite": "^5.1.4", + "vite-plugin-mock": "^3.0.1", + "vite-plugin-svg-icons": "^2.0.1", + "vue-tsc": "^1.8.27" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..dfae29b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5108 @@ +lockfileVersion: '6.0' + +dependencies: + '@element-plus/icons-vue': + specifier: ^2.3.1 + version: 2.3.1(vue@3.4.19) + '@vueuse/core': + specifier: ^10.9.0 + version: 10.9.0(vue@3.4.19) + axios: + specifier: ^1.6.8 + version: 1.6.8 + element-plus: + specifier: ^2.6.0 + version: 2.6.0(vue@3.4.19) + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.4.19) + vue: + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) + vue-router: + specifier: ^4.3.0 + version: 4.3.0(vue@3.4.19) + +devDependencies: + '@babel/eslint-parser': + specifier: ^7.23.10 + version: 7.23.10(@babel/core@7.24.0)(eslint@8.57.0) + '@typescript-eslint/eslint-plugin': + specifier: ^7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': + specifier: ^7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@vitejs/plugin-vue': + specifier: ^5.0.4 + version: 5.0.4(vite@5.1.4)(vue@3.4.19) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-import: + specifier: ^2.29.1 + version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0) + eslint-plugin-node: + specifier: ^11.1.0 + version: 11.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-vue: + specifier: ^9.22.0 + version: 9.22.0(eslint@8.57.0) + mockjs: + specifier: ^1.1.0 + version: 1.1.0 + postcss: + specifier: ^8.4.35 + version: 8.4.35 + postcss-html: + specifier: ^1.6.0 + version: 1.6.0 + postcss-scss: + specifier: ^4.0.9 + version: 4.0.9(postcss@8.4.35) + prettier: + specifier: ^3.2.5 + version: 3.2.5 + sass: + specifier: ^1.71.1 + version: 1.71.1 + sass-loader: + specifier: ^14.1.1 + version: 14.1.1(sass@1.71.1) + stylelint: + specifier: ^16.2.1 + version: 16.2.1(typescript@5.2.2) + stylelint-config-prettier: + specifier: ^9.0.5 + version: 9.0.5(stylelint@16.2.1) + stylelint-config-recess-order: + specifier: ^5.0.0 + version: 5.0.0(stylelint@16.2.1) + stylelint-config-recommended-scss: + specifier: ^14.0.0 + version: 14.0.0(postcss@8.4.35)(stylelint@16.2.1) + stylelint-config-standard: + specifier: ^36.0.0 + version: 36.0.0(stylelint@16.2.1) + stylelint-config-standard-scss: + specifier: ^13.0.0 + version: 13.0.0(postcss@8.4.35)(stylelint@16.2.1) + stylelint-config-standard-vue: + specifier: ^1.0.0 + version: 1.0.0(postcss-html@1.6.0)(stylelint@16.2.1) + stylelint-order: + specifier: ^6.0.4 + version: 6.0.4(stylelint@16.2.1) + stylelint-scss: + specifier: ^6.2.0 + version: 6.2.0(stylelint@16.2.1) + typescript: + specifier: ^5.2.2 + version: 5.2.2 + vite: + specifier: ^5.1.4 + version: 5.1.4(sass@1.71.1) + vite-plugin-mock: + specifier: ^3.0.1 + version: 3.0.1(esbuild@0.19.12)(mockjs@1.1.0)(vite@5.1.4) + vite-plugin-svg-icons: + specifier: ^2.0.1 + version: 2.0.1(vite@5.1.4) + vue-tsc: + specifier: ^1.8.27 + version: 1.8.27(typescript@5.2.2) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.24.0: + resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helpers': 7.24.0 + '@babel/parser': 7.24.0 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.0 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/eslint-parser@7.23.10(@babel/core@7.24.0)(eslint@8.57.0): + resolution: {integrity: sha512-3wSYDPZVnhseRnxRJH6ZVTNknBz76AEnyC+AYYhasjP3Yy23qz0ERR7Fcd2SHmYuSFJ2kY9gaaDd3vyqU09eSw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.24.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.24.0: + resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.0 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + dev: true + + /@babel/traverse@7.24.0: + resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@csstools/css-parser-algorithms@2.6.0(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.2.3 + dependencies: + '@csstools/css-tokenizer': 2.2.3 + dev: true + + /@csstools/css-tokenizer@2.2.3: + resolution: {integrity: sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==} + engines: {node: ^14 || ^16 || >=18} + dev: true + + /@csstools/media-query-list-parser@2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): + resolution: {integrity: sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.6.0 + '@csstools/css-tokenizer': ^2.2.3 + dependencies: + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + dev: true + + /@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15): + resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.15 + dev: true + + /@ctrl/tinycolor@3.6.1: + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + dev: false + + /@element-plus/icons-vue@2.3.1(vue@3.4.19): + resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==} + peerDependencies: + vue: ^3.2.0 + dependencies: + vue: 3.4.19(typescript@5.2.2) + dev: false + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + dependencies: + '@floating-ui/utils': 0.2.1 + dev: false + + /@floating-ui/dom@1.6.3: + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} + dependencies: + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 + dev: false + + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sxzz/popperjs-es@2.11.7: + resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + dev: false + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/lodash-es@4.17.12: + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + dependencies: + '@types/lodash': 4.14.202 + dev: false + + /@types/lodash@4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + dev: false + + /@types/mockjs@1.0.10: + resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/svgo@2.6.4: + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + dependencies: + '@types/node': 20.11.24 + dev: true + + /@types/web-bluetooth@0.0.16: + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + dev: false + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: false + + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@7.1.1: + resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 + dev: true + + /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@7.1.1: + resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@7.1.1(typescript@5.2.2): + resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@7.1.1: + resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.1 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@5.1.4)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.4(sass@1.71.1) + vue: 3.4.19(typescript@5.2.2) + dev: true + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: true + + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + dependencies: + '@babel/parser': 7.24.0 + '@vue/shared': 3.4.19 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + dependencies: + '@babel/parser': 7.24.0 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + dependencies: + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + dev: true + + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + dependencies: + '@babel/parser': 7.24.0 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + dev: false + + /@vue/language-core@1.8.27(typescript@5.2.2): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.2.2 + vue-template-compiler: 2.7.16 + dev: true + + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + dependencies: + '@vue/shared': 3.4.19 + + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + dependencies: + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 + + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + dependencies: + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} + peerDependencies: + vue: 3.4.19 + dependencies: + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.2.2) + + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} + + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + dev: true + + /@vueuse/core@10.9.0(vue@3.4.19): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/core@9.13.0(vue@3.4.19): + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + dev: false + + /@vueuse/metadata@9.13.0: + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + dev: false + + /@vueuse/shared@10.9.0(vue@3.4.19): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/shared@9.13.0(vue@3.4.19): + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.19) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-shim-unscopables: 1.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 + dev: true + + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001594 + electron-to-chromium: 1.4.692 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true + + /bundle-require@4.0.2(esbuild@0.19.12): + resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + dependencies: + esbuild: 0.19.12 + load-tsconfig: 0.2.5 + dev: true + + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001594: + resolution: {integrity: sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==} + dev: true + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + dev: true + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cosmiconfig@9.0.0(typescript@5.2.2): + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + typescript: 5.2.2 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-functions-list@3.2.1: + resolution: {integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==} + engines: {node: '>=12 || >=16'} + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dev: true + + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.7 + dev: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + dev: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.4.692: + resolution: {integrity: sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==} + dev: true + + /element-plus@2.6.0(vue@3.4.19): + resolution: {integrity: sha512-MP+N48P+diyndR+GjY+0VOrUmFnajD4U0CkrXIMzmeRmq4+dwi0bdzVo587v4wDo9Hs+ggviyacqm3NS8JYVqw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@ctrl/tinycolor': 3.6.1 + '@element-plus/icons-vue': 2.3.1(vue@3.4.19) + '@floating-ui/dom': 1.6.3 + '@popperjs/core': /@sxzz/popperjs-es@2.11.7 + '@types/lodash': 4.14.202 + '@types/lodash-es': 4.17.12 + '@vueuse/core': 9.13.0(vue@3.4.19) + async-validator: 4.2.5 + dayjs: 1.11.10 + escape-html: 1.0.3 + lodash: 4.17.21 + lodash-es: 4.17.21 + lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) + memoize-one: 6.0.0 + normalize-wheel-es: 1.2.0 + vue: 3.4.19(typescript@5.2.2) + transitivePeerDependencies: + - '@vue/composition-api' + dev: false + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + dev: true + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.5: + resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.5 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.14 + dev: true + + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.1 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-es@3.0.1(eslint@8.57.0): + resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + eslint: 8.57.0 + eslint-utils: 2.1.0 + regexpp: 3.2.0 + dev: true + + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.4 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + hasown: 2.0.1 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.2 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-node@11.1.0(eslint@8.57.0): + resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} + engines: {node: '>=8.10.0'} + peerDependencies: + eslint: '>=5.16.0' + dependencies: + eslint: 8.57.0 + eslint-plugin-es: 3.0.1(eslint@8.57.0) + eslint-utils: 2.1.0 + ignore: 5.3.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 6.3.1 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-plugin-vue@9.22.0(eslint@8.57.0): + resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + dependencies: + flat-cache: 4.0.1 + dev: true + + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + dev: true + + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true + + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.1 + side-channel: 1.0.6 + dev: true + + /is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + dependencies: + hasown: 2.0.1 + dev: true + + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.1 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.14 + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /known-css-properties@0.29.0: + resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21): + resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} + peerDependencies: + '@types/lodash-es': '*' + lodash: '*' + lodash-es: '*' + dependencies: + '@types/lodash-es': 4.17.12 + lodash: 4.17.21 + lodash-es: 4.17.21 + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + dev: false + + /meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + dev: true + + /merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + dependencies: + commander: 7.2.0 + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-wheel-es@1.2.0: + resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} + dev: false + + /nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + dev: false + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + dev: true + + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} + dependencies: + array.prototype.filter: 1.0.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + es-errors: 1.3.0 + dev: true + + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + dev: true + + /on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pinia@2.1.7(typescript@5.2.2)(vue@3.4.19): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.6.1 + typescript: 5.2.2 + vue: 3.4.19(typescript@5.2.2) + vue-demi: 0.14.7(vue@3.4.19) + dev: false + + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true + + /postcss-html@1.6.0: + resolution: {integrity: sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==} + engines: {node: ^12 || >=14} + dependencies: + htmlparser2: 8.0.2 + js-tokens: 8.0.3 + postcss: 8.4.35 + postcss-safe-parser: 6.0.0(postcss@8.4.35) + dev: true + + /postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + dev: true + + /postcss-prefix-selector@1.16.0(postcss@5.2.18): + resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 5.2.18 + dev: true + + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.35): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.35 + dev: true + + /postcss-safe-parser@7.0.0(postcss@8.4.35): + resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + dev: true + + /postcss-scss@4.0.9(postcss@8.4.35): + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + dependencies: + postcss: 8.4.35 + dev: true + + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-sorting@8.0.2(postcss@8.4.35): + resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} + peerDependencies: + postcss: ^8.4.20 + dependencies: + postcss: 8.4.35 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + dev: true + + /posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + dev: true + + /posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + dev: true + + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /sass-loader@14.1.1(sass@1.71.1): + resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} + engines: {node: '>= 18.12.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + webpack: + optional: true + dependencies: + neo-async: 2.6.2 + sass: 1.71.1 + dev: true + + /sass@1.71.1: + resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.0.2 + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.5 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.2.1): + resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.6.0 + stylelint: 16.2.1(typescript@5.2.2) + dev: true + + /stylelint-config-prettier@9.0.5(stylelint@16.2.1): + resolution: {integrity: sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==} + engines: {node: '>= 12'} + hasBin: true + peerDependencies: + stylelint: '>= 11.x < 15' + dependencies: + stylelint: 16.2.1(typescript@5.2.2) + dev: true + + /stylelint-config-recess-order@5.0.0(stylelint@16.2.1): + resolution: {integrity: sha512-D+/Got844O96No2mj/H2NhLjj555iKAy/Mea+JCerfKB9TBKQW3/IudSVkTCxE4QiRDLldfH15x6FH1D1Anjhw==} + peerDependencies: + stylelint: '>=16' + dependencies: + stylelint: 16.2.1(typescript@5.2.2) + stylelint-order: 6.0.4(stylelint@16.2.1) + dev: true + + /stylelint-config-recommended-scss@14.0.0(postcss@8.4.35)(stylelint@16.2.1): + resolution: {integrity: sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==} + engines: {node: '>=18.12.0'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.0.2 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.35 + postcss-scss: 4.0.9(postcss@8.4.35) + stylelint: 16.2.1(typescript@5.2.2) + stylelint-config-recommended: 14.0.0(stylelint@16.2.1) + stylelint-scss: 6.2.0(stylelint@16.2.1) + dev: true + + /stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.2.1): + resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.6.0 + semver: 7.6.0 + stylelint: 16.2.1(typescript@5.2.2) + stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.1) + stylelint-config-recommended: 14.0.0(stylelint@16.2.1) + dev: true + + /stylelint-config-recommended@14.0.0(stylelint@16.2.1): + resolution: {integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.0.0 + dependencies: + stylelint: 16.2.1(typescript@5.2.2) + dev: true + + /stylelint-config-standard-scss@13.0.0(postcss@8.4.35)(stylelint@16.2.1): + resolution: {integrity: sha512-WaLvkP689qSYUpJQPCo30TFJSSc3VzvvoWnrgp+7PpVby5o8fRUY1cZcP0sePZfjrFl9T8caGhcKg0GO34VDiQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.1.0 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.35 + stylelint: 16.2.1(typescript@5.2.2) + stylelint-config-recommended-scss: 14.0.0(postcss@8.4.35)(stylelint@16.2.1) + stylelint-config-standard: 36.0.0(stylelint@16.2.1) + dev: true + + /stylelint-config-standard-vue@1.0.0(postcss-html@1.6.0)(stylelint@16.2.1): + resolution: {integrity: sha512-wAzU7p6DSlo04pWfCbOcaMq09Nojt0FEsbdxhCBTdC7IguD9ZVl7FP/bvyA0HAHjZGC4JkW7m6WiQaoVMDSuFw==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.6.0 + stylelint: 16.2.1(typescript@5.2.2) + stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.1) + stylelint-config-recommended-vue: 1.5.0(postcss-html@1.6.0)(stylelint@16.2.1) + stylelint-config-standard: 36.0.0(stylelint@16.2.1) + dev: true + + /stylelint-config-standard@36.0.0(stylelint@16.2.1): + resolution: {integrity: sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.1.0 + dependencies: + stylelint: 16.2.1(typescript@5.2.2) + stylelint-config-recommended: 14.0.0(stylelint@16.2.1) + dev: true + + /stylelint-order@6.0.4(stylelint@16.2.1): + resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} + peerDependencies: + stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 + dependencies: + postcss: 8.4.35 + postcss-sorting: 8.0.2(postcss@8.4.35) + stylelint: 16.2.1(typescript@5.2.2) + dev: true + + /stylelint-scss@6.2.0(stylelint@16.2.1): + resolution: {integrity: sha512-ktYsWKNN+zh4VlpdNMajYCOREwaPI9xZLVue/H5vX4f4v7Kg+ej9Bj0b7fG41J2UboNujZNU9qi0yM/KK3KhOQ==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.0.2 + dependencies: + known-css-properties: 0.29.0 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: 6.0.15 + postcss-value-parser: 4.2.0 + stylelint: 16.2.1(typescript@5.2.2) + dev: true + + /stylelint@16.2.1(typescript@5.2.2): + resolution: {integrity: sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==} + engines: {node: '>=18.12.0'} + hasBin: true + dependencies: + '@csstools/css-parser-algorithms': 2.6.0(@csstools/css-tokenizer@2.2.3) + '@csstools/css-tokenizer': 2.2.3 + '@csstools/media-query-list-parser': 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 9.0.0(typescript@5.2.2) + css-functions-list: 3.2.1 + css-tree: 2.3.1 + debug: 4.3.4 + fast-glob: 3.3.2 + fastest-levenshtein: 1.0.16 + file-entry-cache: 8.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.29.0 + mathml-tag-names: 2.1.3 + meow: 13.2.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.35 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 7.0.0(postcss@8.4.35) + postcss-selector-parser: 6.0.15 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 7.1.0 + supports-hyperlinks: 3.0.0 + svg-tags: 1.0.0 + table: 6.8.1 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + dependencies: + has-flag: 1.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.0(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.8 + transitivePeerDependencies: + - supports-color + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /traverse@0.6.8: + resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} + engines: {node: '>= 0.4'} + dev: true + + /ts-api-utils@1.2.1(typescript@5.2.2): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-length@1.0.5: + resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vite-plugin-mock@3.0.1(esbuild@0.19.12)(mockjs@1.1.0)(vite@5.1.4): + resolution: {integrity: sha512-jEqRkX6Ts6z9e3sPrktcmujLGTIjxMwMZUhcgoo1q0dEMcljMBkZgJK1vMaetTm+GfOy2NkGVQOwVqLS/Vy6Uw==} + engines: {node: '>=16.0.0'} + peerDependencies: + mockjs: '>=1.1.0' + vite: '>=4.0.0' + dependencies: + '@types/mockjs': 1.0.10 + bundle-require: 4.0.2(esbuild@0.19.12) + chokidar: 3.6.0 + connect: 3.7.0 + debug: 4.3.4 + fast-glob: 3.3.2 + mockjs: 1.1.0 + path-to-regexp: 6.2.1 + picocolors: 1.0.0 + vite: 5.1.4(sass@1.71.1) + transitivePeerDependencies: + - esbuild + - supports-color + dev: true + + /vite-plugin-svg-icons@2.0.1(vite@5.1.4): + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.3.4 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 5.1.4(sass@1.71.1) + transitivePeerDependencies: + - supports-color + dev: true + + /vite@5.1.4(sass@1.71.1): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + sass: 1.71.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-demi@0.14.7(vue@3.4.19): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.19(typescript@5.2.2) + dev: false + + /vue-eslint-parser@9.4.2(eslint@8.57.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-router@4.3.0(vue@3.4.19): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.19(typescript@5.2.2) + dev: false + + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.27(typescript@5.2.2): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.2.2) + semver: 7.6.0 + typescript: 5.2.2 + dev: true + + /vue@3.4.19(typescript@5.2.2): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 + typescript: 5.2.2 + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..665131f9fdae53f743e7fb250bd2e7a79698b6b3 GIT binary patch literal 41821 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

>x!fxoCl?dF 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 z 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/error_images/401.png b/src/assets/images/error_images/401.png new file mode 100644 index 0000000000000000000000000000000000000000..90bbf6e335a86bdae08f4e24fb78dcdd49f2ab63 GIT binary patch literal 58356 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/error_images/404.png b/src/assets/images/error_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..14fa72555d6e98d9ac2e25bd7b6723049da061ef GIT binary patch literal 23451 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%0Aho$g0FLqqBjw+RBj=IJnS_r~SCHXQ15 zuFnyq&Wq0Hz^Mc@fVmOxC%E)6QEfGEl<29F&p87xNqJm1PMDKDa(Q;V8e2>CS`~Zz zMv_$GIO6i~fu4$vno`x@&L#OF4H#z_ z_*z&1u~KHN9>7=*GLj-oRiuzJZ4jEv2iSlLKgrdro(;fK1gFr$1pANV8qPmTuGDwL zu>u|1cjUo=?`+KQ|0(0!p+y4Qk05N$(Z;16s_K zf~DtkpHqs3I-L`K%;6bgFp%aHu}K*x3nke(+8|n#>&9Y zh4;SwP|EUMDhwk18A}RbI0~A73iK-I9xJpeLX}nF!Z)GBqX8vO5fNdd=7p)Tx}S1V`z%ZWp=j8ou6V$>&vtv=+s;%B12H;_2e@%L!uk1+lh7CTZq6M)aJ`xtbYcXDP^X3E z8ldV$fO=m%`z9!j4{?Q4d)MJ(Vy%V$-u?=XTk=AU!wJ|c!&IO@M^1;erOv#kCAHJT z750h4c!i1xnLGWSlgHy}h_&xk_Ly7OnQ)^HRw%<|pd0a8HW30FMwI>hEr#)jT7V!; zR!}4)ic!dCa)X1$Odc~ri9hZ)%5dEe`O|+s8vuMS;pu>jcxz_QFz!=h37yd6VyfR3 z8si=Al0k%Y6dYenoghGm5&FtkQE<8<)vc|aBiRZ1f2-6qhf6Y>a!CF+;15su zyOOO?ujwA0y?t@5$Rbkr;GhCTY4roQo1%MBz%li`0^A?fNuM&t5AI~*hSi5r$!w`# z;+~P0U(ZWYu}A9&RszF;>`tXj5CeH*-j*|IYd#Ql zoN-_>!D+*cpuyNK5TII!dg-n(`yMq`bzB}nY0b)oYmY7lIXnTnMb*Y|rjXEHaPc@=jBLeKn6$WJ(zj{YKF%U7zrM+n^aFclX4%1S4uz{)~_<+-70+q#RtqWcF zB22F^$_2KM{e^xJ-i_qdA#}UcSlKCnnFF*IRO;+GCLmCFhU_$u$L(!2#luc567^Ky za!Cfuji^A#0mkT2Fg5Nv1Z;!g>)>-5IV$ptr5PH6#l_g>IuikhN>%BNuI4^Ki+?a2 z;GI$6pd~%{2PX_V+Ci!V?AvTJZFEEA>HTj|zBSA9D|=~i%WBN1E7)%~nZOVH?B%Db z>H9gZST><`9h1yI*XiL+ydx$m*5UHZPQ<1%6O_k`z1b>YBwdD#V%FY|k^Mc)SKwP9GAmSWXt9Tir{VE7e4j_`hf zLwW-D1-6AZsU7C{r^U*B>_=HjN+`$)J&T|Wv3l0ESMF!|i_JDb0?dczRi1%7y z!)YUMb)u-?!sEZ9JLcFm=bbagdefVC|9N@QkSW*%ut5kljCh?y+jkE8SSU*KCzF8oZPWWcWxgO zt?sZ-r%{l;$dzCqbqYky<81}gH0s`p&$6DaL$8k6BFpNE68vYfgqI1_ArG`KO#!cz zNwj7q(5rbbHo*_*reE_4{rAA8&*L(ZY=`1LPv))0J^yMn+d*MU1t#zir~N%gCbXBl z->;#k`A}SGy}w;vk~pPwQOLF%?)`h-Abm|rQ09VVXbvy03ydZFyb6Pl*Dj!TptUzN zK~Dm=No<5Y%9r-JX=w|qkc12V@eOllx9pfmf=bJ4@J}^bnjRq5x;ICKzG5}g zQsqz8fzPr$B7l=FA7NVj6Ql*9)(ha5jiU??4~XidK@))K@(40Wizn)Nz2zRkYq5fh z2PI+RmiWAYIgTWCJ@5Ru6_UFC@Scknx7TX}8Io)CKvW)K_}%W3qw@YTHstuy4xjyN zGCGnvc2dR7@o|TDK7XoMv)$U_*%8^8%p;c-vN_q;@%`H0DHU$AVYlDe*aXy`u%mvM zck%2yWyY%`R@=|Mxnxpfk}w{&Krzc;({TEKHjiv+HT&7+_DxObcY<~Q1#g{niY1v|?~gt?CX+g|9K?U;Jm}>GDO#B=HBKHTdPrBG3B;ybz;?GGuH-L-L5K$}@`k9I|DO)4pSRdutUw;$} ze?_)14V0*iNZcf7oySi?t$Ka09uArV*i9x}+5HvLJIsF;^ebO8mI zLaQdKrI{7HASHk&wicBo&kH+7%mBAcxo0R>MRV_L-U{-|Hv z=h51=hw6I{2JB7$Pj`vW4=`s%wAhPrC82xO7yI{PL-w5|}JTg?y-L=o?Vw|Pwq8-)W8oer@8A6w|kt;vz z2QCgGY;OiL`d{F*&t-56ZdnfdJNnMqv84%O{OiI_eef8QvpK z1u&$l79Ti1#mXgA_@@rFWx+Lu(kiTKwU9KRi~uwyG`+0Y?o5PwRS7{ug<0Vx^f2<7 zamY4Q03`Wv$ORPS9^j`(0zW!o?G0Xy9Kaza#W@3a{af}|2gUM)E0Iwx6^yOpoY%G5 zC=RYSrH(MdO-7RuV5}X`!(na@OoHKf9l8xQkl|e)MJXMmn#%vGQjavmtbzZ#6Fo%h z>*;Cw$TKzN#E%x+YXHL>^aM(_F_jlpx@aKWMR*%YAi!0-;X zG2*Z2ZyY-5e89&Z%nqU&wa^)714@QOracAydneJeXve3})2=yOWT!)KvPr40tn^L| z${~AN0uZMVL*!|{;E)pdFU=h-EAG@&4PI-`stRHRTFh_8;vQy`aR=r2|1`+6=7w=> zv;G^s>EHldl*)e%B~){(6*qANsQT-N_jDG4x`X-7vq6rL++L&f>R7hq+0aIxiM|cv zCw0ESTvtUJBCSM#d=XLiBFq~??}!(m&nf{ zJ`U^pQ23r0`Oy~Edoa#g_xIV7awTvofO(^Ea7g#crW61Beld|+^j@c>Po|Jg=mX!Ey8qKTAbUJG$l4Wqs3f23oF-ms-~F1;Ev64FemW0) zO4DSXpygfb0&7!I&mG&3%rpTTG@0-M4{#<^$jTuGaXvk(&gaChYyOM$#UT~iH};## zpyAt0%es~?4&t)o&s8u1ZvVT=qm}B3m`^R|uwAc4_8nZ7vphV+Q|ur59x9Hq`#z^u zCq(6E(}mW|(qgMqzJsDJz_y2JA+hWd@YE@KX)-XRpG3xX zWf>b9hQ!dGTL9uCqj{h?YPo@O$4C=uO?Z1yS2L^otg`x%WA6j51(jYP+L$Tpg79Z| z&-h$={sF62A6+hZc;MmKQb|bwcUf3+b8^2)ii7_c!3Zv4Z5uANPHP_Q5BtDPhK!n; zX&P5mxvqz;e!&jDWQ-VuwQS?IOw`xyWNxu0FDDjXJnjo&-wi)!FW6{9V}rYO*#|#!I}Z2I zPS0eAA!c6M@Cr0-?Z@UoyFc12)FZ=pQV2_|9;7n)E?vWrB|b&cT~Z7-84?duRP&7)U{j1#7i|gxc7vk z&l}p(o~H;eQY+OiF#)OHQZ&DSBu;dN`NK*$)Y>!5=vOuS&^E@ft^in-l&X-RFKKvO zj2vmbw1m4V`VKm|LtISW5(x7M&qY`sF69;kMg&})x-UtUdYhpbgeV`Le}1YbIO<4b z#;(!f1wCfl!}a-haM0_K*9Ld+^yq`D7oJGqWz>%qY{8t5$=Kh9Pbnw5d}pTz!_+5c zW)j<#h{*H@qakCj)UJ;{=1S!FpEohCySaeJ8rU%|q2sy6e(27|zZDU$XW=$x+{#r> z;}hb)d74Ih+`NsTitfzN86p&Q4D%!ynB%3Wrb&c9f;0I=;yIqs6Qaj6UHbwYXdWia zwg|+Ywa*6%h5VP?lN+g_e-DbcuvhUSt0-2V+k7k#sIH467#DRzjq*R%{4bIr@=(O1 zUEc?3r5OX9qNCK>mvxt@g}#+;&1(O4pKIdwrm4$6kYzp@j3>)zB4yguz#5fsB)q0c z5+&yF@^vZX$3yfdVt9>5S^I*pywX!BYsj#QoVLjLmfu#f@A~qmA03a<*&6^q$+U~- zB9H{F5v92IP{ICDn(@N3|1}fzNDArm^KuT6N#^DLhqCSXEABk>slW!h+_*{B=ZbY! zPujJZ802uY4|+jZVq0@BU9)1wW7sG9sh9)%n`DQ=BCkC!E2_jqH1s+o;`V$Yl|*dla1ZXBl75B1qw>Tx&M&er=NG-Ty%!INx!UVS7>OGQCE4KzzY{-S#o z-gviIa4YmAvSZY;hSXq0yT`Pf=>BU&`>Xm$x=A%H(_$NH!7%XZVtK&)M+u3!fd2-5 zT`wk}k+0qv!3PHh3`v-T^DUKT8~&>}#EX7#z|cBF9g`y0;?FH}Z~6+Ip$huGa&wXOkc)!ahCxw_rS!QwOCX-~ zF$oDIQ;}$GvR9-JsknW%*>$H~R#;l{hJI+~nf%&L?qPUl8-5V*DpOQ-T0+8v>7=Jo z0sj_5xq_0>D1k16i@mu{-Y1#8rRowAo7V;U=bDE6D|J%$dTecV!fw3KfEP|`<7Ld> z1u}uCSZ_U#;d0S+-0>?VIqG_07f}-SiGj>{{->o`=LF73xn*jm)?F*u1(by3EqBxu z$aKyGoCHOi$KOYU7H?s0Id4~40Xy(ubI4m4ec%0zyB>Xba6uebyVZNCM)@>us@9UF za`ff($_Ud_Q8LUevTs9~?X;gagz^c4oR%T&xfs5V=eT^B9e)rePIhPS2X zkPpy{+o~)-{=QFIb=v`V-m1J}I>X6o*pdd08@LdC!452u^7I^M`uQ}ig>C{C-kFO9 z}plI4$gQU74ZEOlF!9gdPxF8>$?G{GH(b#f9&%O+^m~xZP`MnqOv`A4>D`cc*Q5 zJ}BKLG4A6^T{3w#q5jI3CJ9Oq+TCrq5!BOE_{c9!CsS(lfdn5ghnnwr&jeRaunMy^ z&QjddV?7GWsh~rjQF8LcRf(=;Qiax~xFo9J6i89+G)}c;56X^dB4$SA^F={}8FAGr zwlsWn_ug8)S?~lfWc5)7ZU=KqtMp5})Yo94PB6n5?x13DStkD5RyuKp?+v|$tcL`lYC!L;sJ zr_k2!>0+CuF1OElh6j3s~ZS*oyx1 z{{*f@Jiw^DF)0D*{}T4i<6qi8y<^|#{b1eK193KMw!#2r1Z)nI}>Wyh(xLaNe#`=YP(}Nh-)Cf6z z!Oh*OeGX*Gq>sXeh3Z;%mPLGat-M6aV@K`exF(;qfh@8?%GTe>?kAlbG;2w9hc@N` zl8%v~-@HhsCv{$XX`8$rab2ypjn>~L5k;v+DO5copl6$x>M+6;Av=#JzBI3{ zj$j5F9fLrk5a^MFUTJ<*D4WEts}=B<&&W~2{$1$&e@9`N9knv_)8UV0#*Ffn*LA7o zCv3;4=j;w1jxXObaN?_(A7Q%osA===8a8*0zo1jeZ33Ml>U)8M@&uSEJ4CE!mPh*r~VZ@}39z`W*5)5eZDLjAQ&k zCk2Vb4c0qVxC}W=CBO$@n>HE5U8Ps@vzee%IMsFKnu?_LwX3?n5G56{?L+cTh}0-S z%Nm@{pOJ-2dG=I>##G~Ya9k8}>{yE}$`>Lh&zwM3&iE{OE{#RxCAaavz31MuaG^~Y z1}Sxh9k)9_rCeS!0XAu4j`b2D`M@_6*Rl+yh`|+azo3)Q&}Q2=@s%s%N9QKgoqg}l zHGnF|cbNQNk|iYSaoq8@{~nlkZ4QQ&{C~cvS7=(xdhlZI4g22|8%z63#TRZq{U2G- B)|~(V literal 0 HcmV?d00001 diff --git a/src/assets/images/error_images/cloud.png b/src/assets/images/error_images/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..247c06b41a6d9db75dab41c01cd93d959760485e GIT binary patch literal 2029 zcmZ8ido+~m8Xv4&hS;=ZDh!%PE{&ArvdNjD*=z=*rDlt9?8=grElFn8OpXcSKtp3CI86gg^`!u0WCvti>$>hc5#9|EtB}ivbS=dujLV;-)|-5-)8E z0oaSKu!P_s=meD8=I-iun*{FKws3NH#bkusOROfrYByXQDZU}=4oB7 z#xV9$cRLQQEaWfEjtzBncDyR4#9zbPi+J1Xt1}-bN9ltDeSMvPue@!gE48^YH#hrX z;vJnn)Z5ejqAvGgYE0BEv?1b%0(X6F@#{whZJ@oirKX}N?@@3t{^yhG+Y_VIw$|q6 zD$0YT_~5Gq=O0fUWPXXh+s}`dg+TUMVo>LC5mRd)C~&fZG;gbv!C5+8s64QHn@8m}u)jOaHZ%?w)Q%o=drLRW8@Pf9gdFp48B|BJ=NCbPJyUM0&@dOCSFODZ#}WK?35 zlqgiWVQ%I)1ce-tCuhT&{vfkyY)sh;IWfS`j>yI1yLx91#5+; ze5?Bl6}Q6rQ{uuWWyZz=-Hw>jqA16-wJRDTH;h`e+@IUlZD7BB-LIn2_P*9ZN9(!j zuMWEUexnJ}G0>6~TYWP~TI8FQas|}`eNxiiT|b5H*cD`gF0rONmN=nay>$ zzgoCX*g^N~3=Bi*GV$ljW>RLdrQcCp}i` zOKxN>KBe2-sCd@)Z9F9SuMv|$_4s<3T<73mwlyQuQ65c3G_{ot&7_L6)7SE$2@)Gos3`VenRV@-BPa+#yH zl~IU#IPKgOYBBi((sCro+tI3mfW0yh2t(ZX?XWC{bZ&pbVz4WY%;ZNWDim;xH%N))6YGswVvlbdB=nc{ zyyYK~V|<+ViMKQIYO#s=&WF#tZ-)*(ZY4aqW2%$$?!ATgA6|^^6lK?=RdvDj@ps90 zVx(}$XWr!Gb8wjb!$nz0IKd%Osyn2srJ@Pv5mpwV&&*1cvkVf=w5zz+xwPZmC({>j)tC{Np~V$ z>S<>L*;js+#+=Q+ue={N-?GTu468rJ$kSF8KZ;JoD*EDt3}U7UR8>=yQDYUyGZUhlqr3o zcVJx={ZzHk^PmE52T=Lh8Pgt~yqzK{s5Z z8JkSQ>3IrGFgs5)U(fDDM<*7NjY*c$koh^T&t zej}f@qihJ44HR?coy>=y`=kNU_2mK5*<7du(FDBPNiO6m9zl4m&Dp|kHTWLvcLmmv zTi@N-aJZs11#TK0Gkx2bhNTUOhyQVb%evOKQUGr!pYMw9AE9bIg*4w TG^r)|uR|ahv@5FC!7u(_O{Ba` literal 0 HcmV?d00001 diff --git a/src/assets/images/login_form.png b/src/assets/images/login_form.png new file mode 100644 index 0000000000000000000000000000000000000000..548ad801396d799d6a40f2969f5dcec13a6d36b8 GIT binary patch literal 10725 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/notData.png b/src/assets/images/notData.png new file mode 100644 index 0000000000000000000000000000000000000000..c579a788fcdc39a742a8223f344926dfc5e6231b GIT binary patch literal 1168 zcmX9-2{fB&6pf`lmMSrnv9z@`offSgT3yTxCYDfZXlD#9t!>c3&}!)*8fzP)mYUke zGM0|m$`G|w5jA!bL}E#Z^$-?~!ZRHP6HgbcnVFf{*;!y9fPoA$ z@Is7_j{~GoDByxi4_b|mjxH@Nfqi6T^EoKKovPzRp){T5Hks zI9#Z^@yi#1KYhK;U!~O$b8%4)%5O6Sb@>Q{=rjgx>im7@LMAn$$V53lsYvxy!O3Id zYpq#+ngtb7Tz(T5sX!uhKt^3x&97bh zD*h3ZFi1wK(2xJyq@`KArignKOB%eS*&y@KHYl3s$D`aNx$i38MsTltSQ}yb1ZD~g zL5<&`c1fMCOX0N-u30#0O!@!$w0WIVZJ+X_!97QI{ZMnbl8BCH&5lThx(SYtZH|iX zz4=YDX@IA4PlftxVwmc9M|YBDv~6rn-EcoHqN!QtZ&UMy_3-CCJbEUnje4?jE4jy~mia&6hVYzyu==SFE#Nd|FK zko1mxv=ha{h$(3Q*DBr@hUQwO&!zoAok+u5B~=dWmRPOt8%b0iGI-_VPk*3YVrMImxJ@-jXg~>`QIyg*q=ovJc6>(rC32A1)sn(epHY^$-l@r^ex+EzB_xA*yDum7Ll(AWOBzN&#$;B>^j z%SX5M3*27zZ#jPl + + + + + + + + + + diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..ec20658 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,16 @@ +import SvgIcon from './SvgIcon/index.vue' +const gloablComponent: any = { SvgIcon } +// 引入element plus 图标 +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +export default { + // 必须为install + install(app: any) { + Object.keys(gloablComponent).forEach((key: any) => { + app.component(key, gloablComponent[key]) + }) + // 全部注册 + for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) + } + }, +} diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 0000000..8b70a54 --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/layout/logo/index.vue b/src/layout/logo/index.vue new file mode 100644 index 0000000..a753e7c --- /dev/null +++ b/src/layout/logo/index.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/layout/main/index.vue b/src/layout/main/index.vue new file mode 100644 index 0000000..3685729 --- /dev/null +++ b/src/layout/main/index.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/layout/menu/index.vue b/src/layout/menu/index.vue new file mode 100644 index 0000000..dec5d47 --- /dev/null +++ b/src/layout/menu/index.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/layout/tabbar/breadcrumb/index.vue b/src/layout/tabbar/breadcrumb/index.vue new file mode 100644 index 0000000..915efec --- /dev/null +++ b/src/layout/tabbar/breadcrumb/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/layout/tabbar/index.vue b/src/layout/tabbar/index.vue new file mode 100644 index 0000000..535132c --- /dev/null +++ b/src/layout/tabbar/index.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/layout/tabbar/setting/index.vue b/src/layout/tabbar/setting/index.vue new file mode 100644 index 0000000..7c1b8f4 --- /dev/null +++ b/src/layout/tabbar/setting/index.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..53011bd --- /dev/null +++ b/src/main.ts @@ -0,0 +1,37 @@ +import { createApp } from 'vue' +import App from '@/App.vue' +// 引入elementPlus插件与样式 +import ElementPlus from 'element-plus' +// 导入黑暗主题 +import 'element-plus/theme-chalk/dark/css-vars.css' +import '@/utils/watchWindoSize' +import router from './permission' +import 'element-plus/dist/index.css' +// 配置国际化 +//@ts-expect-error 修复ts校验 +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +// 引入仓库 +import pinia from '@/store/index' +// 引入全局样式 +import '@/styles/index.scss' +// svg插件需要配置的代码 +import 'virtual:svg-icons-register' +// 获取并创建实例对象 +const app = createApp(App) +// 引入自动注册全局组件脚本 +import gloablComponent from '@/components/index' +app.use(gloablComponent) +// 注册仓库 +app.use(pinia) +// 安装element插件 +app.use(ElementPlus, { + locale: zhCn, //使用中文 +}) + +app.use(router) +// 将应用挂在到挂载点上 +app.mount('#app') + +import '@/store/modules/permission' + +console.log(1111111111) diff --git a/src/permission.ts b/src/permission.ts new file mode 100644 index 0000000..1623b63 --- /dev/null +++ b/src/permission.ts @@ -0,0 +1,74 @@ +import router from '@/router' +import pinia from './store' +import useUserStore from '@/store/modules/user' +import permissionStore from '@/store/modules/permission' + +//@ts-expect-error 修复ts校验 +import nprogress from 'nprogress' +import 'nprogress/nprogress.css' +const userStore = useUserStore(pinia) +const usePermissionStore = permissionStore(pinia) +// const whitelist = ['/login', '/404'] +router.beforeEach(async (to, form, next) => { + console.log(router.getRoutes(), 'getRoutes') + // 进度条开始\ + nprogress.configure({ showSpinner: false }) + nprogress.start() + // 判断是否登录 + if (userStore.token) { + // 登录成功访问登录页则跳转到首页 + if (to.path == '/login') { + next({ path: '/' }) + } else { + // 登录成功判断是否获取到了用户信息 + if (userStore.userName) { + next() + } else { + try { + // 没有获取到用户信息 就获取用户信息 然后放行 + await userStore.getUserInfo() + // 获取筛选到的路由 + const asyncRouter = await usePermissionStore.getAsyncRoutes( + userStore.routes, + ) + console.log(asyncRouter, userStore.routes) + // 遍历筛选出来的路由通过addRoute添加到路由表 + asyncRouter.forEach((item: any) => { + router.addRoute(item) + }) + // 在最后向路由表添加一个404规则 + // 切记不要写到路由表内 否者刷新页面会跳转到404页面 + router.addRoute({ + path: '/:pathMatch(.*)*', + component: () => import('@/views/404/index.vue'), + name: 'Any', + meta: { + title: '任意', + hidden: true, + }, + }) + next({ ...to, replace: true }) // 这里相当于push到一个页面 不在进入路由拦截 + } catch (error) { + // 如果获取用户信息失败了则执行登出操作让重新登录 + console.log(error) + userStore.logout() + next({ path: '/login' }) + } + } + } + } else { + // 没有token访问登录页放行 + if (to.path == '/login') { + next() + } else { + // 访问其他页面则阻止 + next({ path: '/login', query: { redirect: to.path } }) + } + } +}) + +router.afterEach((to, form, next) => { + console.log(to, form, next) + nprogress.done() +}) +export default router diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..abccc49 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,25 @@ +// 导入路由插件 +import { createRouter, createWebHashHistory } from 'vue-router' + +const routerList = [ + { + path: '/login', + component: () => import('@/views/login/index.vue'), + name: 'login', + meta: { + title: '登录', + hidden: true, //代表路由在菜单中是否隐藏 true:隐藏,false:不隐藏 + }, + }, +] +const router = createRouter({ + history: createWebHashHistory(), + routes: routerList, + scrollBehavior() { + return { + left: 0, + top: 0, + } + }, +}) +export default router diff --git a/src/router/routers.ts b/src/router/routers.ts new file mode 100644 index 0000000..5b02b50 --- /dev/null +++ b/src/router/routers.ts @@ -0,0 +1,157 @@ +export const constantRoute: any = [ + { + path: '/', + component: () => import('@/layout/index.vue'), + name: 'layout', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + redirect: '/home', + children: [ + { + path: '/home', + component: () => import('@/views/home/index.vue'), + name: 'Home', + meta: { + title: '个人中心', + hidden: false, + icon: 'HomeFilled', + }, + }, + ], + }, + { + path: '/curriculumCenter', + component: () => import('@/layout/index.vue'), + name: 'CurriculumCenter', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/curriculumCenter/course', + component: () => import('@/views/course/index.vue'), + name: 'Course', + meta: { + title: '课程', + hidden: false, + icon: 'Notebook', + }, + }, + ], + }, + { + path: '/studentManagement', + component: () => import('@/layout/index.vue'), + name: 'StudentManagement', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/studentManagement/student', + component: () => import('@/views/student/index.vue'), + name: 'Student', + meta: { + title: '学生', + hidden: false, + icon: 'User', + }, + }, + ], + }, + { + path: '/groupManagement', + component: () => import('@/layout/index.vue'), + name: 'GroupManagement', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/groupManagement/group', + component: () => import('@/views/group/index.vue'), + name: 'Group', + meta: { + title: '分组', + hidden: false, + icon: 'Operation', + }, + }, + ], + }, + { + path: '/mssageManagement', + component: () => import('@/layout/index.vue'), + name: 'MssageManagement', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/mssageManagement/message', + component: () => import('@/views/message/index.vue'), + name: 'Message', + meta: { + title: '消息', + hidden: false, + icon: 'ChatDotSquare', + }, + }, + ], + }, + { + path: '/myCourseStudyManagement', + component: () => import('@/layout/index.vue'), + name: 'MyCourseStudyManagement', + meta: { + title: '', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/myCourseStudyManagement/myCourseStudy', + component: () => import('@/views/MyCourseStudy/index.vue'), + name: 'MyCourseStudy', + meta: { + title: '我学习的课程', + hidden: false, + icon: 'StarFilled', + }, + }, + ], + }, + { + path: '/courseResourcesManagement', + component: () => import('@/layout/index.vue'), + name: 'CourseResourcesManagement', + meta: { + title: '课程资源', + hidden: false, + icon: 'HomeFilled', // 菜单图标 + }, + children: [ + { + path: '/courseResourcesManagement/courseResources', + component: () => import('@/views/courseResources/index.vue'), + name: 'CourseResources', + meta: { + title: '课程资源', + hidden: false, + icon: 'Reading', + }, + }, + ], + }, +] diff --git a/src/setting.ts b/src/setting.ts new file mode 100644 index 0000000..3140ac6 --- /dev/null +++ b/src/setting.ts @@ -0,0 +1,6 @@ +// 用于项目logo 标题配置 +export default { + title: '教学一体化', //项目标题 + logo: '/public/logo.png', //项目logo + logoHidden: true, // logo隐藏设置 +} diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..2a205ca --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,6 @@ +// 引入仓库 +import { createPinia } from 'pinia' +// 创建仓库 +const pinia = createPinia() +// 暴露仓库 +export default pinia diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts new file mode 100644 index 0000000..b8f3cf7 --- /dev/null +++ b/src/store/modules/permission.ts @@ -0,0 +1,28 @@ +import { defineStore } from 'pinia' +import { constantRoute } from '@/router/routers' +const newRouter = defineStore('newRouter', { + state: (): any => { + return { + asyncRouter: null, + } + }, + actions: { + // 筛选用户路由 + async getAsyncRoutes(routes: any) { + return (this.asyncRouter = constantRoute.filter((route: any) => { + if (route.children) { + route.children = route.children.filter((child: any) => + routes.includes(child.name), + ) + return route.children.length > 0 + } else { + return routes.includes(route.name) + } + })) + }, + removeRouter() { + this.asyncRouter = [] + }, + }, +}) +export default newRouter diff --git a/src/store/modules/setting.ts b/src/store/modules/setting.ts new file mode 100644 index 0000000..c02b7e4 --- /dev/null +++ b/src/store/modules/setting.ts @@ -0,0 +1,11 @@ +import { defineStore } from 'pinia' + +const useLayoutSettingStoe = defineStore('SettingStore', { + state: () => { + return { + fold: false, // 折叠 + refresh: false, // 刷新 + } + }, +}) +export default useLayoutSettingStoe diff --git a/src/store/modules/type/types.ts b/src/store/modules/type/types.ts new file mode 100644 index 0000000..5e613b1 --- /dev/null +++ b/src/store/modules/type/types.ts @@ -0,0 +1,8 @@ +import type { RouteRecordRaw } from 'vue-router' +export interface LoginStoreType { + token: string + menuRoutes: RouteRecordRaw[] + userName: string // 用户姓名 + avatar: string // 用户头像 + routes: string +} diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts new file mode 100644 index 0000000..8fabbfd --- /dev/null +++ b/src/store/modules/user.ts @@ -0,0 +1,81 @@ +// 创建用户相关的仓库 +import { defineStore } from 'pinia' +// 引入登录接口 +import { reqLogin, getUserInfo } from '@/api/user/index' +// 引入登录参数类型 +import { loginType, loginResponseType } from '@/api/user/types' +// 引入ElementPlus通知插件 +import { ElNotification } from 'element-plus' +import { getTime } from '@/utils/time' +import { LoginStoreType } from '../modules/type/types' +// 引入设置token的方法 +import { GET_TKOEN, SET_TKOEN, REMOVE_TOKEN } from '@/utils/token' +// 引入常量路由 +import { constantRoute } from '@/router/routers' +import permissionStore from './permission' +// 引入路由 +const useUserStore = defineStore('User', { + state: (): LoginStoreType => { + return { + token: GET_TKOEN('TOKEN') || '', + menuRoutes: constantRoute, //存储生成菜单路由数据 + userName: '', // 用户姓名 + avatar: '', // 用户头像 + routes: '', + } + }, + actions: { + // 登录事件 + async userLogin(data: loginType) { + const res: loginResponseType = await reqLogin(data) + this.token = res.data.token as string + + if (res.code === 200) { + SET_TKOEN('TOKEN', this.token) + // localStorage.setItem('TOKEN', this.token) + ElNotification({ + type: 'success', + message: '登录成功!', + title: `Hi ${getTime()}!`, + }) + return 'ok' + } else { + ElNotification({ + type: 'error', + message: res.data.message, + }) + return Promise.reject(new Error(res.data.message)) + } + }, + // 获取用户信息事件 + async getUserInfo() { + const result = await getUserInfo() + if (result.code === 200) { + console.log(result) + + this.userName = result.data.checkUser.username + this.avatar = result.data.checkUser.avatar + this.routes = result.data.checkUser.routes + + return 'ok' + } else { + return Promise.reject('登录过期') + } + }, + // 退出登录事件 + logout() { + const usePermissionStore = permissionStore() + console.log(usePermissionStore) + + // 清除token + REMOVE_TOKEN('TOKEN') + ;(this.userName = ''), (this.avatar = '') + this.token = '' + this.routes = '' + usePermissionStore.removeRouter() + location.reload() + }, + }, + getters: {}, +}) +export default useUserStore diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 0000000..b83a609 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,44 @@ +// 引入清除浏览器默认样式文件 +@import './reset.scss'; + +// 滚动条外观样式设置 +::-webkit-scrollbar{ + width: 10px; +} +::-webkit-scrollbar-track{ + background-color:$base-menu-background; +} +::-webkit-scrollbar-thumb{ + width: 10px; + background-color: #fff; + border-radius: 10px; +} + +// 修改elemen plus样式 +.el-menu{ + background-color: #ffffff; +} +.el-menu-item:hover{ + background-color: #5577ff; + color: #fff; +} +.el-sub-menu__title:hover{ + background-color: #5577ff; + color: #fff; +} +.el-menu-item.is-active{ + color: #fff; + background-color: #5577ff; +} +.el-menu-item{ + color: #9896A3; + border-radius: 10px; + margin: 5px 0; +} +.el-sub-menu__title{ + color: #9896A3; + border-radius: 10px; +} +.el-scrollbar__wrap{ + padding: 0 15px; +} \ No newline at end of file diff --git a/src/styles/reset.scss b/src/styles/reset.scss new file mode 100644 index 0000000..aabb129 --- /dev/null +++ b/src/styles/reset.scss @@ -0,0 +1,188 @@ +/** + * ENGINE + * v0.2 | 20150615 + * License: none (public domain) + */ + + *, + *:after, + *:before { + box-sizing: border-box; + + outline: none; + } + + html, + body, + div, + span, + applet, + object, + iframe, + h1, + h2, + h3, + h4, + h5, + h6, + p, + blockquote, + pre, + a, + abbr, + acronym, + address, + big, + cite, + code, + del, + dfn, + em, + img, + ins, + kbd, + q, + s, + samp, + small, + strike, + strong, + sub, + sup, + tt, + var, + b, + u, + i, + center, + dl, + dt, + dd, + ol, + ul, + li, + fieldset, + form, + label, + legend, + table, + caption, + tbody, + tfoot, + thead, + tr, + th, + td, + article, + aside, + canvas, + details, + embed, + figure, + figcaption, + footer, + header, + hgroup, + menu, + nav, + output, + ruby, + section, + summary, + time, + mark, + audio, + video { + font: inherit; + font-size: 100%; + + margin: 0; + padding: 0; + + vertical-align: baseline; + + border: 0; + } + + article, + aside, + details, + figcaption, + figure, + footer, + header, + hgroup, + menu, + nav, + section { + display: block; + } + + body { + line-height: 1; + } + + ol, + ul { + list-style: none; + } + + blockquote, + q { + quotes: none; + &:before, + &:after { + content: ''; + content: none; + } + } + + sub, + sup { + font-size: 75%; + line-height: 0; + + position: relative; + + vertical-align: baseline; + } + sup { + top: -.5em; + } + sub { + bottom: -.25em; + } + + table { + border-spacing: 0; + border-collapse: collapse; + } + + input, + textarea, + button { + font-family: inhert; + font-size: inherit; + + color: inherit; + } + + select { + text-indent: .01px; + text-overflow: ''; + + border: 0; + border-radius: 0; + + -webkit-appearance: none; + -moz-appearance: none; + } + select::-ms-expand { + display: none; + } + + code, + pre { + font-family: monospace, monospace; + font-size: 1em; + } \ No newline at end of file diff --git a/src/styles/variable.scss b/src/styles/variable.scss new file mode 100644 index 0000000..4cbded4 --- /dev/null +++ b/src/styles/variable.scss @@ -0,0 +1,14 @@ +$color: skyblue; +// scss全局变量 + +// 左侧菜单宽度 +$base-menu-width:250px; +$base-menu-min-width:63px; +// 左侧菜单背景色 +$base-menu-background:#ffffff; +// 顶部导航高度 +$base-tabbar-height:50px; +// 左侧菜单logo高度 +$base-menu-logo-height:50px; +// 左侧菜单标题文字大小 +$base-menu-logo-title-size:20px; \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..7c7c3a5 --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,50 @@ +import axios from 'axios' +import { ElMessage } from 'element-plus' +// 获取用户相关小仓库 +import useUserStore from '@/store/modules/user' + +//创建axios实例 +const request = axios.create({ + baseURL: import.meta.env.VITE_APP_BASE_API, + timeout: 5000, +}) +//请求拦截器 +request.interceptors.request.use((config) => { + const userStore = useUserStore() + // 设置请求头设置token + config.headers.token = userStore.token + return config +}) +//响应拦截器 +request.interceptors.response.use( + (response) => { + return response.data + }, + (error) => { + //处理网络错误 + let msg = '' + const status = error.response.status + switch (status) { + case 401: + msg = 'token过期' + break + case 403: + msg = '无权访问' + break + case 404: + msg = '请求地址错误' + break + case 500: + msg = '服务器出现问题' + break + default: + msg = '无网络' + } + ElMessage({ + type: 'error', + message: msg, + }) + return Promise.reject(error) + }, +) +export default request diff --git a/src/utils/time.ts b/src/utils/time.ts new file mode 100644 index 0000000..edbe76e --- /dev/null +++ b/src/utils/time.ts @@ -0,0 +1,14 @@ +export const getTime = () => { + let message = '' + const hours = new Date().getHours() + if (hours <= 9) { + message = '早上好' + } else if (hours <= 12) { + message = '上午好' + } else if (hours <= 18) { + message = '下午好' + } else { + message = '晚上好' + } + return message +} diff --git a/src/utils/token.ts b/src/utils/token.ts new file mode 100644 index 0000000..0abe1de --- /dev/null +++ b/src/utils/token.ts @@ -0,0 +1,12 @@ +// 设置token +export const SET_TKOEN = (name: string, data: string) => { + localStorage.setItem(name, data) +} +// 获取token +export const GET_TKOEN = (name: string) => { + return localStorage.getItem(name) +} +// 移除token +export const REMOVE_TOKEN = (name: string) => { + localStorage.removeItem(name) +} diff --git a/src/utils/watchWindoSize.ts b/src/utils/watchWindoSize.ts new file mode 100644 index 0000000..d2008bf --- /dev/null +++ b/src/utils/watchWindoSize.ts @@ -0,0 +1,15 @@ +import useLayoutSettingStoe from '@/store/modules/setting' +import pinia from '@/store' +const settingStore = useLayoutSettingStoe(pinia) //在非组件内使用pinia要引入创建pinia大仓库 然后引入小仓库初始化从新指向大仓库 +if (window.innerWidth < 1300) { + settingStore.fold = true +} else { + settingStore.fold = false +} +window.addEventListener('resize', () => { + if (window.innerWidth < 1300) { + settingStore.fold = true + } else { + settingStore.fold = false + } +}) diff --git a/src/views/404/index.vue b/src/views/404/index.vue new file mode 100644 index 0000000..7f8b698 --- /dev/null +++ b/src/views/404/index.vue @@ -0,0 +1,256 @@ +// error404.vue + + + + + diff --git a/src/views/MyCourseStudy/index.vue b/src/views/MyCourseStudy/index.vue new file mode 100644 index 0000000..bb24d88 --- /dev/null +++ b/src/views/MyCourseStudy/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/course/index.vue b/src/views/course/index.vue new file mode 100644 index 0000000..e1ca3da --- /dev/null +++ b/src/views/course/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/courseResources/index.vue b/src/views/courseResources/index.vue new file mode 100644 index 0000000..b08e27c --- /dev/null +++ b/src/views/courseResources/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/group/index.vue b/src/views/group/index.vue new file mode 100644 index 0000000..2e95b1d --- /dev/null +++ b/src/views/group/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..4a7c0fa --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..65390e1 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/message/index.vue b/src/views/message/index.vue new file mode 100644 index 0000000..94dc64a --- /dev/null +++ b/src/views/message/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/views/student/index.vue b/src/views/student/index.vue new file mode 100644 index 0000000..368df54 --- /dev/null +++ b/src/views/student/index.vue @@ -0,0 +1,9 @@ + + + + + diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..12947d9 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录 + "paths": { + //路径映射,相对于baseUrl + "@/*": ["src/*"] + }, + "types": ["vite/client"] + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..5b2293c --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,38 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import path from 'path' +// 导入mock插件 +import { viteMockServe } from 'vite-plugin-mock' +// 导入svg配置插件 +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' +// https://vitejs.dev/config/ +export default ({ command }: any) => { + return { + plugins: [ + vue(), + viteMockServe({ + enable: command === 'serve', + }), + createSvgIconsPlugin({ + // Specify the icon folder to be cached + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')], + // Specify symbolId format + symbolId: 'icon-[dir]-[name]', + }), + ], + resolve: { + alias: { + '@': path.resolve('./src'), // 相对路径别名配置,使用 @ 代替 src + }, + }, + // 配置scss + css: { + preprocessorOptions: { + scss: { + javascriptEnabled: true, + additionalData: '@import "./src/styles/variable.scss";', + }, + }, + }, + } +}