Browse Source

first commit

张延森 3 years ago
commit
544a655372

+ 24
- 0
.gitignore View File

@@ -0,0 +1,24 @@
1
+# Logs
2
+logs
3
+*.log
4
+npm-debug.log*
5
+yarn-debug.log*
6
+yarn-error.log*
7
+pnpm-debug.log*
8
+lerna-debug.log*
9
+
10
+node_modules
11
+dist
12
+dist-ssr
13
+*.local
14
+
15
+# Editor directories and files
16
+.vscode/*
17
+!.vscode/extensions.json
18
+.idea
19
+.DS_Store
20
+*.suo
21
+*.ntvs*
22
+*.njsproj
23
+*.sln
24
+*.sw?

+ 3
- 0
.vscode/extensions.json View File

@@ -0,0 +1,3 @@
1
+{
2
+  "recommendations": ["Vue.volar"]
3
+}

+ 7
- 0
README.md View File

@@ -0,0 +1,7 @@
1
+# Vue 3 + Vite
2
+
3
+This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
4
+
5
+## Recommended IDE Setup
6
+
7
+- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)

+ 13
- 0
index.html View File

@@ -0,0 +1,13 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+  <head>
4
+    <meta charset="UTF-8" />
5
+    <link rel="icon" href="/favicon.ico" />
6
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+    <title>Vite App</title>
8
+  </head>
9
+  <body>
10
+    <div id="app"></div>
11
+    <script type="module" src="/src/main.js"></script>
12
+  </body>
13
+</html>

+ 13
- 0
jsconfig.json View File

@@ -0,0 +1,13 @@
1
+{
2
+  "compilerOptions": {
3
+    "baseUrl": "./",
4
+    "paths": {
5
+      "@/*": ["src/*"]
6
+    },
7
+    "target": "es6"
8
+  },
9
+  "exclude": [
10
+    "node_modules",
11
+    "dist"
12
+  ]
13
+}

+ 25
- 0
package.json View File

@@ -0,0 +1,25 @@
1
+{
2
+  "name": "vite-project",
3
+  "private": true,
4
+  "version": "0.0.0",
5
+  "scripts": {
6
+    "dev": "vite",
7
+    "build": "vite build",
8
+    "preview": "vite preview"
9
+  },
10
+  "dependencies": {
11
+    "@zjxpcyc/vue-tiny-store": "^1.0.1",
12
+    "axios": "^0.27.2",
13
+    "element-plus": "^2.2.0",
14
+    "js-base64": "^3.7.2",
15
+    "nprogress": "^0.2.0",
16
+    "vue": "^3.2.25",
17
+    "vue-router": "4"
18
+  },
19
+  "devDependencies": {
20
+    "@vitejs/plugin-vue": "^2.3.3",
21
+    "less": "^4.1.2",
22
+    "unplugin-element-plus": "^0.4.0",
23
+    "vite": "^2.9.9"
24
+  }
25
+}

BIN
public/favicon.ico View File


+ 10
- 0
src/App.vue View File

@@ -0,0 +1,10 @@
1
+<template>
2
+  <router-view></router-view>
3
+</template>
4
+
5
+<style>
6
+html, body, #app {
7
+  height: 100%;
8
+  margin: 0;
9
+}
10
+</style>

BIN
src/assets/logo.png View File


+ 40
- 0
src/components/HelloWorld.vue View File

@@ -0,0 +1,40 @@
1
+<script setup>
2
+import { ref } from 'vue'
3
+
4
+defineProps({
5
+  msg: String
6
+})
7
+
8
+const count = ref(0)
9
+</script>
10
+
11
+<template>
12
+  <h1>{{ msg }}</h1>
13
+
14
+  <p>
15
+    Recommended IDE setup:
16
+    <a href="https://code.visualstudio.com/" target="_blank">VS Code</a>
17
+    +
18
+    <a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>
19
+  </p>
20
+
21
+  <p>
22
+    <a href="https://vitejs.dev/guide/features.html" target="_blank">
23
+      Vite Documentation
24
+    </a>
25
+    |
26
+    <a href="https://v3.vuejs.org/" target="_blank">Vue 3 Documentation</a>
27
+  </p>
28
+
29
+  <button type="button" @click="count++">count is: {{ count }}</button>
30
+  <p>
31
+    Edit
32
+    <code>components/HelloWorld.vue</code> to test hot module replacement.
33
+  </p>
34
+</template>
35
+
36
+<style scoped>
37
+a {
38
+  color: #42b983;
39
+}
40
+</style>

+ 12
- 0
src/layouts/BasicLayout.vue View File

@@ -0,0 +1,12 @@
1
+<template>
2
+  <ElContainer>
3
+    <ElAside></ElAside>
4
+    <ElMain>
5
+      <router-view></router-view>
6
+    </ElMain>
7
+  </ElContainer>
8
+</template>
9
+
10
+<script setup>
11
+import { ElContainer, ElAside, ElMain } from 'element-plus'
12
+</script>

+ 10
- 0
src/main.js View File

@@ -0,0 +1,10 @@
1
+import { createApp } from 'vue'
2
+import 'nprogress/nprogress.css'
3
+import App from './App.vue'
4
+import router from './route'
5
+import store from './store'
6
+
7
+const app = createApp(App)
8
+app.use(store)
9
+app.use(router)
10
+app.mount('#app')

+ 18
- 0
src/pages/index.vue View File

@@ -0,0 +1,18 @@
1
+<template>
2
+  <div>asdfasdf</div>
3
+  <button @click="handleClick">新建文件</button>
4
+</template>
5
+
6
+<script setup>
7
+import { useModel } from '@zjxpcyc/vue-tiny-store'
8
+
9
+const { user } = useModel('user')
10
+const { getMenus } = useModel('menu')
11
+
12
+const handleClick = () => {
13
+  // newBranch(user)
14
+  // newRepo(user, 'my-test')
15
+  getMenus(user)
16
+}
17
+
18
+</script>

+ 74
- 0
src/pages/login/index.vue View File

@@ -0,0 +1,74 @@
1
+<template>
2
+  <div class="login-page">
3
+    <div class="login-form">
4
+      <ElForm :model="formData" :rules="rules" label-width="100px" label-position="right" ref="formRef">
5
+        <ElFormItem label="用户名" prop="username">
6
+          <ElInput v-model="formData.username"></ElInput>
7
+        </ElFormItem>
8
+        <ElFormItem label="密码" prop="password">
9
+          <ElInput type="password" v-model="formData.password"></ElInput>
10
+        </ElFormItem>
11
+        <ElFormItem label="client_id" prop="client_id">
12
+          <ElInput v-model="formData.client_id"></ElInput>
13
+        </ElFormItem>
14
+        <ElFormItem label="client_secret" prop="client_secret">
15
+          <ElInput v-model="formData.client_secret"></ElInput>
16
+        </ElFormItem>
17
+        <ElFormItem>
18
+          <ElButton type="primary" @click="submitForm">登录</ElButton>
19
+        </ElFormItem>
20
+      </ElForm>
21
+    </div>
22
+  </div>
23
+</template>
24
+
25
+<script setup>
26
+import { useRouter } from 'vue-router'
27
+import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'
28
+import { reactive, ref, watch } from 'vue-demi'
29
+import { useModel } from '@zjxpcyc/vue-tiny-store'
30
+
31
+const router = useRouter()
32
+const { signIn } = useModel('user')
33
+const formRef = ref()
34
+
35
+const rules = {
36
+  username: [{ required: true, message: '请填写用户名', trigger: 'blur' }],
37
+  password: [{ required: true, message: '请填写密码', trigger: 'blur' }],
38
+  client_id: [{ required: true, message: '请填写client_id', trigger: 'blur' }],
39
+  client_secret: [{ required: true, message: '请填写client_secret', trigger: 'blur' }],
40
+}
41
+
42
+const formData = reactive({
43
+  grant_type: 'password',
44
+  username: undefined,
45
+  password: undefined,
46
+  client_id: undefined,
47
+  client_secret: undefined,
48
+  scope: 'user_info projects pull_requests issues notes keys hook groups gists enterprises'
49
+})
50
+
51
+const submitForm = async () => {
52
+  formRef.value.validate((valid) => {
53
+    if (valid) {
54
+      signIn(formData).then(() => {
55
+        router.replace({ name: 'index' })
56
+      })
57
+    }
58
+  })
59
+}
60
+
61
+</script>
62
+
63
+<style lang="less" scoped>
64
+.login-page {
65
+  height: 100%;
66
+  display: flex;
67
+  align-items: center;
68
+  justify-content: center;
69
+
70
+  .login-form {
71
+    width: 600px;
72
+  }
73
+}
74
+</style>

+ 49
- 0
src/route.js View File

@@ -0,0 +1,49 @@
1
+import { createRouter, createWebHashHistory } from 'vue-router';
2
+import NProgress from 'nprogress'
3
+import BasicLayout from './layouts/BasicLayout.vue'
4
+import store from './store'
5
+
6
+const routes = [
7
+  {
8
+    path: '/',
9
+    redirect: '/index',
10
+    component: BasicLayout,
11
+    children: [
12
+      { path: 'index', name: 'index', component: () => import('./pages/index.vue') }
13
+    ]
14
+  },
15
+  {
16
+    path: '/login',
17
+    name: 'login',
18
+    component: () => import('./pages/login/index.vue')
19
+  }
20
+]
21
+
22
+const router = createRouter({
23
+  // 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
24
+  history: createWebHashHistory(),
25
+  routes, // `routes: routes` 的缩写
26
+})
27
+
28
+router.beforeEach((to, from, next) => {
29
+  NProgress.start();
30
+  const { user, getUserInfo } = store.getState('user')
31
+  
32
+  if (!user.token && to.name != 'login') {
33
+    NProgress.done();
34
+    next({ name: 'login' })
35
+  } else {
36
+    if (!user.id) {
37
+      getUserInfo(user.token).then(() => {
38
+        NProgress.done();
39
+        next()
40
+      })
41
+    } else {
42
+      NProgress.done();
43
+      next()
44
+    }
45
+  }
46
+  
47
+})
48
+
49
+export default router;

+ 12
- 0
src/store/index.js View File

@@ -0,0 +1,12 @@
1
+import createStore from '@zjxpcyc/vue-tiny-store'
2
+import useRepo from './model/repo'
3
+import useUser from './model/user'
4
+import useMenu from './model/menu'
5
+
6
+const store = createStore({
7
+  'user': useUser,
8
+  'repo': useRepo,
9
+  'menu': useMenu,
10
+})
11
+
12
+export default store

+ 16
- 0
src/store/model/menu.js View File

@@ -0,0 +1,16 @@
1
+import { reactive } from "vue";
2
+import request from '@/utils/request'
3
+
4
+export default function useMenu() {
5
+  const menus = reactive([])
6
+
7
+  const getMenus = (user, path = '', repo = 'my-note') => {
8
+    const { access_token } = user.token
9
+    return request.get(`/api/v5/repos/${user.login}/${repo}/contents/${path}`, { params: { access_token } }).then(console.log)
10
+  }
11
+
12
+  return {
13
+    menus,
14
+    getMenus,
15
+  }
16
+}

+ 4
- 0
src/store/model/note.js View File

@@ -0,0 +1,4 @@
1
+
2
+export default function useNote() {
3
+  
4
+}

+ 51
- 0
src/store/model/repo.js View File

@@ -0,0 +1,51 @@
1
+import { reactive } from "vue";
2
+import { Base64 } from 'js-base64'
3
+import request from '@/utils/request'
4
+
5
+export default function useRepo() {
6
+  const repo = reactive({})
7
+
8
+  const getRepo = (user, repo = 'my-note') => {
9
+    const { access_token } = user.token
10
+    return request.get(`/api/v5/repos/${user.login}/${repo}`, { params: { access_token } }).then(res => Object.assign(repo, res))
11
+  }
12
+
13
+  const newRepo = (user, name = 'my-note') => {
14
+    const { access_token } = user.token
15
+    const data = {
16
+      access_token,
17
+      name,
18
+      private: false,
19
+      auto_init: true,
20
+    }
21
+    return request.post('/api/v5/user/repos', data).then(res => Object.assign(repo, res))
22
+  }
23
+
24
+  const newBranch = (user, branch_name = 'master', repo = 'my-note') => {
25
+    const { access_token } = user.token
26
+    const data = {
27
+      access_token,
28
+      refs: 'master',
29
+      branch_name,
30
+    }
31
+    return request.post(`/api/v5/repos/${user.login}/${repo}`, data).then(res => Object.assign(repo, res))
32
+  }
33
+
34
+  const newFile = (content, path, user, repo = 'my-note') => {
35
+    const { access_token } = user.token
36
+    const data = {
37
+      access_token,
38
+      content: Base64.encode(content),
39
+      message: new Date().toJSON(),
40
+    }
41
+    return request.post(`/api/v5/repos/${user.login}/${repo}/contents/${path}`, data)
42
+  }
43
+
44
+  return {
45
+    repo,
46
+    getRepo,
47
+    newRepo,
48
+    newBranch,
49
+    newFile,
50
+  }
51
+}

+ 57
- 0
src/store/model/user.js View File

@@ -0,0 +1,57 @@
1
+import { reactive } from 'vue'
2
+import request from '@/utils/request'
3
+import { getToken, setToken } from '@/utils/token'
4
+
5
+export default function useUser() {
6
+  const user = reactive({ token: getToken() })
7
+
8
+  const signIn = (data) => {
9
+    return request.post('/oauth/token', data, { contentType: 'application/x-www-form-urlencoded' }).then(res => {
10
+      setToken(res)
11
+      user.token = res
12
+      if (user.token) {
13
+        getUserInfo(user.token)
14
+      }
15
+    })
16
+  }
17
+  
18
+  const signOut = () => {
19
+    // xxx
20
+  }
21
+
22
+  const getUserInfo = (token) => {
23
+    return request.get('/api/v5/user', { params: { access_token: token.access_token } }).then(res => {
24
+      Object.assign(user, res || {})
25
+    })
26
+  }
27
+
28
+  // 快过期的需要刷新 token
29
+  const refreshToken = (token) => {
30
+    const now = (new Date()).valueOf() / 1000
31
+    const expire = token.expires_in + token.created_at
32
+    const diff = 1 * 60 * 60 // 小时
33
+
34
+    if (now + diff > expire) {
35
+      return request.post('/oauth/token', null, { params: { grant_type: 'refresh_token', refresh_token: token.refresh_token } }).then(res => {
36
+        setToken(res)
37
+        user.token = res
38
+      })
39
+    }
40
+  }
41
+  
42
+  const t = setTimeout(() => {
43
+    clearTimeout(t)
44
+
45
+    if (user.token) {
46
+      refreshToken(user.token)
47
+      // getUserInfo(user.token)
48
+    }
49
+  }, 0)
50
+
51
+  return {
52
+    user,
53
+    signIn,
54
+    signOut,
55
+    getUserInfo
56
+  }
57
+}

+ 51
- 0
src/utils/request.js View File

@@ -0,0 +1,51 @@
1
+import axios from 'axios'
2
+
3
+const BASE_URL = 'https://gitee.com'
4
+
5
+const instance = axios.create({
6
+  baseURL: BASE_URL
7
+});
8
+
9
+instance.interceptors.request.use((config) => {
10
+  if (config.contentType) {
11
+    config.headers = {
12
+      ...config.headers || {},
13
+      'Content-Type': config.contentType,
14
+    }
15
+
16
+    if (config.contentType === 'application/x-www-form-urlencoded') {
17
+      config.data = transformQuerString(config.data)
18
+    }
19
+  } else {
20
+    // 普通 data 转化为 formdata
21
+    if (typeof config.data === 'object') {
22
+      config.data = Object.keys(config.data).reduce(((fm, k) => {
23
+        fm.delete(k)
24
+        fm.append(k, config.data[k])
25
+        return fm
26
+      }), new FormData())
27
+    }
28
+  }
29
+
30
+  return config
31
+})
32
+
33
+instance.interceptors.response.use(function (response) {
34
+  // Any status code that lie within the range of 2xx cause this function to trigger
35
+  // Do something with response data
36
+  return response.data || response;
37
+}, function (error) {
38
+  // Any status codes that falls outside the range of 2xx cause this function to trigger
39
+  // Do something with response error
40
+  return Promise.reject(error);
41
+});
42
+
43
+function transformQuerString(params, encode = true) {
44
+  if (encode) {
45
+    return Object.keys(params).map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`).join('&')
46
+  } else {
47
+    return Object.keys(params).map(k => `${k}=${params[k]}`).join('&')
48
+  }
49
+}
50
+
51
+export default instance

+ 16
- 0
src/utils/token.js View File

@@ -0,0 +1,16 @@
1
+
2
+let token;
3
+
4
+export function setToken(tk) {
5
+  token = tk;
6
+  const data = typeof tk === 'string' ? tk : JSON.stringify(tk)
7
+  localStorage.setItem('tk', data)
8
+}
9
+
10
+export function getToken() {
11
+  if (token) return token;
12
+
13
+  const tk = localStorage.getItem('tk');
14
+  token = tk ? JSON.parse(tk) : undefined
15
+  return token
16
+}

+ 17
- 0
vite.config.js View File

@@ -0,0 +1,17 @@
1
+import { defineConfig } from 'vite'
2
+import path from "path"
3
+import vue from '@vitejs/plugin-vue'
4
+import ElementPlus from 'unplugin-element-plus/vite'
5
+
6
+// https://vitejs.dev/config/
7
+export default defineConfig({
8
+  resolve: {
9
+    alias: {
10
+      "@": path.resolve(__dirname, "src"),
11
+    },
12
+  },
13
+  plugins: [
14
+    vue(),
15
+    ElementPlus(),
16
+  ]
17
+})

+ 825
- 0
yarn.lock View File

@@ -0,0 +1,825 @@
1
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+# yarn lockfile v1
3
+
4
+
5
+"@babel/parser@^7.16.4":
6
+  version "7.17.12"
7
+  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.17.12.tgz#36c2ed06944e3691ba82735fc4cf62d12d491a23"
8
+  integrity sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==
9
+
10
+"@ctrl/tinycolor@^3.4.1":
11
+  version "3.4.1"
12
+  resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32"
13
+  integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==
14
+
15
+"@element-plus/icons-vue@^1.1.4":
16
+  version "1.1.4"
17
+  resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz#5d2788ea356f1458068e6d400e724ca5f3d29aca"
18
+  integrity sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==
19
+
20
+"@floating-ui/core@^0.6.2":
21
+  version "0.6.2"
22
+  resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-0.6.2.tgz#f2813f0e5f3d5ed7af5029e1a082203dadf02b7d"
23
+  integrity sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==
24
+
25
+"@floating-ui/dom@^0.4.5":
26
+  version "0.4.5"
27
+  resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.4.5.tgz#2e88d16646119cc67d44683f75ee99840475bbfa"
28
+  integrity sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==
29
+  dependencies:
30
+    "@floating-ui/core" "^0.6.2"
31
+
32
+"@popperjs/core@npm:@sxzz/popperjs-es@^2.11.6":
33
+  version "2.11.7"
34
+  resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671"
35
+  integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==
36
+
37
+"@rollup/pluginutils@^4.2.0":
38
+  version "4.2.1"
39
+  resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
40
+  integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
41
+  dependencies:
42
+    estree-walker "^2.0.1"
43
+    picomatch "^2.2.2"
44
+
45
+"@types/lodash-es@^4.17.6":
46
+  version "4.17.6"
47
+  resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz#c2ed4c8320ffa6f11b43eb89e9eaeec65966a0a0"
48
+  integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==
49
+  dependencies:
50
+    "@types/lodash" "*"
51
+
52
+"@types/lodash@*", "@types/lodash@^4.14.182":
53
+  version "4.14.182"
54
+  resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2"
55
+  integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
56
+
57
+"@vitejs/plugin-vue@^2.3.3":
58
+  version "2.3.3"
59
+  resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz#fbf80cc039b82ac21a1acb0f0478de8f61fbf600"
60
+  integrity sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==
61
+
62
+"@vue/compiler-core@3.2.34":
63
+  version "3.2.34"
64
+  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.34.tgz#e28fe9d2b22dcb60274daea6df07e653d8a3ecbe"
65
+  integrity sha512-Y53lv04ZhDfqflhk4yEgBZrCL1RipbxqmqJFfl1PRkjOzt0bvJpf1sCNN81QNfXohVwFGf+Hng2ztwLwOZgbuA==
66
+  dependencies:
67
+    "@babel/parser" "^7.16.4"
68
+    "@vue/shared" "3.2.34"
69
+    estree-walker "^2.0.2"
70
+    source-map "^0.6.1"
71
+
72
+"@vue/compiler-dom@3.2.34":
73
+  version "3.2.34"
74
+  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.34.tgz#3aadd83fd789c7feaa56f838e86c5c7146395579"
75
+  integrity sha512-MFLUYDgy0aES9x1goU/pgxpzgT9IZOndO8qwQVSyVfUvl/CywEBtfBi5+8fsiBDhoGIT7g8qcsUUF1NYViU2vQ==
76
+  dependencies:
77
+    "@vue/compiler-core" "3.2.34"
78
+    "@vue/shared" "3.2.34"
79
+
80
+"@vue/compiler-sfc@3.2.34":
81
+  version "3.2.34"
82
+  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.34.tgz#3c02b261e631f20587b31e2b9ddc5596cd36c9da"
83
+  integrity sha512-I+vT4soKJtdsoREBDYAcz56+yGpZ5T3GUigvBFgC2yTeTtBtREOPzYw8kZyMuD2ZlryPYBkbV8D9xxcvU0j/aw==
84
+  dependencies:
85
+    "@babel/parser" "^7.16.4"
86
+    "@vue/compiler-core" "3.2.34"
87
+    "@vue/compiler-dom" "3.2.34"
88
+    "@vue/compiler-ssr" "3.2.34"
89
+    "@vue/reactivity-transform" "3.2.34"
90
+    "@vue/shared" "3.2.34"
91
+    estree-walker "^2.0.2"
92
+    magic-string "^0.25.7"
93
+    postcss "^8.1.10"
94
+    source-map "^0.6.1"
95
+
96
+"@vue/compiler-ssr@3.2.34":
97
+  version "3.2.34"
98
+  resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.34.tgz#5e2acc9c051cf877e6a5da20ffd4ff0257d9f4c5"
99
+  integrity sha512-zyaMdGJhxoA34ibWsXF7VH1PO5yrNB1MZg/ByRfXGM8JefGQaz+PpHvBy/5OI0ehEyhAyCb7279JdhYHacMZbw==
100
+  dependencies:
101
+    "@vue/compiler-dom" "3.2.34"
102
+    "@vue/shared" "3.2.34"
103
+
104
+"@vue/devtools-api@^6.0.0":
105
+  version "6.1.4"
106
+  resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.1.4.tgz#b4aec2f4b4599e11ba774a50c67fa378c9824e53"
107
+  integrity sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==
108
+
109
+"@vue/reactivity-transform@3.2.34":
110
+  version "3.2.34"
111
+  resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.34.tgz#852894181ce70a09a2a4c7605d31ad8b8d068d87"
112
+  integrity sha512-OtsrL4/i6Md279pMhZ8wRijeDhPSdnXrH9wmqAcKDhVcp1L2kSWlgVVLa1jGIyyFYE806YiJNJiGBvXPGXMzxw==
113
+  dependencies:
114
+    "@babel/parser" "^7.16.4"
115
+    "@vue/compiler-core" "3.2.34"
116
+    "@vue/shared" "3.2.34"
117
+    estree-walker "^2.0.2"
118
+    magic-string "^0.25.7"
119
+
120
+"@vue/reactivity@3.2.34":
121
+  version "3.2.34"
122
+  resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.34.tgz#660e7217a529d788326d22ff89473cdd101ce1ad"
123
+  integrity sha512-xbRIOPqxdNOr0zS47moRS6zf4BKd0z+55R85UJlo4r5ezqCktk6fYy1atY4tGzo7Maqh6QoKw3LtIKvpz8d7WA==
124
+  dependencies:
125
+    "@vue/shared" "3.2.34"
126
+
127
+"@vue/runtime-core@3.2.34":
128
+  version "3.2.34"
129
+  resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.34.tgz#98cb706de9762485a81561329f70b740386f9f7b"
130
+  integrity sha512-GtaHqYiuEb56OA0cbMh20UPpDiXGRX+NS1buKif4OL341JJ3NtmNOIchCzknaN76oN6KqrLiO82/+TEZXl2Xtw==
131
+  dependencies:
132
+    "@vue/reactivity" "3.2.34"
133
+    "@vue/shared" "3.2.34"
134
+
135
+"@vue/runtime-dom@3.2.34":
136
+  version "3.2.34"
137
+  resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.34.tgz#747acc8a41410f59ecff97ef01cd2a665e6b1101"
138
+  integrity sha512-uqizbaJqmNH3O4TRr+8cM1tid5ODWHyQYZ3CLWcjn3dLkf0N7wvNuhUELQUZU/wQLvVMhJUQNrmOqckHLm6Xpw==
139
+  dependencies:
140
+    "@vue/runtime-core" "3.2.34"
141
+    "@vue/shared" "3.2.34"
142
+    csstype "^2.6.8"
143
+
144
+"@vue/server-renderer@3.2.34":
145
+  version "3.2.34"
146
+  resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.34.tgz#3efac854311cf13754734b3bae2829946f665f60"
147
+  integrity sha512-PMnBAq1BexPFXBxuLngp4lQvc0XQD1CBDIHtEsG0pRusGWVJddBUKlR/EnnSvGaJ34YmKkAl9kdvczOz0kddew==
148
+  dependencies:
149
+    "@vue/compiler-ssr" "3.2.34"
150
+    "@vue/shared" "3.2.34"
151
+
152
+"@vue/shared@3.2.34":
153
+  version "3.2.34"
154
+  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.34.tgz#b71750d05120feb644102088a09be64518cd3a86"
155
+  integrity sha512-zhEeB8TrFmTXmTXmu/wcjEhgrjO4xqdDQrCdPhjX7NxfoLqoBVKguOm8qyihWNLbP+41svYY4za9mqXyqFLzNg==
156
+
157
+"@vueuse/core@^8.2.6":
158
+  version "8.5.0"
159
+  resolved "https://registry.npmmirror.com/@vueuse/core/-/core-8.5.0.tgz#2b7548e52165c88e1463756c36188e105d806543"
160
+  integrity sha512-VEJ6sGNsPlUp0o9BGda2YISvDZbhWJSOJu5zlp2TufRGVrLcYUKr31jyFEOj6RXzG3k/H4aCYeZyjpItfU8glw==
161
+  dependencies:
162
+    "@vueuse/metadata" "8.5.0"
163
+    "@vueuse/shared" "8.5.0"
164
+    vue-demi "*"
165
+
166
+"@vueuse/metadata@8.5.0":
167
+  version "8.5.0"
168
+  resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.5.0.tgz#1aaa3787922cfda0f38243aaa7779366a669b4db"
169
+  integrity sha512-WxsD+Cd+bn+HcjpY6Dl9FJ8ywTRTT9pTwk3bCQpzEhXVYAyNczKDSahk50fCfIJKeWHhyI4B2+/ZEOxQAkUr0g==
170
+
171
+"@vueuse/shared@8.5.0":
172
+  version "8.5.0"
173
+  resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.5.0.tgz#fa01ecd3161933f521dd6428b9ef8015ded1bbd3"
174
+  integrity sha512-qKG+SZb44VvGD4dU5cQ63z4JE2Yk39hQUecR0a9sEdJA01cx+XrxAvFKJfPooxwoiqalAVw/ktWK6xbyc/jS3g==
175
+  dependencies:
176
+    vue-demi "*"
177
+
178
+"@zjxpcyc/vue-tiny-store@^1.0.1":
179
+  version "1.0.1"
180
+  resolved "https://registry.npmmirror.com/@zjxpcyc/vue-tiny-store/-/vue-tiny-store-1.0.1.tgz#9e67c0f08e9bddd802bdcb543a28c18181e27395"
181
+  integrity sha512-2r/E2bxGygn859ntWLHPDI+pLUR+MuIEPGSN82Y6xPdbQqcsmX1/+L+Pivh/LwFeEY51YcEDhPH8wkhzmtuD8g==
182
+
183
+anymatch@~3.1.2:
184
+  version "3.1.2"
185
+  resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
186
+  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
187
+  dependencies:
188
+    normalize-path "^3.0.0"
189
+    picomatch "^2.0.4"
190
+
191
+async-validator@^4.0.7:
192
+  version "4.1.1"
193
+  resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.1.1.tgz#3cd1437faa2de64743f7d56649dd904c946a18fe"
194
+  integrity sha512-p4DO/JXwjs8klJyJL8Q2oM4ks5fUTze/h5k10oPPKMiLe1fj3G1QMzPHNmN1Py4ycOk7WlO2DcGXv1qiESJCZA==
195
+
196
+asynckit@^0.4.0:
197
+  version "0.4.0"
198
+  resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
199
+  integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
200
+
201
+axios@^0.27.2:
202
+  version "0.27.2"
203
+  resolved "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972"
204
+  integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
205
+  dependencies:
206
+    follow-redirects "^1.14.9"
207
+    form-data "^4.0.0"
208
+
209
+binary-extensions@^2.0.0:
210
+  version "2.2.0"
211
+  resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
212
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
213
+
214
+braces@~3.0.2:
215
+  version "3.0.2"
216
+  resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
217
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
218
+  dependencies:
219
+    fill-range "^7.0.1"
220
+
221
+chokidar@^3.5.3:
222
+  version "3.5.3"
223
+  resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
224
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
225
+  dependencies:
226
+    anymatch "~3.1.2"
227
+    braces "~3.0.2"
228
+    glob-parent "~5.1.2"
229
+    is-binary-path "~2.1.0"
230
+    is-glob "~4.0.1"
231
+    normalize-path "~3.0.0"
232
+    readdirp "~3.6.0"
233
+  optionalDependencies:
234
+    fsevents "~2.3.2"
235
+
236
+combined-stream@^1.0.8:
237
+  version "1.0.8"
238
+  resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
239
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
240
+  dependencies:
241
+    delayed-stream "~1.0.0"
242
+
243
+copy-anything@^2.0.1:
244
+  version "2.0.6"
245
+  resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480"
246
+  integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==
247
+  dependencies:
248
+    is-what "^3.14.1"
249
+
250
+csstype@^2.6.8:
251
+  version "2.6.20"
252
+  resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda"
253
+  integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==
254
+
255
+dayjs@^1.11.1:
256
+  version "1.11.2"
257
+  resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.2.tgz#fa0f5223ef0d6724b3d8327134890cfe3d72fbe5"
258
+  integrity sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==
259
+
260
+debug@^3.2.6:
261
+  version "3.2.7"
262
+  resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
263
+  integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
264
+  dependencies:
265
+    ms "^2.1.1"
266
+
267
+delayed-stream@~1.0.0:
268
+  version "1.0.0"
269
+  resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
270
+  integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
271
+
272
+element-plus@^2.2.0:
273
+  version "2.2.0"
274
+  resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.0.tgz#58467d1efde071c2bc12caa9fb451e515667fc78"
275
+  integrity sha512-zxmAFEAa1T/n09rR+NozXcWl5CjaFtqoaxhFSafag0dgc90tgEHitDXfegdFAl4ahugdNTqu9aLzngx3VhDAtA==
276
+  dependencies:
277
+    "@ctrl/tinycolor" "^3.4.1"
278
+    "@element-plus/icons-vue" "^1.1.4"
279
+    "@floating-ui/dom" "^0.4.5"
280
+    "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.6"
281
+    "@types/lodash" "^4.14.182"
282
+    "@types/lodash-es" "^4.17.6"
283
+    "@vueuse/core" "^8.2.6"
284
+    async-validator "^4.0.7"
285
+    dayjs "^1.11.1"
286
+    escape-html "^1.0.3"
287
+    lodash "^4.17.21"
288
+    lodash-es "^4.17.21"
289
+    lodash-unified "^1.0.2"
290
+    memoize-one "^6.0.0"
291
+    normalize-wheel-es "^1.1.2"
292
+
293
+errno@^0.1.1:
294
+  version "0.1.8"
295
+  resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
296
+  integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
297
+  dependencies:
298
+    prr "~1.0.1"
299
+
300
+es-module-lexer@^0.10.5:
301
+  version "0.10.5"
302
+  resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.10.5.tgz#06f76d51fa53b1f78e3bd8bb36dd275eda2fdd53"
303
+  integrity sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==
304
+
305
+esbuild-android-64@0.14.39:
306
+  version "0.14.39"
307
+  resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz#09f12a372eed9743fd77ff6d889ac14f7b340c21"
308
+  integrity sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==
309
+
310
+esbuild-android-arm64@0.14.39:
311
+  version "0.14.39"
312
+  resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz#f608d00ea03fe26f3b1ab92a30f99220390f3071"
313
+  integrity sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==
314
+
315
+esbuild-darwin-64@0.14.39:
316
+  version "0.14.39"
317
+  resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz#31528daa75b4c9317721ede344195163fae3e041"
318
+  integrity sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==
319
+
320
+esbuild-darwin-arm64@0.14.39:
321
+  version "0.14.39"
322
+  resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz#247f770d86d90a215fa194f24f90e30a0bd97245"
323
+  integrity sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==
324
+
325
+esbuild-freebsd-64@0.14.39:
326
+  version "0.14.39"
327
+  resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz#479414d294905055eb396ebe455ed42213284ee0"
328
+  integrity sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==
329
+
330
+esbuild-freebsd-arm64@0.14.39:
331
+  version "0.14.39"
332
+  resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz#cedeb10357c88533615921ae767a67dc870a474c"
333
+  integrity sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==
334
+
335
+esbuild-linux-32@0.14.39:
336
+  version "0.14.39"
337
+  resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz#d9f008c4322d771f3958f59c1eee5a05cdf92485"
338
+  integrity sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==
339
+
340
+esbuild-linux-64@0.14.39:
341
+  version "0.14.39"
342
+  resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz#ba58d7f66858913aeb1ab5c6bde1bbd824731795"
343
+  integrity sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==
344
+
345
+esbuild-linux-arm64@0.14.39:
346
+  version "0.14.39"
347
+  resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz#708785a30072702b5b1c16b65cf9c25c51202529"
348
+  integrity sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==
349
+
350
+esbuild-linux-arm@0.14.39:
351
+  version "0.14.39"
352
+  resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz#4e8b5deaa7ab60d0d28fab131244ef82b40684f4"
353
+  integrity sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==
354
+
355
+esbuild-linux-mips64le@0.14.39:
356
+  version "0.14.39"
357
+  resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz#6f3bf3023f711084e5a1e8190487d2020f39f0f7"
358
+  integrity sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==
359
+
360
+esbuild-linux-ppc64le@0.14.39:
361
+  version "0.14.39"
362
+  resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz#900e718a4ea3f6aedde8424828eeefdd4b48d4b9"
363
+  integrity sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==
364
+
365
+esbuild-linux-riscv64@0.14.39:
366
+  version "0.14.39"
367
+  resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz#dcbff622fa37047a75d2ff7a1d8d2949d80277e4"
368
+  integrity sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==
369
+
370
+esbuild-linux-s390x@0.14.39:
371
+  version "0.14.39"
372
+  resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz#3f725a7945b419406c99d93744b28552561dcdfd"
373
+  integrity sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==
374
+
375
+esbuild-netbsd-64@0.14.39:
376
+  version "0.14.39"
377
+  resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz#e10e40b6a765798b90d4eb85901cc85c8b7ff85e"
378
+  integrity sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==
379
+
380
+esbuild-openbsd-64@0.14.39:
381
+  version "0.14.39"
382
+  resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz#935ec143f75ce10bd9cdb1c87fee00287eb0edbc"
383
+  integrity sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==
384
+
385
+esbuild-sunos-64@0.14.39:
386
+  version "0.14.39"
387
+  resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz#0e7aa82b022a2e6d55b0646738b2582c2d72c3c0"
388
+  integrity sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==
389
+
390
+esbuild-windows-32@0.14.39:
391
+  version "0.14.39"
392
+  resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz#3f1538241f31b538545f4b5841b248cac260fa35"
393
+  integrity sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==
394
+
395
+esbuild-windows-64@0.14.39:
396
+  version "0.14.39"
397
+  resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz#b100c59f96d3c2da2e796e42fee4900d755d3e03"
398
+  integrity sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==
399
+
400
+esbuild-windows-arm64@0.14.39:
401
+  version "0.14.39"
402
+  resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz#00268517e665b33c89778d61f144e4256b39f631"
403
+  integrity sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==
404
+
405
+esbuild@^0.14.27:
406
+  version "0.14.39"
407
+  resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.39.tgz#c926b2259fe6f6d3a94f528fb42e103c5a6d909a"
408
+  integrity sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==
409
+  optionalDependencies:
410
+    esbuild-android-64 "0.14.39"
411
+    esbuild-android-arm64 "0.14.39"
412
+    esbuild-darwin-64 "0.14.39"
413
+    esbuild-darwin-arm64 "0.14.39"
414
+    esbuild-freebsd-64 "0.14.39"
415
+    esbuild-freebsd-arm64 "0.14.39"
416
+    esbuild-linux-32 "0.14.39"
417
+    esbuild-linux-64 "0.14.39"
418
+    esbuild-linux-arm "0.14.39"
419
+    esbuild-linux-arm64 "0.14.39"
420
+    esbuild-linux-mips64le "0.14.39"
421
+    esbuild-linux-ppc64le "0.14.39"
422
+    esbuild-linux-riscv64 "0.14.39"
423
+    esbuild-linux-s390x "0.14.39"
424
+    esbuild-netbsd-64 "0.14.39"
425
+    esbuild-openbsd-64 "0.14.39"
426
+    esbuild-sunos-64 "0.14.39"
427
+    esbuild-windows-32 "0.14.39"
428
+    esbuild-windows-64 "0.14.39"
429
+    esbuild-windows-arm64 "0.14.39"
430
+
431
+escape-html@^1.0.3:
432
+  version "1.0.3"
433
+  resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
434
+  integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
435
+
436
+estree-walker@^2.0.1, estree-walker@^2.0.2:
437
+  version "2.0.2"
438
+  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
439
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
440
+
441
+fill-range@^7.0.1:
442
+  version "7.0.1"
443
+  resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
444
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
445
+  dependencies:
446
+    to-regex-range "^5.0.1"
447
+
448
+follow-redirects@^1.14.9:
449
+  version "1.15.0"
450
+  resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4"
451
+  integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==
452
+
453
+form-data@^4.0.0:
454
+  version "4.0.0"
455
+  resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
456
+  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
457
+  dependencies:
458
+    asynckit "^0.4.0"
459
+    combined-stream "^1.0.8"
460
+    mime-types "^2.1.12"
461
+
462
+fsevents@~2.3.2:
463
+  version "2.3.2"
464
+  resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
465
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
466
+
467
+function-bind@^1.1.1:
468
+  version "1.1.1"
469
+  resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
470
+  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
471
+
472
+glob-parent@~5.1.2:
473
+  version "5.1.2"
474
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
475
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
476
+  dependencies:
477
+    is-glob "^4.0.1"
478
+
479
+graceful-fs@^4.1.2:
480
+  version "4.2.10"
481
+  resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
482
+  integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
483
+
484
+has@^1.0.3:
485
+  version "1.0.3"
486
+  resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
487
+  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
488
+  dependencies:
489
+    function-bind "^1.1.1"
490
+
491
+iconv-lite@^0.4.4:
492
+  version "0.4.24"
493
+  resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
494
+  integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
495
+  dependencies:
496
+    safer-buffer ">= 2.1.2 < 3"
497
+
498
+image-size@~0.5.0:
499
+  version "0.5.5"
500
+  resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
501
+  integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==
502
+
503
+is-binary-path@~2.1.0:
504
+  version "2.1.0"
505
+  resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
506
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
507
+  dependencies:
508
+    binary-extensions "^2.0.0"
509
+
510
+is-core-module@^2.8.1:
511
+  version "2.9.0"
512
+  resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
513
+  integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
514
+  dependencies:
515
+    has "^1.0.3"
516
+
517
+is-extglob@^2.1.1:
518
+  version "2.1.1"
519
+  resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
520
+  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
521
+
522
+is-glob@^4.0.1, is-glob@~4.0.1:
523
+  version "4.0.3"
524
+  resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
525
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
526
+  dependencies:
527
+    is-extglob "^2.1.1"
528
+
529
+is-number@^7.0.0:
530
+  version "7.0.0"
531
+  resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
532
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
533
+
534
+is-what@^3.14.1:
535
+  version "3.14.1"
536
+  resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1"
537
+  integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==
538
+
539
+js-base64@^3.7.2:
540
+  version "3.7.2"
541
+  resolved "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.2.tgz#816d11d81a8aff241603d19ce5761e13e41d7745"
542
+  integrity sha512-NnRs6dsyqUXejqk/yv2aiXlAvOs56sLkX6nUdeaNezI5LFFLlsZjOThmwnrcwh5ZZRwZlCMnVAY3CvhIhoVEKQ==
543
+
544
+less@^4.1.2:
545
+  version "4.1.2"
546
+  resolved "https://registry.npmmirror.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0"
547
+  integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==
548
+  dependencies:
549
+    copy-anything "^2.0.1"
550
+    parse-node-version "^1.0.1"
551
+    tslib "^2.3.0"
552
+  optionalDependencies:
553
+    errno "^0.1.1"
554
+    graceful-fs "^4.1.2"
555
+    image-size "~0.5.0"
556
+    make-dir "^2.1.0"
557
+    mime "^1.4.1"
558
+    needle "^2.5.2"
559
+    source-map "~0.6.0"
560
+
561
+lodash-es@^4.17.21:
562
+  version "4.17.21"
563
+  resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
564
+  integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
565
+
566
+lodash-unified@^1.0.2:
567
+  version "1.0.2"
568
+  resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz#bb2694db3533781e5cce984af60cfaea318b83c1"
569
+  integrity sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==
570
+
571
+lodash@^4.17.21:
572
+  version "4.17.21"
573
+  resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
574
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
575
+
576
+magic-string@^0.25.7:
577
+  version "0.25.9"
578
+  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
579
+  integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
580
+  dependencies:
581
+    sourcemap-codec "^1.4.8"
582
+
583
+magic-string@^0.26.1:
584
+  version "0.26.2"
585
+  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432"
586
+  integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==
587
+  dependencies:
588
+    sourcemap-codec "^1.4.8"
589
+
590
+make-dir@^2.1.0:
591
+  version "2.1.0"
592
+  resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
593
+  integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
594
+  dependencies:
595
+    pify "^4.0.1"
596
+    semver "^5.6.0"
597
+
598
+memoize-one@^6.0.0:
599
+  version "6.0.0"
600
+  resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
601
+  integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
602
+
603
+mime-db@1.52.0:
604
+  version "1.52.0"
605
+  resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
606
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
607
+
608
+mime-types@^2.1.12:
609
+  version "2.1.35"
610
+  resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
611
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
612
+  dependencies:
613
+    mime-db "1.52.0"
614
+
615
+mime@^1.4.1:
616
+  version "1.6.0"
617
+  resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
618
+  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
619
+
620
+ms@^2.1.1:
621
+  version "2.1.3"
622
+  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
623
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
624
+
625
+nanoid@^3.3.4:
626
+  version "3.3.4"
627
+  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
628
+  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
629
+
630
+needle@^2.5.2:
631
+  version "2.9.1"
632
+  resolved "https://registry.npmmirror.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684"
633
+  integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==
634
+  dependencies:
635
+    debug "^3.2.6"
636
+    iconv-lite "^0.4.4"
637
+    sax "^1.2.4"
638
+
639
+normalize-path@^3.0.0, normalize-path@~3.0.0:
640
+  version "3.0.0"
641
+  resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
642
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
643
+
644
+normalize-wheel-es@^1.1.2:
645
+  version "1.1.2"
646
+  resolved "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.1.2.tgz#285e43676a62d687bf145e33452ea6be435162d0"
647
+  integrity sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==
648
+
649
+nprogress@^0.2.0:
650
+  version "0.2.0"
651
+  resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
652
+  integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
653
+
654
+parse-node-version@^1.0.1:
655
+  version "1.0.1"
656
+  resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
657
+  integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==
658
+
659
+path-parse@^1.0.7:
660
+  version "1.0.7"
661
+  resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
662
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
663
+
664
+picocolors@^1.0.0:
665
+  version "1.0.0"
666
+  resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
667
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
668
+
669
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2:
670
+  version "2.3.1"
671
+  resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
672
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
673
+
674
+pify@^4.0.1:
675
+  version "4.0.1"
676
+  resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
677
+  integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
678
+
679
+postcss@^8.1.10, postcss@^8.4.13:
680
+  version "8.4.14"
681
+  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
682
+  integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
683
+  dependencies:
684
+    nanoid "^3.3.4"
685
+    picocolors "^1.0.0"
686
+    source-map-js "^1.0.2"
687
+
688
+prr@~1.0.1:
689
+  version "1.0.1"
690
+  resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
691
+  integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
692
+
693
+readdirp@~3.6.0:
694
+  version "3.6.0"
695
+  resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
696
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
697
+  dependencies:
698
+    picomatch "^2.2.1"
699
+
700
+resolve@^1.22.0:
701
+  version "1.22.0"
702
+  resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
703
+  integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
704
+  dependencies:
705
+    is-core-module "^2.8.1"
706
+    path-parse "^1.0.7"
707
+    supports-preserve-symlinks-flag "^1.0.0"
708
+
709
+rollup@^2.59.0:
710
+  version "2.74.0"
711
+  resolved "https://registry.npmmirror.com/rollup/-/rollup-2.74.0.tgz#4f460e7979b8ed1f3aa0489059480a504de28b4a"
712
+  integrity sha512-RRwXTX5+ObPJhcMV6zP3RdHvy90/lBOUfbzL7IKkFjMJGAqeBGZiv9nZWm/DoTESaTE3GBkkzbU9QVN2AuCkjw==
713
+  optionalDependencies:
714
+    fsevents "~2.3.2"
715
+
716
+"safer-buffer@>= 2.1.2 < 3":
717
+  version "2.1.2"
718
+  resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
719
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
720
+
721
+sax@^1.2.4:
722
+  version "1.2.4"
723
+  resolved "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
724
+  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
725
+
726
+semver@^5.6.0:
727
+  version "5.7.1"
728
+  resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
729
+  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
730
+
731
+source-map-js@^1.0.2:
732
+  version "1.0.2"
733
+  resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
734
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
735
+
736
+source-map@^0.6.1, source-map@~0.6.0:
737
+  version "0.6.1"
738
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
739
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
740
+
741
+sourcemap-codec@^1.4.8:
742
+  version "1.4.8"
743
+  resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
744
+  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
745
+
746
+supports-preserve-symlinks-flag@^1.0.0:
747
+  version "1.0.0"
748
+  resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
749
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
750
+
751
+to-regex-range@^5.0.1:
752
+  version "5.0.1"
753
+  resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
754
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
755
+  dependencies:
756
+    is-number "^7.0.0"
757
+
758
+tslib@^2.3.0:
759
+  version "2.4.0"
760
+  resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
761
+  integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
762
+
763
+unplugin-element-plus@^0.4.0:
764
+  version "0.4.0"
765
+  resolved "https://registry.npmmirror.com/unplugin-element-plus/-/unplugin-element-plus-0.4.0.tgz#8039901a087b8b0498497fa5ce5594c5b52ccdad"
766
+  integrity sha512-iE4EZu8pp5Vz/qb9r45sCNSz9Px6KOthBpe6gFBV1E60g9A45HS+JhwAaj4Zki8HZ0YGW3LyrsBCrd+XhOypnQ==
767
+  dependencies:
768
+    "@rollup/pluginutils" "^4.2.0"
769
+    es-module-lexer "^0.10.5"
770
+    magic-string "^0.26.1"
771
+    unplugin "^0.6.1"
772
+
773
+unplugin@^0.6.1:
774
+  version "0.6.3"
775
+  resolved "https://registry.npmmirror.com/unplugin/-/unplugin-0.6.3.tgz#b8721e2b163a410a7efed726e6a0fc6fbadf975a"
776
+  integrity sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==
777
+  dependencies:
778
+    chokidar "^3.5.3"
779
+    webpack-sources "^3.2.3"
780
+    webpack-virtual-modules "^0.4.3"
781
+
782
+vite@^2.9.9:
783
+  version "2.9.9"
784
+  resolved "https://registry.npmmirror.com/vite/-/vite-2.9.9.tgz#8b558987db5e60fedec2f4b003b73164cb081c5e"
785
+  integrity sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==
786
+  dependencies:
787
+    esbuild "^0.14.27"
788
+    postcss "^8.4.13"
789
+    resolve "^1.22.0"
790
+    rollup "^2.59.0"
791
+  optionalDependencies:
792
+    fsevents "~2.3.2"
793
+
794
+vue-demi@*:
795
+  version "0.12.5"
796
+  resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.5.tgz#8eeed566a7d86eb090209a11723f887d28aeb2d1"
797
+  integrity sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==
798
+
799
+vue-router@4:
800
+  version "4.0.15"
801
+  resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.0.15.tgz#b4a0661efe197f8c724e0f233308f8776e2c3667"
802
+  integrity sha512-xa+pIN9ZqORdIW1MkN2+d9Ui2pCM1b/UMgwYUCZOiFYHAvz/slKKBDha8DLrh5aCG/RibtrpyhKjKOZ85tYyWg==
803
+  dependencies:
804
+    "@vue/devtools-api" "^6.0.0"
805
+
806
+vue@^3.2.25:
807
+  version "3.2.34"
808
+  resolved "https://registry.npmmirror.com/vue/-/vue-3.2.34.tgz#4d42a929398a8a2e1dff25ceddd4451b3add841c"
809
+  integrity sha512-gXRg5v8OSmGT4ZiQ/X/Pcz6Fr2igHQx/wvRH/pLnt0VvjfGGqrwhnwjYZilLP4HBcO211rMD9PpU6lfWfIv3wg==
810
+  dependencies:
811
+    "@vue/compiler-dom" "3.2.34"
812
+    "@vue/compiler-sfc" "3.2.34"
813
+    "@vue/runtime-dom" "3.2.34"
814
+    "@vue/server-renderer" "3.2.34"
815
+    "@vue/shared" "3.2.34"
816
+
817
+webpack-sources@^3.2.3:
818
+  version "3.2.3"
819
+  resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
820
+  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
821
+
822
+webpack-virtual-modules@^0.4.3:
823
+  version "0.4.3"
824
+  resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz#cd597c6d51d5a5ecb473eea1983a58fa8a17ded9"
825
+  integrity sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==