Эх сурвалжийг харах

Merge branch 'main' into move_bigmember_pc

zhangyuhan 1 жил өмнө
parent
commit
782c021ed1
100 өөрчлөгдсөн 13647 нэмэгдсэн , 0 устгасан
  1. 5 0
      .editorconfig
  2. 125 0
      .gitignore
  3. 3 0
      .npmrc
  4. 20 0
      .prettierrc.json
  5. 0 0
      apps/.gitkeep
  6. 5 0
      apps/mobile/.browserslistrc
  7. 5 0
      apps/mobile/.editorconfig
  8. 6 0
      apps/mobile/.env.development
  9. 6 0
      apps/mobile/.env.production
  10. 2 0
      apps/mobile/.eslintignore
  11. 21 0
      apps/mobile/.eslintrc.cjs
  12. 42 0
      apps/mobile/.gitignore
  13. 19 0
      apps/mobile/.gitlab-ci.yml
  14. 5 0
      apps/mobile/.npmrc
  15. 84 0
      apps/mobile/README.md
  16. 26 0
      apps/mobile/config/storybook/eventBus.js
  17. 18 0
      apps/mobile/config/storybook/main.js
  18. 11 0
      apps/mobile/config/storybook/manager.js
  19. 10 0
      apps/mobile/config/storybook/preview-body.html
  20. 1 0
      apps/mobile/config/storybook/preview-head.html
  21. 63 0
      apps/mobile/config/storybook/preview.js
  22. 13 0
      apps/mobile/config/storybook/preview.scss
  23. 80 0
      apps/mobile/index.html
  24. 57 0
      apps/mobile/package.json
  25. 3923 0
      apps/mobile/pnpm-lock.yaml
  26. 31 0
      apps/mobile/postcss.config.js
  27. BIN
      apps/mobile/public/favicon.ico
  28. 42 0
      apps/mobile/scripts/updateGitInfo.js
  29. 100 0
      apps/mobile/src/App.vue
  30. 5 0
      apps/mobile/src/api/index.js
  31. 5 0
      apps/mobile/src/api/interceptors-anti.js
  32. 65 0
      apps/mobile/src/api/interceptors.js
  33. 0 0
      apps/mobile/src/api/modules/app.js
  34. 10 0
      apps/mobile/src/api/modules/authen.js
  35. 18 0
      apps/mobile/src/api/modules/bi.js
  36. 103 0
      apps/mobile/src/api/modules/bigmember.js
  37. 35 0
      apps/mobile/src/api/modules/coupon.js
  38. 12 0
      apps/mobile/src/api/modules/course.js
  39. 19 0
      apps/mobile/src/api/modules/dataSmt.js
  40. 30 0
      apps/mobile/src/api/modules/dataexport.js
  41. 40 0
      apps/mobile/src/api/modules/datareport.js
  42. 30 0
      apps/mobile/src/api/modules/ent.js
  43. 54 0
      apps/mobile/src/api/modules/entbase.js
  44. 85 0
      apps/mobile/src/api/modules/entnicheNew.js
  45. 20 0
      apps/mobile/src/api/modules/equitycode.js
  46. 34 0
      apps/mobile/src/api/modules/front.js
  47. 26 0
      apps/mobile/src/api/modules/index.js
  48. 20 0
      apps/mobile/src/api/modules/invoice.js
  49. 9 0
      apps/mobile/src/api/modules/jyMerge.js
  50. 72 0
      apps/mobile/src/api/modules/jyPoints.js
  51. 19 0
      apps/mobile/src/api/modules/jyinfo.js
  52. 46 0
      apps/mobile/src/api/modules/keep.js
  53. 22 0
      apps/mobile/src/api/modules/leadGeneration.js
  54. 40 0
      apps/mobile/src/api/modules/marketing.js
  55. 213 0
      apps/mobile/src/api/modules/message.js
  56. 125 0
      apps/mobile/src/api/modules/mine.js
  57. 37 0
      apps/mobile/src/api/modules/order.js
  58. 256 0
      apps/mobile/src/api/modules/pay.js
  59. 87 0
      apps/mobile/src/api/modules/project.js
  60. 269 0
      apps/mobile/src/api/modules/public.js
  61. 134 0
      apps/mobile/src/api/modules/search.js
  62. 115 0
      apps/mobile/src/api/modules/subscribe.js
  63. 39 0
      apps/mobile/src/api/modules/treasureBox.js
  64. 9 0
      apps/mobile/src/api/modules/user.js
  65. 5 0
      apps/mobile/src/api/service.js
  66. 539 0
      apps/mobile/src/assets/fonts/app/demo.css
  67. 4282 0
      apps/mobile/src/assets/fonts/app/demo_index.html
  68. 727 0
      apps/mobile/src/assets/fonts/app/iconfont.css
  69. 0 0
      apps/mobile/src/assets/fonts/app/iconfont.js
  70. 1255 0
      apps/mobile/src/assets/fonts/app/iconfont.json
  71. BIN
      apps/mobile/src/assets/fonts/app/iconfont.ttf
  72. BIN
      apps/mobile/src/assets/fonts/app/iconfont.woff
  73. BIN
      apps/mobile/src/assets/fonts/app/iconfont.woff2
  74. BIN
      apps/mobile/src/assets/fonts/decrypt/1.0_pc.eot
  75. BIN
      apps/mobile/src/assets/fonts/decrypt/1.0_pc.ttf
  76. 9 0
      apps/mobile/src/assets/fonts/decrypt/font.css
  77. 4 0
      apps/mobile/src/assets/fonts/index.scss
  78. BIN
      apps/mobile/src/assets/image/area-pack/arrow-rightx3.png
  79. BIN
      apps/mobile/src/assets/image/area-pack/buy-now.png
  80. BIN
      apps/mobile/src/assets/image/area-pack/messageCard@3x.png
  81. BIN
      apps/mobile/src/assets/image/area-pack/messageTitle@3x.png
  82. BIN
      apps/mobile/src/assets/image/bigmember/big_download_app.png
  83. BIN
      apps/mobile/src/assets/image/bigmember/data-report-dialog-header.png
  84. BIN
      apps/mobile/src/assets/image/data-supermarket/d-icon-1.png
  85. BIN
      apps/mobile/src/assets/image/data-supermarket/d-icon-2.png
  86. BIN
      apps/mobile/src/assets/image/data-supermarket/d-icon-3.png
  87. BIN
      apps/mobile/src/assets/image/data-supermarket/d-icon-4.png
  88. BIN
      apps/mobile/src/assets/image/data-supermarket/data-market-text.png
  89. BIN
      apps/mobile/src/assets/image/data-supermarket/header-banner.png
  90. BIN
      apps/mobile/src/assets/image/data-supermarket/hxys-bg.png
  91. BIN
      apps/mobile/src/assets/image/data-supermarket/hxys-text.png
  92. BIN
      apps/mobile/src/assets/image/data-supermarket/icon-1.png
  93. BIN
      apps/mobile/src/assets/image/dataExport/choose_right.png
  94. BIN
      apps/mobile/src/assets/image/dataExport/close.png
  95. BIN
      apps/mobile/src/assets/image/dataExport/qr.png
  96. BIN
      apps/mobile/src/assets/image/dataExport/wx_bg.png
  97. BIN
      apps/mobile/src/assets/image/dataExport/wx_icon.png
  98. BIN
      apps/mobile/src/assets/image/guide/bg.png
  99. BIN
      apps/mobile/src/assets/image/guide/wxOpen.png
  100. BIN
      apps/mobile/src/assets/image/home-temp/jy_newuserpage_bg.png

+ 5 - 0
.editorconfig

@@ -0,0 +1,5 @@
+[*.{js,jsx,ts,tsx,vue}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true

+ 125 - 0
.gitignore

@@ -0,0 +1,125 @@
+### Intellij+all ###
+# User-specific stuff
+.idea/*
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+### Node ###
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+
+# Dependency directories
+node_modules/
+
+# TypeScript v1 declaration files
+typings/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env.test
+.env*.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+### vscode ###
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+### Vue ###
+# gitignore template for Vue.js projects
+#
+# Recommended template: Node.gitignore
+
+### Windows ###
+# Windows thumbnail cache files
+Thumbs.db
+Thumbs.db:encryptable
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# End of https://www.toptal.com/developers/gitignore/api/vue,node,macos,windows,linux,vscode,intellij+all

+ 3 - 0
.npmrc

@@ -0,0 +1,3 @@
+registry=https://registry.npmmirror.com/
+@jianyu:registry=http://192.168.3.71:4873/
+element-ui:registry=http://192.168.3.71:4873/

+ 20 - 0
.prettierrc.json

@@ -0,0 +1,20 @@
+{
+  "semi": false,
+  "singleQuote": true,
+  "trailingComma": "none",
+  "overrides": [
+    {
+      "files": ["*.json5"],
+      "options": {
+        "singleQuote": false,
+        "quoteProps": "preserve"
+      }
+    },
+    {
+      "files": ["*.yml"],
+      "options": {
+        "singleQuote": false
+      }
+    }
+  ]
+}

+ 0 - 0
apps/.gitkeep


+ 5 - 0
apps/mobile/.browserslistrc

@@ -0,0 +1,5 @@
+> 1% in CN and last 2 versions
+Android >= 4.0
+iOS >= 7
+not ie > 0
+not ie_mob > 0

+ 5 - 0
apps/mobile/.editorconfig

@@ -0,0 +1,5 @@
+[*.{js,jsx,ts,tsx,vue}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true

+ 6 - 0
apps/mobile/.env.development

@@ -0,0 +1,6 @@
+VITE_APP_BASE_API='/api'
+VITE_APP_BASE_URL='/jy_mobile'
+VITE_APP_IMAGE_BASE='https://web2-qmxtest.jydev.jianyu360.com'
+VITE_APP_APP_PROJECT_BASE='https://app2-jytest.jydev.jianyu360.com'
+VITE_APP_WX_PROJECT_BASE='https://jybx2-webtest.jydev.jianyu360.com'
+VITE_APP_GIT_BRANCH='v0.0.1'

+ 6 - 0
apps/mobile/.env.production

@@ -0,0 +1,6 @@
+VITE_APP_BASE_API=''
+VITE_APP_BASE_URL='/jy_mobile'
+VITE_APP_IMAGE_BASE=''
+VITE_APP_APP_PROJECT_BASE=''
+VITE_APP_WX_PROJECT_BASE=''
+VITE_APP_GIT_BRANCH='v1.1.53'

+ 2 - 0
apps/mobile/.eslintignore

@@ -0,0 +1,2 @@
+/src/assets/fonts
+src/utils/callFn/checkUpdate.js

+ 21 - 0
apps/mobile/.eslintrc.cjs

@@ -0,0 +1,21 @@
+/* eslint-env node */
+require("@rushstack/eslint-patch/modern-module-resolution");
+module.exports = {
+  "root": true,
+  "globals": {
+    wx: true,
+    WeixinJSBridge: true,
+    JyObj: true,
+    _hmt: true,
+    vComponentChart: true
+  },
+  "rules": {
+    'no-console': 'warn',
+    'no-debugger': 'warn',
+    indent: ['error', 2, {
+      SwitchCase: 1
+    }],
+    quotes: ['error', 'single']
+  },
+  "extends": ["plugin:vue/essential", "eslint:recommended", "@vue/eslint-config-prettier", "plugin:storybook/recommended"]
+};

+ 42 - 0
apps/mobile/.gitignore

@@ -0,0 +1,42 @@
+.DS_Store
+node_modules
+/mobile_web
+/jy_mobile
+/dist
+storybook-static
+/docs
+
+
+# local env files
+.env.local
+.env.*.local
+
+# npm
+package-lock.json
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+# compressed files
+*.rar
+*.zip
+*.7z
+*.tar
+
+# dev files
+/stats.html

+ 19 - 0
apps/mobile/.gitlab-ci.yml

@@ -0,0 +1,19 @@
+image: node:16.14.2-alpine
+
+stages:          # List of stages for jobs, and their order of execution
+  - lint
+
+install:       # This job runs in the build stage, which runs first.
+  stage: lint
+  script:
+    - cp ./ci-lint/package.json ./package.json
+    - echo "Use yarn management node_modules"
+    - npm config set registry https://registry.npmmirror.com --global
+    -
+      hash yarn 2>/dev/null || { 
+        echo >&2 "Not has yarn, wait install";
+        npm install yarn --prefer-offline --no-audit -g;
+      }
+    - yarn config set registry https://registry.npmmirror.com --global
+    - yarn install --pure-lockfile --prefer-offline
+    - yarn run lint

+ 5 - 0
apps/mobile/.npmrc

@@ -0,0 +1,5 @@
+always-auth=true
+registry=https://registry.npmmirror.com/
+@jianyu:registry=http://192.168.3.71:4873/
+@jy:registry=http://192.168.3.71:4873/
+element-ui:registry=http://192.168.3.71:4873/

+ 84 - 0
apps/mobile/README.md

@@ -0,0 +1,84 @@
+# jy-mobile
+
+## 待办
+1. 使用 swiper 替换 vue-awesome-swiper
+2. 提取 lodash
+3. 
+
+## 移动端剑鱼项目 GitLab
+
+http://192.168.3.207:8929/efe/jy-mobile
+
+!原Gogs 项目已启用分支保护,不接受代码提交。
+
+## 开发规范流程
+1. 注册GitLab
+2. 访问 jy-mobile 项目 dev1.1
+3. Fork 项目或者新建 feature/xxxx 功能分支
+4. 完成需求后通过 GitLab 申请合并需求
+5. 等待CI Lint、代码评审
+6. 通过后合入 dev1.1分支
+
+因加入git-hook,需删除 .git/hook、node_modules重新安装依赖。
+
+### 代码约束
+http://192.168.3.11:10081/doc-serve/page_site/standard/
+
+### 组件预览
+http://192.168.3.11:10081/doc-serve/page_docs/
+
+
+## 目录结构
+```
+.
+├── config          // UI预览工具配置
+│   └── storybook
+├── package.json
+├── public
+│   ├── favicon.ico
+│   └── index.html
+├── src
+│   ├── api
+│   ├── assets
+│   ├── components  // 项目业务组件
+│   ├── router
+│   ├── store
+│   ├── stories     // UI 预览示例    
+│   ├── ui          // 可提取公共UI组件
+│   ├── utils
+│   └── views
+├── vue.config.js
+└── yarn.lock
+```
+
+## UI预览结构规范
+
+```
+├── UI/我的组件
+│   ├── index.vue
+│   ├── index.stories.js   // 基础 js or jsx 组件示例
+│   └── index.stories.mdx  // 用于更自由的 markdown jsx 组件示例
+```
+
+## Project setup
+```
+yarn install
+```
+
+### Compiles and hot-reloads for development
+```
+yarn serve
+```
+
+### Compiles and minifies for production
+```
+yarn build
+```
+
+### Lints and fixes files
+```
+yarn lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).

+ 26 - 0
apps/mobile/config/storybook/eventBus.js

@@ -0,0 +1,26 @@
+class EventBus {
+  constructor () {
+    this.events = {}
+  }
+
+  emit (type, data) {
+    const callback = this.events[type]
+    if (typeof callback === 'function') {
+      callback(data)
+    }
+  }
+
+  on (type, callback) {
+    this.events[type] = callback
+  }
+
+  clear (type) {
+    if (type) {
+      delete this.events[type]
+    } else {
+      this.events = {}
+    }
+  }
+}
+
+export default EventBus

+ 18 - 0
apps/mobile/config/storybook/main.js

@@ -0,0 +1,18 @@
+module.exports = {
+  core: {
+    builder: 'webpack5'
+  },
+  stories: ['../../src/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
+  addons: [
+    '@storybook/addon-links',
+    '@storybook/addon-essentials',
+    {
+      name: '@storybook/addon-storysource',
+      options: {
+        loaderOptions: {
+          injectStoryParameters: false
+        }
+      }
+    }
+  ]
+}

+ 11 - 0
apps/mobile/config/storybook/manager.js

@@ -0,0 +1,11 @@
+import { addons } from '@storybook/addons'
+import { create } from '@storybook/theming'
+
+addons.setConfig({
+  panelPosition: 'right',
+  theme: create({
+    base: 'light',
+    brandTitle: 'JyMobileUI',
+    brandImage: 'https://cdn-ali2.jianyu360.com/images/swordfish/sf_01_new.png'
+  })
+})

+ 10 - 0
apps/mobile/config/storybook/preview-body.html

@@ -0,0 +1,10 @@
+<style>
+::-webkit-scrollbar {
+  /* display: none; */
+  width: 0;
+}
+.docs-story #root {
+    width: 375px;
+    box-shadow: 0px 0px 10px 11px #e0e3e6;
+}
+</style>

+ 1 - 0
apps/mobile/config/storybook/preview-head.html

@@ -0,0 +1 @@
+<!--<link rel=”preload” href=”your/font” />-->

+ 63 - 0
apps/mobile/config/storybook/preview.js

@@ -0,0 +1,63 @@
+import '@/assets/fonts/index.scss'
+import '@/assets/style/index.scss'
+import './preview.scss'
+import { useArgs } from '@storybook/client-api'
+import EventBus from './eventBus'
+
+export const parameters = {
+  controls: {
+    matchers: {
+      color: /(background|color)$/i,
+      date: /Date$/
+    },
+    expanded: true
+  },
+  viewport: {
+    viewports: {
+      iPhone6: {
+        name: 'iPhone 6/7/8',
+        styles: {
+          width: '375px',
+          height: '667px'
+        },
+        type: 'mobile'
+      },
+      iPhone6Plus: {
+        name: 'iPhone 6/7/8 Plus',
+        styles: {
+          width: '414px',
+          height: '736px'
+        },
+        type: 'mobile'
+      },
+      iPhone5SE: {
+        name: 'iPhone 5/SE',
+        styles: {
+          width: '320px',
+          height: '568px'
+        },
+        type: 'mobile'
+      }
+    },
+    defaultViewport: 'iPhone6'
+  },
+  options: {
+    storySort: {
+      order: ['Intro', '指令', '实例方法', '项目工具', '全局状态', '全局样式', '基础组件', '业务组件', '*', '示例']
+    }
+  }
+}
+
+const ComponentUIBus = new EventBus()
+export const decorators = [
+  (story, context) => {
+    const [_, updateArgs] = useArgs()
+
+    ComponentUIBus.emit(context.title, _)
+    function updateArgsCallback (callback) {
+      ComponentUIBus.on(context.title, callback)
+    }
+
+    return story({ ...context, updateArgs, updateArgsCallback })
+  }
+]

+ 13 - 0
apps/mobile/config/storybook/preview.scss

@@ -0,0 +1,13 @@
+.description {
+  margin: 4px 0;
+  padding: 8px 0;
+  color: $red;
+  font-size: 14px;
+  line-height: 20px;
+}
+
+.component-demo {
+  .component-content {
+    max-height: 600px;
+  }
+}

+ 80 - 0
apps/mobile/index.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport"
+    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, viewport-fit=cover">
+  <meta name="browsermode" content="application">
+  <meta name="x5-orientation" content="portrait">
+  <meta name="screen-orientation" content="portrait">
+  <meta name="x5-page-mode" content="app">
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black">
+  <meta name="format-detection" content="telephone=no">
+  <link rel="icon" href="/favicon.ico">
+  <link rel="preconnect" href="cdn-common.jianyu360.com">
+  <link rel="dns-prefetch" href="cdn-common.jianyu360.com">
+  <title>剑鱼标讯</title>
+    <!-- 预加载,提升优先级  -->
+    <link rel="preload" as="style" href="//cdn-common.jianyu360.com/cdn/assets/iconfont/mobile/23.8.15/iconfont.css">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/vue-router/3.5.4/vue-router.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/vuex/3.4.0/vuex.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/axios/0.27.2/axios.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/dayjs/1.11.4/dayjs.min.js">
+    <link rel="preload" as="script" href="//cdn-common.jianyu360.com/cdn/lib/js-cookie/2.2.1/js.cookie.min.js">
+
+    <!-- 按优先级加载  -->
+    <link rel="stylesheet" href="//cdn-common.jianyu360.com/cdn/assets/iconfont/mobile/23.8.15/iconfont.css">
+
+    <% if (!isDev) { %>
+
+    <script src="//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/vue-router/3.5.4/vue-router.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/vuex/3.4.0/vuex.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/axios/0.27.2/axios.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/dayjs/1.11.4/dayjs.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/js-cookie/2.2.1/js.cookie.min.js"></script>
+
+    <script src="//cdn-common.jianyu360.com/cdn/lib/lottie-web/5.7.3/build/player/lottie.min.js"></script>
+    <script src="//cdn-common.jianyu360.com/cdn/lib/jquery/3.5.1/jquery.min.js"></script>
+
+    <script src="/common-module/public/head.js?v=<%= assets.version %>"></script>
+    <% } %>
+    <script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
+
+    <script defer src="//cdn-common.jianyu360.com/cdn/assets/iconfont/mobile/23.8.15/iconfont.js"></script>
+    <script defer src="//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js"></script>
+    <script defer src="//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js"></script>
+
+    <link  rel="stylesheet" href="//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/style.min.css">
+</head>
+
+<body>
+  <noscript>
+    <strong>JavaScript enabled. Please enable it to continue.</strong>
+  </noscript>
+  <div id="app"></div>
+  <script type="module" src="/src/main.js"></script>
+  <!-- built files will be auto injected -->
+  <% if (!isDev) { %>
+    <script src="/jyapp/js/common.js?v=<%= assets.version %>"></script>
+    <script src="/common-module/chart-module/js/chart-common.js?v=<%= assets.version %>"></script>
+    <script src="/common-module/public/fotter.js?v=<%= assets.version %>"></script>
+    <script defer src="/common-module/ad/js/msgbuoy.js?v=<%= assets.version %>"></script>
+  <% } %>
+
+  <% if (isDev) { %>
+   <!-- 开发环境需要加载的js -->
+    <script defer src="/common-module/ad/js/msgbuoy.js?v=<%= assets.version %>"></script>
+    <script defer src="/common-module/chart-module/js/chart-common.js?v=<%= assets.version %>"></script>
+  <% } %>
+</body>
+
+</html>

+ 57 - 0
apps/mobile/package.json

@@ -0,0 +1,57 @@
+{
+  "name": "jy-mobile",
+  "version": "0.1.1",
+  "private": true,
+  "scripts": {
+    "dev": "vite",
+    "build": "pnpm run update && pnpm run build:vite",
+    "build:vite": "vite build",
+    "update": "node ./scripts/updateGitInfo.js",
+    "preview": "vite preview --port 4173",
+    "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore"
+  },
+  "dependencies": {
+    "@jy/vue-anti": "0.1.1",
+    "@sentry/vue": "^7.64.0",
+    "@tinymce/tinymce-vue": "^3.2.8",
+    "axios": "^1.4.0",
+    "dayjs": "^1.11.8",
+    "html2canvas": "^1.4.1",
+    "js-cookie": "^3.0.1",
+    "lodash": "^4.17.21",
+    "lottie-web": "^5.12.0",
+    "moment": "^2.29.1",
+    "qs": "^6.11.2",
+    "rgbaster": "^2.1.1",
+    "svga": "^2.0.6",
+    "swiper": "^5.2.0",
+    "tinymce": "^5.10.3",
+    "vant": "2.12.44",
+    "vue": "^2.7.14",
+    "vue-awesome-swiper": "^4.1.1",
+    "vue-meta-info": "^0.1.7",
+    "vue-router": "^3.6.5",
+    "vuedraggable": "^2.24.3",
+    "vuex": "^3.6.2"
+  },
+  "devDependencies": {
+    "@jonny1994/postcss-px-to-viewport": "^1.1.0",
+    "@rushstack/eslint-patch": "^1.1.0",
+    "@vitejs/plugin-legacy": "^4.0.4",
+    "@vitejs/plugin-vue2": "^2.2.0",
+    "@vue/eslint-config-prettier": "^7.0.0",
+    "autoprefixer": "^10.4.14",
+    "eslint": "^8.5.0",
+    "eslint-plugin-vue": "^9.0.0",
+    "less": "^4.1.3",
+    "prettier": "^2.5.1",
+    "rollup-plugin-visualizer": "^5.9.2",
+    "sass": "^1.63.2",
+    "terser": "^5.14.2",
+    "unplugin-vue-components": "^0.25.1",
+    "vite": "^4.3.9",
+    "vite-plugin-compression": "^0.5.1",
+    "vite-plugin-ejs": "^1.6.4",
+    "vite-plugin-externals": "^0.6.2"
+  }
+}

+ 3923 - 0
apps/mobile/pnpm-lock.yaml

@@ -0,0 +1,3923 @@
+lockfileVersion: '6.0'
+
+settings:
+  autoInstallPeers: true
+  excludeLinksFromLockfile: false
+
+dependencies:
+  '@jy/vue-anti':
+    specifier: 0.1.1
+    version: 0.1.1
+  '@sentry/vue':
+    specifier: ^7.64.0
+    version: 7.64.0(vue@2.7.14)
+  '@tinymce/tinymce-vue':
+    specifier: ^3.2.8
+    version: 3.2.8(vue@2.7.14)
+  axios:
+    specifier: ^1.4.0
+    version: 1.4.0
+  dayjs:
+    specifier: ^1.11.8
+    version: 1.11.8
+  html2canvas:
+    specifier: ^1.4.1
+    version: 1.4.1
+  js-cookie:
+    specifier: ^3.0.1
+    version: 3.0.1
+  lodash:
+    specifier: ^4.17.21
+    version: 4.17.21
+  lottie-web:
+    specifier: ^5.12.0
+    version: 5.12.0
+  moment:
+    specifier: ^2.29.1
+    version: 2.29.1
+  qs:
+    specifier: ^6.11.2
+    version: 6.11.2
+  rgbaster:
+    specifier: ^2.1.1
+    version: 2.1.1
+  svga:
+    specifier: ^2.0.6
+    version: 2.0.6
+  swiper:
+    specifier: ^5.2.0
+    version: 5.2.0
+  tinymce:
+    specifier: ^5.10.3
+    version: 5.10.3
+  vant:
+    specifier: 2.12.44
+    version: 2.12.44(vue@2.7.14)
+  vue:
+    specifier: ^2.7.14
+    version: 2.7.14
+  vue-awesome-swiper:
+    specifier: ^4.1.1
+    version: 4.1.1(swiper@5.2.0)(vue@2.7.14)
+  vue-meta-info:
+    specifier: ^0.1.7
+    version: 0.1.7(rollup@0.58.2)
+  vue-router:
+    specifier: ^3.6.5
+    version: 3.6.5(vue@2.7.14)
+  vuedraggable:
+    specifier: ^2.24.3
+    version: 2.24.3
+  vuex:
+    specifier: ^3.6.2
+    version: 3.6.2(vue@2.7.14)
+
+devDependencies:
+  '@jonny1994/postcss-px-to-viewport':
+    specifier: ^1.1.0
+    version: 1.1.0(postcss@8.4.28)
+  '@rushstack/eslint-patch':
+    specifier: ^1.1.0
+    version: 1.1.0
+  '@vitejs/plugin-legacy':
+    specifier: ^4.0.4
+    version: 4.0.4(terser@5.14.2)(vite@4.3.9)
+  '@vitejs/plugin-vue2':
+    specifier: ^2.2.0
+    version: 2.2.0(vite@4.3.9)(vue@2.7.14)
+  '@vue/eslint-config-prettier':
+    specifier: ^7.0.0
+    version: 7.0.0(eslint@8.5.0)(prettier@2.5.1)
+  autoprefixer:
+    specifier: ^10.4.14
+    version: 10.4.14(postcss@8.4.28)
+  eslint:
+    specifier: ^8.5.0
+    version: 8.5.0
+  eslint-plugin-vue:
+    specifier: ^9.0.0
+    version: 9.0.0(eslint@8.5.0)
+  less:
+    specifier: ^4.1.3
+    version: 4.1.3
+  prettier:
+    specifier: ^2.5.1
+    version: 2.5.1
+  rollup-plugin-visualizer:
+    specifier: ^5.9.2
+    version: 5.9.2(rollup@0.58.2)
+  sass:
+    specifier: ^1.63.2
+    version: 1.63.2
+  terser:
+    specifier: ^5.14.2
+    version: 5.14.2
+  unplugin-vue-components:
+    specifier: ^0.25.1
+    version: 0.25.1(rollup@0.58.2)(vue@2.7.14)
+  vite:
+    specifier: ^4.3.9
+    version: 4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2)
+  vite-plugin-compression:
+    specifier: ^0.5.1
+    version: 0.5.1(vite@4.3.9)
+  vite-plugin-ejs:
+    specifier: ^1.6.4
+    version: 1.6.4
+  vite-plugin-externals:
+    specifier: ^0.6.2
+    version: 0.6.2(vite@4.3.9)
+
+packages:
+
+  /@aashutoshrathi/word-wrap@1.2.6:
+    resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /@ampproject/remapping@2.2.1:
+    resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
+    engines: {node: '>=6.0.0'}
+    dependencies:
+      '@jridgewell/gen-mapping': 0.3.3
+      '@jridgewell/trace-mapping': 0.3.19
+    dev: true
+
+  /@antfu/utils@0.7.6:
+    resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==}
+    dev: true
+
+  /@babel/code-frame@7.22.10:
+    resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/highlight': 7.22.10
+      chalk: 2.4.2
+    dev: true
+
+  /@babel/compat-data@7.22.9:
+    resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
+  /@babel/core@7.22.10:
+    resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@ampproject/remapping': 2.2.1
+      '@babel/code-frame': 7.22.10
+      '@babel/generator': 7.22.10
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
+      '@babel/helpers': 7.22.10
+      '@babel/parser': 7.22.10
+      '@babel/template': 7.22.5
+      '@babel/traverse': 7.22.10
+      '@babel/types': 7.22.10
+      convert-source-map: 1.9.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/generator@7.22.10:
+    resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+      '@jridgewell/gen-mapping': 0.3.3
+      '@jridgewell/trace-mapping': 0.3.19
+      jsesc: 2.5.2
+    dev: true
+
+  /@babel/helper-annotate-as-pure@7.22.5:
+    resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-builder-binary-assignment-operator-visitor@7.22.10:
+    resolution: {integrity: sha512-Av0qubwDQxC56DoUReVDeLfMEjYYSN1nZrTUrWkXd7hpU73ymRANkbuDm3yni9npkn+RXy9nNbEJZEzXr7xrfQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-compilation-targets@7.22.10:
+    resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/compat-data': 7.22.9
+      '@babel/helper-validator-option': 7.22.5
+      browserslist: 4.21.10
+      lru-cache: 5.1.1
+      semver: 6.3.1
+    dev: true
+
+  /@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-annotate-as-pure': 7.22.5
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-function-name': 7.22.5
+      '@babel/helper-member-expression-to-functions': 7.22.5
+      '@babel/helper-optimise-call-expression': 7.22.5
+      '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+      '@babel/helper-split-export-declaration': 7.22.6
+      semver: 6.3.1
+    dev: true
+
+  /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10):
+    resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-annotate-as-pure': 7.22.5
+      regexpu-core: 5.3.2
+      semver: 6.3.1
+    dev: true
+
+  /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.10):
+    resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==}
+    peerDependencies:
+      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      debug: 4.3.4
+      lodash.debounce: 4.0.8
+      resolve: 1.22.4
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@babel/helper-environment-visitor@7.22.5:
+    resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
+  /@babel/helper-function-name@7.22.5:
+    resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/template': 7.22.5
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-hoist-variables@7.22.5:
+    resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-member-expression-to-functions@7.22.5:
+    resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-module-imports@7.22.5:
+    resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10):
+    resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-module-imports': 7.22.5
+      '@babel/helper-simple-access': 7.22.5
+      '@babel/helper-split-export-declaration': 7.22.6
+      '@babel/helper-validator-identifier': 7.22.5
+    dev: true
+
+  /@babel/helper-optimise-call-expression@7.22.5:
+    resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helper-plugin-utils@7.22.5:
+    resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
+  /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10):
+    resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-annotate-as-pure': 7.22.5
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-wrap-function': 7.22.10
+    dev: true
+
+  /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10):
+    resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-member-expression-to-functions': 7.22.5
+      '@babel/helper-optimise-call-expression': 7.22.5
+    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.22.10
+    dev: true
+
+  /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+    resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/types': 7.22.10
+    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.22.10
+    dev: true
+
+  /@babel/helper-string-parser@7.22.5:
+    resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
+    engines: {node: '>=6.9.0'}
+
+  /@babel/helper-validator-identifier@7.22.5:
+    resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
+    engines: {node: '>=6.9.0'}
+
+  /@babel/helper-validator-option@7.22.5:
+    resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
+  /@babel/helper-wrap-function@7.22.10:
+    resolution: {integrity: sha512-OnMhjWjuGYtdoO3FmsEFWvBStBAe2QOgwOLsLNDjN+aaiMD8InJk1/O3HSD8lkqTjCgg5YI34Tz15KNNA3p+nQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-function-name': 7.22.5
+      '@babel/template': 7.22.5
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/helpers@7.22.10:
+    resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/template': 7.22.5
+      '@babel/traverse': 7.22.10
+      '@babel/types': 7.22.10
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@babel/highlight@7.22.10:
+    resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-validator-identifier': 7.22.5
+      chalk: 2.4.2
+      js-tokens: 4.0.0
+    dev: true
+
+  /@babel/parser@7.22.10:
+    resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==}
+    engines: {node: '>=6.0.0'}
+    hasBin: true
+    dependencies:
+      '@babel/types': 7.22.10
+
+  /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.13.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+      '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10):
+    resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+    dev: true
+
+  /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10):
+    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10):
+    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10):
+    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10):
+    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10):
+    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10):
+    resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-async-generator-functions@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-eueE8lvKVzq5wIObKK/7dvoeKJ+xc6TvRn6aysIjS6pSCeLy7S/eVi7pEQknZqyqvzaNKdDtem8nUNTBgDVR2g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10)
+      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-module-imports': 7.22.5
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-block-scoping@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-1+kVpGAOOI1Albt6Vse7c8pHzcZQdQKW+wJH+g8mCaszOdDVwRXa/slHPqIw+oJAJANTKDMuM2cBdV0Dg618Vg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.12.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-classes@7.22.6(@babel/core@7.22.10):
+    resolution: {integrity: sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-annotate-as-pure': 7.22.5
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-function-name': 7.22.5
+      '@babel/helper-optimise-call-expression': 7.22.5
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-split-export-declaration': 7.22.6
+      globals: 11.12.0
+    dev: true
+
+  /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/template': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-destructuring@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-dPJrL0VOyxqLM9sritNbMSGx/teueHF/htMKrPT7DNxccXxRDPYqlgPFFdr8u+F+qUZOkZoXue/6rL5O5GduEw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-function-name': 7.22.5
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-simple-access': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-hoist-variables': 7.22.5
+      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-validator-identifier': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/compat-data': 7.22.9
+      '@babel/core': 7.22.10
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-optional-chaining@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-MMkQqZAZ+MGj+jGTG3OTuhKeBpNcO+0oCEbrGNEaOmiEn+1MzRyQlYsruGiU8RTK3zV6XwrVJTmwiDOyYK6J9g==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-annotate-as-pure': 7.22.5
+      '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10)
+    dev: true
+
+  /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      regenerator-transform: 0.15.2
+    dev: true
+
+  /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10)
+      '@babel/helper-plugin-utils': 7.22.5
+    dev: true
+
+  /@babel/preset-env@7.22.10(@babel/core@7.22.10):
+    resolution: {integrity: sha512-riHpLb1drNkpLlocmSyEg4oYJIQFeXAK/d7rI6mbD0XsvoTOOweXDmQPG/ErxsEhWk3rl3Q/3F6RFQlVFS8m0A==}
+    engines: {node: '>=6.9.0'}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0
+    dependencies:
+      '@babel/compat-data': 7.22.9
+      '@babel/core': 7.22.10
+      '@babel/helper-compilation-targets': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/helper-validator-option': 7.22.5
+      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10)
+      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10)
+      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10)
+      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10)
+      '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10)
+      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10)
+      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10)
+      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10)
+      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10)
+      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10)
+      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10)
+      '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-async-generator-functions': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-block-scoping': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-classes': 7.22.6(@babel/core@7.22.10)
+      '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-destructuring': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-optional-chaining': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.10)
+      '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10)
+      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.10)
+      '@babel/types': 7.22.10
+      babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.10)
+      babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.10)
+      babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.10)
+      core-js-compat: 3.32.1
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.10):
+    resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+    peerDependencies:
+      '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-plugin-utils': 7.22.5
+      '@babel/types': 7.22.10
+      esutils: 2.0.3
+    dev: true
+
+  /@babel/regjsgen@0.8.0:
+    resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+    dev: true
+
+  /@babel/runtime@7.22.10:
+    resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      regenerator-runtime: 0.14.0
+
+  /@babel/template@7.22.5:
+    resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/code-frame': 7.22.10
+      '@babel/parser': 7.22.10
+      '@babel/types': 7.22.10
+    dev: true
+
+  /@babel/traverse@7.22.10:
+    resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/code-frame': 7.22.10
+      '@babel/generator': 7.22.10
+      '@babel/helper-environment-visitor': 7.22.5
+      '@babel/helper-function-name': 7.22.5
+      '@babel/helper-hoist-variables': 7.22.5
+      '@babel/helper-split-export-declaration': 7.22.6
+      '@babel/parser': 7.22.10
+      '@babel/types': 7.22.10
+      debug: 4.3.4
+      globals: 11.12.0
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@babel/types@7.22.10:
+    resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==}
+    engines: {node: '>=6.9.0'}
+    dependencies:
+      '@babel/helper-string-parser': 7.22.5
+      '@babel/helper-validator-identifier': 7.22.5
+      to-fast-properties: 2.0.0
+
+  /@esbuild/android-arm64@0.17.19:
+    resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
+    engines: {node: '>=12'}
+    cpu: [arm64]
+    os: [android]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/android-arm@0.17.19:
+    resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
+    engines: {node: '>=12'}
+    cpu: [arm]
+    os: [android]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/android-x64@0.17.19:
+    resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [android]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/darwin-arm64@0.17.19:
+    resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
+    engines: {node: '>=12'}
+    cpu: [arm64]
+    os: [darwin]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/darwin-x64@0.17.19:
+    resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [darwin]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/freebsd-arm64@0.17.19:
+    resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
+    engines: {node: '>=12'}
+    cpu: [arm64]
+    os: [freebsd]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/freebsd-x64@0.17.19:
+    resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [freebsd]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-arm64@0.17.19:
+    resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
+    engines: {node: '>=12'}
+    cpu: [arm64]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-arm@0.17.19:
+    resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
+    engines: {node: '>=12'}
+    cpu: [arm]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-ia32@0.17.19:
+    resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
+    engines: {node: '>=12'}
+    cpu: [ia32]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-loong64@0.17.19:
+    resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
+    engines: {node: '>=12'}
+    cpu: [loong64]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-mips64el@0.17.19:
+    resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
+    engines: {node: '>=12'}
+    cpu: [mips64el]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-ppc64@0.17.19:
+    resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
+    engines: {node: '>=12'}
+    cpu: [ppc64]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-riscv64@0.17.19:
+    resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
+    engines: {node: '>=12'}
+    cpu: [riscv64]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-s390x@0.17.19:
+    resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
+    engines: {node: '>=12'}
+    cpu: [s390x]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-x64@0.17.19:
+    resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [linux]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/netbsd-x64@0.17.19:
+    resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [netbsd]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/openbsd-x64@0.17.19:
+    resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [openbsd]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/sunos-x64@0.17.19:
+    resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [sunos]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/win32-arm64@0.17.19:
+    resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
+    engines: {node: '>=12'}
+    cpu: [arm64]
+    os: [win32]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/win32-ia32@0.17.19:
+    resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
+    engines: {node: '>=12'}
+    cpu: [ia32]
+    os: [win32]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/win32-x64@0.17.19:
+    resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+    engines: {node: '>=12'}
+    cpu: [x64]
+    os: [win32]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@eslint/eslintrc@1.4.1:
+    resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
+    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.21.0
+      ignore: 5.2.4
+      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
+
+  /@humanwhocodes/config-array@0.9.5:
+    resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==}
+    engines: {node: '>=10.10.0'}
+    dependencies:
+      '@humanwhocodes/object-schema': 1.2.1
+      debug: 4.3.4
+      minimatch: 3.1.2
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@humanwhocodes/object-schema@1.2.1:
+    resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+    dev: true
+
+  /@jonny1994/postcss-px-to-viewport@1.1.0(postcss@8.4.28):
+    resolution: {integrity: sha512-fPyZlv+fgb3AEj7+nSg7Sh85OunrX+167MFlNe1WFh0KU1i6RXlEI0qnQ1RSxv2Of9ytB1vGTiPpwUV5rAiQ9A==}
+    peerDependencies:
+      postcss: '>=8.0.0'
+    dependencies:
+      postcss: 8.4.28
+    dev: true
+
+  /@jridgewell/gen-mapping@0.3.3:
+    resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
+    engines: {node: '>=6.0.0'}
+    dependencies:
+      '@jridgewell/set-array': 1.1.2
+      '@jridgewell/sourcemap-codec': 1.4.15
+      '@jridgewell/trace-mapping': 0.3.19
+    dev: true
+
+  /@jridgewell/resolve-uri@3.1.1:
+    resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
+    engines: {node: '>=6.0.0'}
+    dev: true
+
+  /@jridgewell/set-array@1.1.2:
+    resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
+    engines: {node: '>=6.0.0'}
+    dev: true
+
+  /@jridgewell/source-map@0.3.5:
+    resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
+    dependencies:
+      '@jridgewell/gen-mapping': 0.3.3
+      '@jridgewell/trace-mapping': 0.3.19
+    dev: true
+
+  /@jridgewell/sourcemap-codec@1.4.15:
+    resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+    dev: true
+
+  /@jridgewell/trace-mapping@0.3.19:
+    resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
+    dependencies:
+      '@jridgewell/resolve-uri': 3.1.1
+      '@jridgewell/sourcemap-codec': 1.4.15
+    dev: true
+
+  /@jy/vue-anti@0.1.1:
+    resolution: {integrity: sha512-zoSO2C6oVKuQdEZ3+R2KistwdLvUs7/JrYxewwZw+aQthFWfCzSasY5VaLC5R1StqG60EznESdxSrmT5uuSBnw==}
+    dependencies:
+      core-js: 3.32.1
+      qs: 6.11.2
+      vant: 2.12.44(vue@2.7.14)
+      vue: 2.7.14
+    dev: false
+
+  /@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.15.0
+    dev: true
+
+  /@rollup/pluginutils@5.0.3(rollup@0.58.2):
+    resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==}
+    engines: {node: '>=14.0.0'}
+    peerDependencies:
+      rollup: ^1.20.0||^2.0.0||^3.0.0
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+    dependencies:
+      '@types/estree': 1.0.1
+      estree-walker: 2.0.2
+      picomatch: 2.3.1
+      rollup: 0.58.2
+    dev: true
+
+  /@rushstack/eslint-patch@1.1.0:
+    resolution: {integrity: sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==}
+    dev: true
+
+  /@sentry-internal/tracing@7.64.0:
+    resolution: {integrity: sha512-1XE8W6ki7hHyBvX9hfirnGkKDBKNq3bDJyXS86E0bYVDl94nvbRM9BD9DHsCFetqYkVm1yDGEK+6aUVs4CztoQ==}
+    engines: {node: '>=8'}
+    dependencies:
+      '@sentry/core': 7.64.0
+      '@sentry/types': 7.64.0
+      '@sentry/utils': 7.64.0
+      tslib: 2.6.2
+    dev: false
+
+  /@sentry/browser@7.64.0:
+    resolution: {integrity: sha512-lB2IWUkZavEDclxfLBp554dY10ZNIEvlDZUWWathW+Ws2wRb6PNLtuPUNu12R7Q7z0xpkOLrM1kRNN0OdldgKA==}
+    engines: {node: '>=8'}
+    dependencies:
+      '@sentry-internal/tracing': 7.64.0
+      '@sentry/core': 7.64.0
+      '@sentry/replay': 7.64.0
+      '@sentry/types': 7.64.0
+      '@sentry/utils': 7.64.0
+      tslib: 2.6.2
+    dev: false
+
+  /@sentry/core@7.64.0:
+    resolution: {integrity: sha512-IzmEyl5sNG7NyEFiyFHEHC+sizsZp9MEw1+RJRLX6U5RITvcsEgcajSkHQFafaBPzRrcxZMdm47Cwhl212LXcw==}
+    engines: {node: '>=8'}
+    dependencies:
+      '@sentry/types': 7.64.0
+      '@sentry/utils': 7.64.0
+      tslib: 2.6.2
+    dev: false
+
+  /@sentry/replay@7.64.0:
+    resolution: {integrity: sha512-alaMCZDZhaAVmEyiUnszZnvfdbiZx5MmtMTGrlDd7tYq3K5OA9prdLqqlmfIJYBfYtXF3lD0iZFphOZQD+4CIw==}
+    engines: {node: '>=12'}
+    dependencies:
+      '@sentry/core': 7.64.0
+      '@sentry/types': 7.64.0
+      '@sentry/utils': 7.64.0
+    dev: false
+
+  /@sentry/types@7.64.0:
+    resolution: {integrity: sha512-LqjQprWXjUFRmzIlUjyA+KL+38elgIYmAeoDrdyNVh8MK5IC1W2Lh1Q87b4yOiZeMiIhIVNBd7Ecoh2rodGrGA==}
+    engines: {node: '>=8'}
+    dev: false
+
+  /@sentry/utils@7.64.0:
+    resolution: {integrity: sha512-HRlM1INzK66Gt+F4vCItiwGKAng4gqzCR4C5marsL3qv6SrKH98dQnCGYgXluSWaaa56h97FRQu7TxCk6jkSvQ==}
+    engines: {node: '>=8'}
+    dependencies:
+      '@sentry/types': 7.64.0
+      tslib: 2.6.2
+    dev: false
+
+  /@sentry/vue@7.64.0(vue@2.7.14):
+    resolution: {integrity: sha512-GBWdWEK+pTbq3qhF3FYJ1gDK1m2mqIVPT3kMtWNV2qmkhn+iqQ+ud3cT43shWvaHBE/TLZsrD6V20EEqBdnP2w==}
+    engines: {node: '>=8'}
+    peerDependencies:
+      vue: 2.x || 3.x
+    dependencies:
+      '@sentry/browser': 7.64.0
+      '@sentry/core': 7.64.0
+      '@sentry/types': 7.64.0
+      '@sentry/utils': 7.64.0
+      tslib: 2.6.2
+      vue: 2.7.14
+    dev: false
+
+  /@tinymce/tinymce-vue@3.2.8(vue@2.7.14):
+    resolution: {integrity: sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==}
+    peerDependencies:
+      vue: ^2.4.3
+    dependencies:
+      vue: 2.7.14
+    dev: false
+
+  /@types/estree@0.0.38:
+    resolution: {integrity: sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA==}
+
+  /@types/estree@1.0.1:
+    resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
+    dev: true
+
+  /@types/node@20.5.4:
+    resolution: {integrity: sha512-Y9vbIAoM31djQZrPYjpTLo0XlaSwOIsrlfE3LpulZeRblttsLQRFRlBAppW0LOxyT3ALj2M5vU1ucQQayQH3jA==}
+
+  /@vant/icons@1.8.0:
+    resolution: {integrity: sha512-sKfEUo2/CkQFuERxvkuF6mGQZDKu3IQdj5rV9Fm0weJXtchDSSQ+zt8qPCNUEhh9Y8shy5PzxbvAfOOkCwlCXg==}
+    dev: false
+
+  /@vant/popperjs@1.3.0:
+    resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==}
+    dev: false
+
+  /@vitejs/plugin-legacy@4.0.4(terser@5.14.2)(vite@4.3.9):
+    resolution: {integrity: sha512-UwVfkMfUEszbQ2vs3RDfiDxxvYnIjmtIrGxTnxRev5Sh8ZoDpieV2dwvTUB7zXKJpfRsOgimM6MxQ65VDHJeQw==}
+    engines: {node: ^14.18.0 || >=16.0.0}
+    peerDependencies:
+      terser: ^5.4.0
+      vite: ^4.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/preset-env': 7.22.10(@babel/core@7.22.10)
+      browserslist: 4.21.10
+      core-js: 3.32.1
+      magic-string: 0.30.3
+      regenerator-runtime: 0.13.11
+      systemjs: 6.14.2
+      terser: 5.14.2
+      vite: 4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2)
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /@vitejs/plugin-vue2@2.2.0(vite@4.3.9)(vue@2.7.14):
+    resolution: {integrity: sha512-1km7zEuZ/9QRPvzXSjikbTYGQPG86Mq1baktpC4sXqsXlb02HQKfi+fl8qVS703JM7cgm24Ga9j+RwKmvFn90A==}
+    engines: {node: ^14.18.0 || >= 16.0.0}
+    peerDependencies:
+      vite: ^3.0.0 || ^4.0.0
+      vue: ^2.7.0-0
+    dependencies:
+      vite: 4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2)
+      vue: 2.7.14
+    dev: true
+
+  /@vue/babel-helper-vue-jsx-merge-props@1.4.0:
+    resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==}
+    dev: false
+
+  /@vue/compiler-sfc@2.7.14:
+    resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==}
+    dependencies:
+      '@babel/parser': 7.22.10
+      postcss: 8.4.28
+      source-map: 0.6.1
+
+  /@vue/eslint-config-prettier@7.0.0(eslint@8.5.0)(prettier@2.5.1):
+    resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==}
+    peerDependencies:
+      eslint: '>= 7.28.0'
+      prettier: '>= 2.0.0'
+    dependencies:
+      eslint: 8.5.0
+      eslint-config-prettier: 8.10.0(eslint@8.5.0)
+      eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.5.0)(prettier@2.5.1)
+      prettier: 2.5.1
+    dev: true
+
+  /acorn-jsx@3.0.1:
+    resolution: {integrity: sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==}
+    dependencies:
+      acorn: 3.3.0
+    dev: false
+
+  /acorn-jsx@5.3.2(acorn@8.10.0):
+    resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+    peerDependencies:
+      acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+    dependencies:
+      acorn: 8.10.0
+    dev: true
+
+  /acorn-object-spread@1.0.0:
+    resolution: {integrity: sha512-XLGUSlVB4GeniUbk97r+NxLvcQDYNddFBl1WHSvMr/4v5lnNPWHzwHLdXrlBnusvZ0zq2lkjDm7fPEgJpjb4dg==}
+    dependencies:
+      acorn: 3.3.0
+    dev: false
+
+  /acorn@3.3.0:
+    resolution: {integrity: sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==}
+    engines: {node: '>=0.4.0'}
+    hasBin: true
+    dev: false
+
+  /acorn@5.7.4:
+    resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==}
+    engines: {node: '>=0.4.0'}
+    hasBin: true
+    dev: false
+
+  /acorn@8.10.0:
+    resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
+    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
+
+  /ansi-colors@4.1.3:
+    resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+    engines: {node: '>=6'}
+    dev: true
+
+  /ansi-regex@2.1.1:
+    resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+    engines: {node: '>=0.10.0'}
+    dev: false
+
+  /ansi-regex@5.0.1:
+    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+    engines: {node: '>=8'}
+    dev: true
+
+  /ansi-styles@2.2.1:
+    resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+    engines: {node: '>=0.10.0'}
+    dev: false
+
+  /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
+
+  /async@3.2.4:
+    resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
+    dev: true
+
+  /asynckit@0.4.0:
+    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+    dev: false
+
+  /autoprefixer@10.4.14(postcss@8.4.28):
+    resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
+    engines: {node: ^10 || ^12 || >=14}
+    hasBin: true
+    peerDependencies:
+      postcss: ^8.1.0
+    dependencies:
+      browserslist: 4.21.10
+      caniuse-lite: 1.0.30001522
+      fraction.js: 4.2.1
+      normalize-range: 0.1.2
+      picocolors: 1.0.0
+      postcss: 8.4.28
+      postcss-value-parser: 4.2.0
+    dev: true
+
+  /axios@1.4.0:
+    resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==}
+    dependencies:
+      follow-redirects: 1.15.2
+      form-data: 4.0.0
+      proxy-from-env: 1.1.0
+    transitivePeerDependencies:
+      - debug
+    dev: false
+
+  /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.10):
+    resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==}
+    peerDependencies:
+      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+    dependencies:
+      '@babel/compat-data': 7.22.9
+      '@babel/core': 7.22.10
+      '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10)
+      semver: 6.3.1
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /babel-plugin-polyfill-corejs3@0.8.3(@babel/core@7.22.10):
+    resolution: {integrity: sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==}
+    peerDependencies:
+      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10)
+      core-js-compat: 3.32.1
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.10):
+    resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==}
+    peerDependencies:
+      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+    dependencies:
+      '@babel/core': 7.22.10
+      '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.10)
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /balanced-match@1.0.2:
+    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+  /base64-arraybuffer@1.0.2:
+    resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==}
+    engines: {node: '>= 0.6.0'}
+    dev: false
+
+  /binary-extensions@2.2.0:
+    resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+    engines: {node: '>=8'}
+    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
+
+  /brace-expansion@2.0.1:
+    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+    dependencies:
+      balanced-match: 1.0.2
+    dev: true
+
+  /braces@3.0.2:
+    resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+    engines: {node: '>=8'}
+    dependencies:
+      fill-range: 7.0.1
+    dev: true
+
+  /browserslist@4.21.10:
+    resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==}
+    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+    hasBin: true
+    dependencies:
+      caniuse-lite: 1.0.30001522
+      electron-to-chromium: 1.4.500
+      node-releases: 2.0.13
+      update-browserslist-db: 1.0.11(browserslist@4.21.10)
+    dev: true
+
+  /buble@0.15.2:
+    resolution: {integrity: sha512-SHkzALzgJm7LhA/kfL1C3Os8X2ZuZB1Mg95mLdZM1blK5rdSpTngS01uGMfT98Yf6seQrKKTh/2JxSFdqNnKVA==}
+    hasBin: true
+    dependencies:
+      acorn: 3.3.0
+      acorn-jsx: 3.0.1
+      acorn-object-spread: 1.0.0
+      chalk: 1.1.3
+      magic-string: 0.14.0
+      minimist: 1.2.8
+      os-homedir: 1.0.2
+    dev: false
+
+  /buffer-from@1.1.2:
+    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+    dev: true
+
+  /builtin-modules@2.0.0:
+    resolution: {integrity: sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==}
+    engines: {node: '>=4'}
+    dev: false
+
+  /call-bind@1.0.2:
+    resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+    dependencies:
+      function-bind: 1.1.1
+      get-intrinsic: 1.2.1
+    dev: false
+
+  /callsites@3.1.0:
+    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+    engines: {node: '>=6'}
+    dev: true
+
+  /caniuse-lite@1.0.30001522:
+    resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==}
+    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: false
+
+  /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.5.3:
+    resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+    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
+
+  /cliui@8.0.1:
+    resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+    engines: {node: '>=12'}
+    dependencies:
+      string-width: 4.2.3
+      strip-ansi: 6.0.1
+      wrap-ansi: 7.0.0
+    dev: true
+
+  /color-convert@1.9.3:
+    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+    dependencies:
+      color-name: 1.1.3
+    dev: true
+
+  /color-convert@2.0.1:
+    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+    engines: {node: '>=7.0.0'}
+    dependencies:
+      color-name: 1.1.4
+    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
+
+  /combined-stream@1.0.8:
+    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+    engines: {node: '>= 0.8'}
+    dependencies:
+      delayed-stream: 1.0.0
+    dev: false
+
+  /commander@2.20.3:
+    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+    dev: true
+
+  /concat-map@0.0.1:
+    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+  /convert-source-map@1.9.0:
+    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+    dev: true
+
+  /copy-anything@2.0.6:
+    resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
+    dependencies:
+      is-what: 3.14.1
+    dev: true
+
+  /core-js-compat@3.32.1:
+    resolution: {integrity: sha512-GSvKDv4wE0bPnQtjklV101juQ85g6H3rm5PDP20mqlS5j0kXF3pP97YvAu5hl+uFHqMictp3b2VxOHljWMAtuA==}
+    dependencies:
+      browserslist: 4.21.10
+    dev: true
+
+  /core-js@3.32.1:
+    resolution: {integrity: sha512-lqufgNn9NLnESg5mQeYsxQP5w7wrViSj0jr/kv6ECQiByzQkrn1MKvV0L3acttpDqfQrHLwr2KCMgX5b8X+lyQ==}
+    requiresBuild: 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-line-break@2.1.0:
+    resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==}
+    dependencies:
+      utrie: 1.0.2
+    dev: false
+
+  /cssesc@3.0.0:
+    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+    engines: {node: '>=4'}
+    hasBin: true
+    dev: true
+
+  /csstype@3.1.2:
+    resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+
+  /dayjs@1.11.8:
+    resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==}
+    dev: false
+
+  /debug@3.2.7:
+    resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+    requiresBuild: true
+    peerDependencies:
+      supports-color: '*'
+    peerDependenciesMeta:
+      supports-color:
+        optional: true
+    dependencies:
+      ms: 2.1.3
+    dev: true
+    optional: 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
+
+  /deep-is@0.1.4:
+    resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+    dev: true
+
+  /define-lazy-prop@2.0.0:
+    resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+    engines: {node: '>=8'}
+    dev: true
+
+  /delayed-stream@1.0.0:
+    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+    engines: {node: '>=0.4.0'}
+    dev: false
+
+  /doctrine@3.0.0:
+    resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+    engines: {node: '>=6.0.0'}
+    dependencies:
+      esutils: 2.0.3
+    dev: true
+
+  /dom7@2.1.5:
+    resolution: {integrity: sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==}
+    dependencies:
+      ssr-window: 2.0.0
+    dev: false
+
+  /ejs@3.1.9:
+    resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
+    engines: {node: '>=0.10.0'}
+    hasBin: true
+    dependencies:
+      jake: 10.8.7
+    dev: true
+
+  /electron-to-chromium@1.4.500:
+    resolution: {integrity: sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==}
+    dev: true
+
+  /emoji-regex@8.0.0:
+    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+    dev: true
+
+  /enquirer@2.4.1:
+    resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
+    engines: {node: '>=8.6'}
+    dependencies:
+      ansi-colors: 4.1.3
+      strip-ansi: 6.0.1
+    dev: true
+
+  /errno@0.1.8:
+    resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+    hasBin: true
+    requiresBuild: true
+    dependencies:
+      prr: 1.0.1
+    dev: true
+    optional: true
+
+  /es-module-lexer@0.4.1:
+    resolution: {integrity: sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==}
+    dev: true
+
+  /esbuild@0.17.19:
+    resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
+    engines: {node: '>=12'}
+    hasBin: true
+    requiresBuild: true
+    optionalDependencies:
+      '@esbuild/android-arm': 0.17.19
+      '@esbuild/android-arm64': 0.17.19
+      '@esbuild/android-x64': 0.17.19
+      '@esbuild/darwin-arm64': 0.17.19
+      '@esbuild/darwin-x64': 0.17.19
+      '@esbuild/freebsd-arm64': 0.17.19
+      '@esbuild/freebsd-x64': 0.17.19
+      '@esbuild/linux-arm': 0.17.19
+      '@esbuild/linux-arm64': 0.17.19
+      '@esbuild/linux-ia32': 0.17.19
+      '@esbuild/linux-loong64': 0.17.19
+      '@esbuild/linux-mips64el': 0.17.19
+      '@esbuild/linux-ppc64': 0.17.19
+      '@esbuild/linux-riscv64': 0.17.19
+      '@esbuild/linux-s390x': 0.17.19
+      '@esbuild/linux-x64': 0.17.19
+      '@esbuild/netbsd-x64': 0.17.19
+      '@esbuild/openbsd-x64': 0.17.19
+      '@esbuild/sunos-x64': 0.17.19
+      '@esbuild/win32-arm64': 0.17.19
+      '@esbuild/win32-ia32': 0.17.19
+      '@esbuild/win32-x64': 0.17.19
+    dev: true
+
+  /escalade@3.1.1:
+    resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+    engines: {node: '>=6'}
+    dev: true
+
+  /escape-string-regexp@1.0.5:
+    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+    engines: {node: '>=0.8.0'}
+
+  /escape-string-regexp@4.0.0:
+    resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+    engines: {node: '>=10'}
+    dev: true
+
+  /eslint-config-prettier@8.10.0(eslint@8.5.0):
+    resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==}
+    hasBin: true
+    peerDependencies:
+      eslint: '>=7.0.0'
+    dependencies:
+      eslint: 8.5.0
+    dev: true
+
+  /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.5.0)(prettier@2.5.1):
+    resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
+    engines: {node: '>=12.0.0'}
+    peerDependencies:
+      eslint: '>=7.28.0'
+      eslint-config-prettier: '*'
+      prettier: '>=2.0.0'
+    peerDependenciesMeta:
+      eslint-config-prettier:
+        optional: true
+    dependencies:
+      eslint: 8.5.0
+      eslint-config-prettier: 8.10.0(eslint@8.5.0)
+      prettier: 2.5.1
+      prettier-linter-helpers: 1.0.0
+    dev: true
+
+  /eslint-plugin-vue@9.0.0(eslint@8.5.0):
+    resolution: {integrity: sha512-UD1uQp8bzMi1b0/YS1ErmZY2/zJ7YVcVp40KniccN+yka0Agji/5X3SJ/gmrjFYXpEaXRebxa49uegZ4NamFHg==}
+    engines: {node: ^14.17.0 || >=16.0.0}
+    peerDependencies:
+      eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
+    dependencies:
+      eslint: 8.5.0
+      eslint-utils: 3.0.0(eslint@8.5.0)
+      natural-compare: 1.4.0
+      nth-check: 2.1.1
+      postcss-selector-parser: 6.0.13
+      semver: 7.5.4
+      vue-eslint-parser: 9.3.1(eslint@8.5.0)
+      xml-name-validator: 4.0.0
+    transitivePeerDependencies:
+      - supports-color
+    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@3.0.0(eslint@8.5.0):
+    resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
+    engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+    peerDependencies:
+      eslint: '>=5'
+    dependencies:
+      eslint: 8.5.0
+      eslint-visitor-keys: 2.1.0
+    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.5.0:
+    resolution: {integrity: sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg==}
+    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+    hasBin: true
+    dependencies:
+      '@eslint/eslintrc': 1.4.1
+      '@humanwhocodes/config-array': 0.9.5
+      ajv: 6.12.6
+      chalk: 4.1.2
+      cross-spawn: 7.0.3
+      debug: 4.3.4
+      doctrine: 3.0.0
+      enquirer: 2.4.1
+      escape-string-regexp: 4.0.0
+      eslint-scope: 7.2.2
+      eslint-utils: 3.0.0(eslint@8.5.0)
+      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
+      functional-red-black-tree: 1.0.1
+      glob-parent: 6.0.2
+      globals: 13.21.0
+      ignore: 4.0.6
+      import-fresh: 3.3.0
+      imurmurhash: 0.1.4
+      is-glob: 4.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
+      progress: 2.0.3
+      regexpp: 3.2.0
+      semver: 7.5.4
+      strip-ansi: 6.0.1
+      strip-json-comments: 3.1.1
+      text-table: 0.2.0
+      v8-compile-cache: 2.4.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.10.0
+      acorn-jsx: 5.3.2(acorn@8.10.0)
+      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@5.3.0:
+    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+    engines: {node: '>=4.0'}
+    dev: true
+
+  /estree-walker@0.2.1:
+    resolution: {integrity: sha512-6/I1dwNKk0N9iGOU3ydzAAurz4NPo/ttxZNCqgIVbWFvWyzWBSNonRrJ5CpjDuyBfmM7ENN7WCzUi9aT/UPXXQ==}
+    dev: false
+
+  /estree-walker@0.5.2:
+    resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==}
+    dev: false
+
+  /estree-walker@0.6.1:
+    resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+    dev: false
+
+  /estree-walker@2.0.2:
+    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+    dev: true
+
+  /esutils@2.0.3:
+    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+    engines: {node: '>=0.10.0'}
+    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.1:
+    resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+    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
+
+  /fastq@1.15.0:
+    resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+    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.0.4
+    dev: true
+
+  /filelist@1.0.4:
+    resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+    dependencies:
+      minimatch: 5.1.6
+    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
+
+  /flat-cache@3.0.4:
+    resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+    engines: {node: ^10.12.0 || >=12.0.0}
+    dependencies:
+      flatted: 3.2.7
+      rimraf: 3.0.2
+    dev: true
+
+  /flatted@3.2.7:
+    resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+    dev: true
+
+  /follow-redirects@1.15.2:
+    resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
+    engines: {node: '>=4.0'}
+    peerDependencies:
+      debug: '*'
+    peerDependenciesMeta:
+      debug:
+        optional: true
+    dev: false
+
+  /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
+
+  /fraction.js@4.2.1:
+    resolution: {integrity: sha512-/KxoyCnPM0GwYI4NN0Iag38Tqt+od3/mLuguepLgCAKPn0ZhC544nssAW0tG2/00zXEYl9W+7hwAIpLHo6Oc7Q==}
+    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.0
+    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.1:
+    resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+
+  /functional-red-black-tree@1.0.1:
+    resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
+    dev: true
+
+  /gensync@1.0.0-beta.2:
+    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+    engines: {node: '>=6.9.0'}
+    dev: true
+
+  /get-caller-file@2.0.5:
+    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+    engines: {node: 6.* || 8.* || >= 10.*}
+    dev: true
+
+  /get-intrinsic@1.2.1:
+    resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
+    dependencies:
+      function-bind: 1.1.1
+      has: 1.0.3
+      has-proto: 1.0.1
+      has-symbols: 1.0.3
+    dev: false
+
+  /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
+
+  /globals@11.12.0:
+    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /globals@13.21.0:
+    resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==}
+    engines: {node: '>=8'}
+    dependencies:
+      type-fest: 0.20.2
+    dev: true
+
+  /graceful-fs@4.2.11:
+    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+    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: false
+
+  /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-proto@1.0.1:
+    resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
+    engines: {node: '>= 0.4'}
+    dev: false
+
+  /has-symbols@1.0.3:
+    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+    engines: {node: '>= 0.4'}
+    dev: false
+
+  /has@1.0.3:
+    resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+    engines: {node: '>= 0.4.0'}
+    dependencies:
+      function-bind: 1.1.1
+
+  /html2canvas@1.4.1:
+    resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
+    engines: {node: '>=8.0.0'}
+    dependencies:
+      css-line-break: 2.1.0
+      text-segmentation: 1.0.3
+    dev: false
+
+  /iconv-lite@0.6.3:
+    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+    engines: {node: '>=0.10.0'}
+    requiresBuild: true
+    dependencies:
+      safer-buffer: 2.1.2
+    dev: true
+    optional: true
+
+  /ignore@4.0.6:
+    resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
+    engines: {node: '>= 4'}
+    dev: true
+
+  /ignore@5.2.4:
+    resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
+    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
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /immutable@4.3.3:
+    resolution: {integrity: sha512-808ZFYMsIRAjLAu5xkKo0TsbY9LBy9H5MazTKIEHerNkg0ymgilGfBPMR/3G7d/ihGmuK2Hw8S1izY2d3kd3wA==}
+    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
+
+  /is-binary-path@2.1.0:
+    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+    engines: {node: '>=8'}
+    dependencies:
+      binary-extensions: 2.2.0
+    dev: true
+
+  /is-core-module@2.13.0:
+    resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
+    dependencies:
+      has: 1.0.3
+
+  /is-docker@2.2.1:
+    resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+    engines: {node: '>=8'}
+    hasBin: true
+    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-module@1.0.0:
+    resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+    dev: false
+
+  /is-number@7.0.0:
+    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+    engines: {node: '>=0.12.0'}
+    dev: true
+
+  /is-what@3.14.1:
+    resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
+    dev: true
+
+  /is-wsl@2.2.0:
+    resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+    engines: {node: '>=8'}
+    dependencies:
+      is-docker: 2.2.1
+    dev: true
+
+  /isexe@2.0.0:
+    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+    dev: true
+
+  /jake@10.8.7:
+    resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
+    engines: {node: '>=10'}
+    hasBin: true
+    dependencies:
+      async: 3.2.4
+      chalk: 4.1.2
+      filelist: 1.0.4
+      minimatch: 3.1.2
+    dev: true
+
+  /js-cookie@3.0.1:
+    resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==}
+    engines: {node: '>=12'}
+    dev: false
+
+  /js-tokens@4.0.0:
+    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+    dev: true
+
+  /js-yaml@4.1.0:
+    resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+    hasBin: true
+    dependencies:
+      argparse: 2.0.1
+    dev: true
+
+  /jsesc@0.5.0:
+    resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+    hasBin: true
+    dev: true
+
+  /jsesc@2.5.2:
+    resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+    engines: {node: '>=4'}
+    hasBin: true
+    dev: true
+
+  /json-schema-traverse@0.4.1:
+    resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+    dev: true
+
+  /json-stable-stringify-without-jsonify@1.0.1:
+    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+    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.0
+    optionalDependencies:
+      graceful-fs: 4.2.11
+    dev: true
+
+  /less@4.1.3:
+    resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==}
+    engines: {node: '>=6'}
+    hasBin: true
+    dependencies:
+      copy-anything: 2.0.6
+      parse-node-version: 1.0.1
+      tslib: 2.6.2
+    optionalDependencies:
+      errno: 0.1.8
+      graceful-fs: 4.2.11
+      image-size: 0.5.5
+      make-dir: 2.1.0
+      mime: 1.6.0
+      needle: 3.2.0
+      source-map: 0.6.1
+    transitivePeerDependencies:
+      - supports-color
+    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
+
+  /local-pkg@0.4.3:
+    resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+    engines: {node: '>=14'}
+    dev: true
+
+  /lodash.debounce@4.0.8:
+    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+    dev: true
+
+  /lodash.merge@4.6.2:
+    resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+    dev: true
+
+  /lodash@4.17.21:
+    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+  /lottie-web@5.12.0:
+    resolution: {integrity: sha512-tt2oiv0EmXC8J/RF877dVCo93vZBBnww+SO6dldREgHD8EsP97jQ42JRryIRfY+6aVESQsHYNEAYgH25cBFy7A==}
+    dev: false
+
+  /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.14.0:
+    resolution: {integrity: sha512-ASteqiQbpCPx2uMF5NkmrIUlo3nsSDcPOo+O+F+pdPML/IS560BwrEljpzDFOR45eOME7UPTxgUQVPs6Lj2mTw==}
+    dependencies:
+      vlq: 0.2.3
+    dev: false
+
+  /magic-string@0.22.5:
+    resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==}
+    dependencies:
+      vlq: 0.2.3
+    dev: false
+
+  /magic-string@0.25.9:
+    resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+    dependencies:
+      sourcemap-codec: 1.4.8
+    dev: true
+
+  /magic-string@0.30.3:
+    resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==}
+    engines: {node: '>=12'}
+    dependencies:
+      '@jridgewell/sourcemap-codec': 1.4.15
+    dev: true
+
+  /make-dir@2.1.0:
+    resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+    engines: {node: '>=6'}
+    requiresBuild: true
+    dependencies:
+      pify: 4.0.1
+      semver: 5.7.2
+    dev: true
+    optional: true
+
+  /merge2@1.4.1:
+    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+    engines: {node: '>= 8'}
+    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
+
+  /mime@1.6.0:
+    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+    engines: {node: '>=4'}
+    hasBin: true
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /minimatch@3.1.2:
+    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+    dependencies:
+      brace-expansion: 1.1.11
+
+  /minimatch@5.1.6:
+    resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+    engines: {node: '>=10'}
+    dependencies:
+      brace-expansion: 2.0.1
+    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: false
+
+  /moment@2.29.1:
+    resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==}
+    dev: false
+
+  /ms@2.1.2:
+    resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+    dev: true
+
+  /ms@2.1.3:
+    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /nanoid@3.3.6:
+    resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
+    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+    hasBin: true
+
+  /natural-compare@1.4.0:
+    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+    dev: true
+
+  /needle@3.2.0:
+    resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==}
+    engines: {node: '>= 4.4.x'}
+    hasBin: true
+    requiresBuild: true
+    dependencies:
+      debug: 3.2.7
+      iconv-lite: 0.6.3
+      sax: 1.2.4
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+    optional: true
+
+  /node-releases@2.0.13:
+    resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+    dev: true
+
+  /normalize-path@3.0.0:
+    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /normalize-range@0.1.2:
+    resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /nth-check@2.1.1:
+    resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+    dependencies:
+      boolbase: 1.0.0
+    dev: true
+
+  /object-inspect@1.12.3:
+    resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
+    dev: false
+
+  /once@1.4.0:
+    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+    dependencies:
+      wrappy: 1.0.2
+    dev: true
+
+  /open@8.4.2:
+    resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+    engines: {node: '>=12'}
+    dependencies:
+      define-lazy-prop: 2.0.0
+      is-docker: 2.2.1
+      is-wsl: 2.2.0
+    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
+
+  /os-homedir@1.0.2:
+    resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
+    engines: {node: '>=0.10.0'}
+    dev: false
+
+  /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-node-version@1.0.1:
+    resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
+    engines: {node: '>= 0.10'}
+    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==}
+
+  /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
+
+  /pify@4.0.1:
+    resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+    engines: {node: '>=6'}
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /postcss-selector-parser@6.0.13:
+    resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      cssesc: 3.0.0
+      util-deprecate: 1.0.2
+    dev: true
+
+  /postcss-value-parser@4.2.0:
+    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+    dev: true
+
+  /postcss@8.4.28:
+    resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==}
+    engines: {node: ^10 || ^12 || >=14}
+    dependencies:
+      nanoid: 3.3.6
+      picocolors: 1.0.0
+      source-map-js: 1.0.2
+
+  /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@2.5.1:
+    resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==}
+    engines: {node: '>=10.13.0'}
+    hasBin: true
+    dev: true
+
+  /progress@2.0.3:
+    resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+    engines: {node: '>=0.4.0'}
+    dev: true
+
+  /proxy-from-env@1.1.0:
+    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+    dev: false
+
+  /prr@1.0.1:
+    resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /punycode@2.3.0:
+    resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
+    engines: {node: '>=6'}
+    dev: true
+
+  /qs@6.11.2:
+    resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==}
+    engines: {node: '>=0.6'}
+    dependencies:
+      side-channel: 1.0.4
+    dev: false
+
+  /queue-microtask@1.2.3:
+    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+    dev: true
+
+  /readdirp@3.6.0:
+    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+    engines: {node: '>=8.10.0'}
+    dependencies:
+      picomatch: 2.3.1
+    dev: true
+
+  /regenerate-unicode-properties@10.1.0:
+    resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      regenerate: 1.4.2
+    dev: true
+
+  /regenerate@1.4.2:
+    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+    dev: true
+
+  /regenerator-runtime@0.13.11:
+    resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+    dev: true
+
+  /regenerator-runtime@0.14.0:
+    resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
+
+  /regenerator-transform@0.15.2:
+    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+    dependencies:
+      '@babel/runtime': 7.22.10
+    dev: true
+
+  /regexpp@3.2.0:
+    resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
+    engines: {node: '>=8'}
+    dev: true
+
+  /regexpu-core@5.3.2:
+    resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      '@babel/regjsgen': 0.8.0
+      regenerate: 1.4.2
+      regenerate-unicode-properties: 10.1.0
+      regjsparser: 0.9.1
+      unicode-match-property-ecmascript: 2.0.0
+      unicode-match-property-value-ecmascript: 2.1.0
+    dev: true
+
+  /regjsparser@0.9.1:
+    resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+    hasBin: true
+    dependencies:
+      jsesc: 0.5.0
+    dev: true
+
+  /require-directory@2.1.1:
+    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+    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@1.22.4:
+    resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
+    hasBin: true
+    dependencies:
+      is-core-module: 2.13.0
+      path-parse: 1.0.7
+      supports-preserve-symlinks-flag: 1.0.0
+
+  /reusify@1.0.4:
+    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+    dev: true
+
+  /rgbaster@2.1.1:
+    resolution: {integrity: sha512-vUQI+ldMMSGXEbWtqb/6aqLY1LHc33OtXg2Q9S0TCxzt2KxGncRJB6dk860KzhWTjms+Fz4wkxrJu8MlCrFpYg==}
+    dev: false
+
+  /rimraf@3.0.2:
+    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+    hasBin: true
+    dependencies:
+      glob: 7.2.3
+    dev: true
+
+  /rollup-plugin-buble@0.15.0:
+    resolution: {integrity: sha512-iyCysEjC/TTMfchDK15DU4DZlj1x3TOzjWFUlzPjM8b3DA1sztuWmWd3vsPn3uvubGWHHfp49LqxlrXUr7+PLw==}
+    deprecated: This module has been deprecated and is no longer maintained. Please use @rollup/plugin-buble.
+    dependencies:
+      buble: 0.15.2
+      rollup-pluginutils: 1.5.2
+    dev: false
+
+  /rollup-plugin-commonjs@8.4.1:
+    resolution: {integrity: sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==}
+    deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs.
+    dependencies:
+      acorn: 5.7.4
+      estree-walker: 0.5.2
+      magic-string: 0.22.5
+      resolve: 1.22.4
+      rollup-pluginutils: 2.8.2
+    dev: false
+
+  /rollup-plugin-json@2.3.1(rollup@0.58.2):
+    resolution: {integrity: sha512-alQQQVPo2z9pl6LSK8QqyDlWwCH5KeE8YxgQv7fa/SeTxz+gQe36jBjcha7hQW68MrVh9Ms71EQaMZDAG3w2yw==}
+    deprecated: This module has been deprecated and is no longer maintained. Please use @rollup/plugin-json.
+    peerDependencies:
+      rollup: < 0.59.0
+    dependencies:
+      rollup: 0.58.2
+      rollup-pluginutils: 2.8.2
+    dev: false
+
+  /rollup-plugin-node-resolve@3.4.0:
+    resolution: {integrity: sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==}
+    deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve.
+    dependencies:
+      builtin-modules: 2.0.0
+      is-module: 1.0.0
+      resolve: 1.22.4
+    dev: false
+
+  /rollup-plugin-visualizer@5.9.2(rollup@0.58.2):
+    resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==}
+    engines: {node: '>=14'}
+    hasBin: true
+    peerDependencies:
+      rollup: 2.x || 3.x
+    peerDependenciesMeta:
+      rollup:
+        optional: true
+    dependencies:
+      open: 8.4.2
+      picomatch: 2.3.1
+      rollup: 0.58.2
+      source-map: 0.7.4
+      yargs: 17.7.2
+    dev: true
+
+  /rollup-pluginutils@1.5.2:
+    resolution: {integrity: sha512-SjdWWWO/CUoMpDy8RUbZ/pSpG68YHmhk5ROKNIoi2En9bJ8bTt3IhYi254RWiTclQmL7Awmrq+rZFOhZkJAHmQ==}
+    dependencies:
+      estree-walker: 0.2.1
+      minimatch: 3.1.2
+    dev: false
+
+  /rollup-pluginutils@2.8.2:
+    resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+    dependencies:
+      estree-walker: 0.6.1
+    dev: false
+
+  /rollup@0.58.2:
+    resolution: {integrity: sha512-RZVvCWm9BHOYloaE6LLiE/ibpjv1CmI8F8k0B0Cp+q1eezo3cswszJH1DN0djgzSlo0hjuuCmyeI+1XOYLl4wg==}
+    hasBin: true
+    dependencies:
+      '@types/estree': 0.0.38
+      '@types/node': 20.5.4
+
+  /rollup@3.28.1:
+    resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==}
+    engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+    hasBin: true
+    optionalDependencies:
+      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
+
+  /safer-buffer@2.1.2:
+    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /sass@1.63.2:
+    resolution: {integrity: sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==}
+    engines: {node: '>=14.0.0'}
+    hasBin: true
+    dependencies:
+      chokidar: 3.5.3
+      immutable: 4.3.3
+      source-map-js: 1.0.2
+    dev: true
+
+  /sax@1.2.4:
+    resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /semver@5.7.2:
+    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+    hasBin: true
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /semver@6.3.1:
+    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+    hasBin: true
+    dev: true
+
+  /semver@7.5.4:
+    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
+    engines: {node: '>=10'}
+    hasBin: true
+    dependencies:
+      lru-cache: 6.0.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.4:
+    resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+    dependencies:
+      call-bind: 1.0.2
+      get-intrinsic: 1.2.1
+      object-inspect: 1.12.3
+    dev: false
+
+  /sortablejs@1.10.2:
+    resolution: {integrity: sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==}
+    dev: false
+
+  /source-map-js@1.0.2:
+    resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+    engines: {node: '>=0.10.0'}
+
+  /source-map-support@0.5.21:
+    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+    dependencies:
+      buffer-from: 1.1.2
+      source-map: 0.6.1
+    dev: true
+
+  /source-map@0.6.1:
+    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+    engines: {node: '>=0.10.0'}
+
+  /source-map@0.7.4:
+    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+    engines: {node: '>= 8'}
+    dev: true
+
+  /sourcemap-codec@1.4.8:
+    resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+    deprecated: Please use @jridgewell/sourcemap-codec instead
+    dev: true
+
+  /ssr-window@1.0.1:
+    resolution: {integrity: sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==}
+    dev: false
+
+  /ssr-window@2.0.0:
+    resolution: {integrity: sha512-NXzN+/HPObKAx191H3zKlYomE5WrVIkoCB5IaSdvKokxTpjBdWfr0RaP+1Z5KOfDT0ZVz+2tdtiBkhsEQ9p+0A==}
+    dev: false
+
+  /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
+
+  /strip-ansi@3.0.1:
+    resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      ansi-regex: 2.1.1
+    dev: false
+
+  /strip-ansi@6.0.1:
+    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+    engines: {node: '>=8'}
+    dependencies:
+      ansi-regex: 5.0.1
+    dev: true
+
+  /strip-json-comments@3.1.1:
+    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+    engines: {node: '>=8'}
+    dev: true
+
+  /supports-color@2.0.0:
+    resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+    engines: {node: '>=0.8.0'}
+    dev: false
+
+  /supports-color@5.5.0:
+    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+    engines: {node: '>=4'}
+    dependencies:
+      has-flag: 3.0.0
+    dev: true
+
+  /supports-color@7.2.0:
+    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+    engines: {node: '>=8'}
+    dependencies:
+      has-flag: 4.0.0
+    dev: true
+
+  /supports-preserve-symlinks-flag@1.0.0:
+    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+    engines: {node: '>= 0.4'}
+
+  /svga@2.0.6:
+    resolution: {integrity: sha512-J2YfEP+U/bFpD5/K/MZebWzy1SVpZXGwsKv9ICHYoBaYRP4Vga7cOW9Ccji5peRu6J0Ze7URSPm6OsMgYqwJzg==}
+    dev: false
+
+  /swiper@5.2.0:
+    resolution: {integrity: sha512-pGyQ7+X7ndp6r6L0Wb+vjX5xaORdKws5mLucjen3yJrZYv9M18dd13xmSjPB8isgWVbwaFL7UxXvu8ojcfjajg==}
+    engines: {node: '>= 4.7.0'}
+    requiresBuild: true
+    dependencies:
+      dom7: 2.1.5
+      ssr-window: 1.0.1
+    dev: false
+
+  /systemjs@6.14.2:
+    resolution: {integrity: sha512-1TlOwvKWdXxAY9vba+huLu99zrQURDWA8pUTYsRIYDZYQbGyK+pyEP4h4dlySsqo7ozyJBmYD20F+iUHhAltEg==}
+    dev: true
+
+  /terser@5.14.2:
+    resolution: {integrity: sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==}
+    engines: {node: '>=10'}
+    hasBin: true
+    dependencies:
+      '@jridgewell/source-map': 0.3.5
+      acorn: 8.10.0
+      commander: 2.20.3
+      source-map-support: 0.5.21
+    dev: true
+
+  /text-segmentation@1.0.3:
+    resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==}
+    dependencies:
+      utrie: 1.0.2
+    dev: false
+
+  /text-table@0.2.0:
+    resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+    dev: true
+
+  /tinymce@5.10.3:
+    resolution: {integrity: sha512-O59ssHNnujWvSk5Gt8hIGrdNCMKVWVQv9F8siAgLTRgTh0t3NDHrP1UlLtCxArUi9DPWZvlBeUz8D5fJTu7vnA==}
+    dev: false
+
+  /to-fast-properties@2.0.0:
+    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+    engines: {node: '>=4'}
+
+  /to-regex-range@5.0.1:
+    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+    engines: {node: '>=8.0'}
+    dependencies:
+      is-number: 7.0.0
+    dev: true
+
+  /tslib@2.6.2:
+    resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+  /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
+
+  /unicode-canonical-property-names-ecmascript@2.0.0:
+    resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /unicode-match-property-ecmascript@2.0.0:
+    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+    engines: {node: '>=4'}
+    dependencies:
+      unicode-canonical-property-names-ecmascript: 2.0.0
+      unicode-property-aliases-ecmascript: 2.1.0
+    dev: true
+
+  /unicode-match-property-value-ecmascript@2.1.0:
+    resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /unicode-property-aliases-ecmascript@2.1.0:
+    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /universalify@2.0.0:
+    resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
+    engines: {node: '>= 10.0.0'}
+    dev: true
+
+  /unplugin-vue-components@0.25.1(rollup@0.58.2)(vue@2.7.14):
+    resolution: {integrity: sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==}
+    engines: {node: '>=14'}
+    peerDependencies:
+      '@babel/parser': ^7.15.8
+      '@nuxt/kit': ^3.2.2
+      vue: 2 || 3
+    peerDependenciesMeta:
+      '@babel/parser':
+        optional: true
+      '@nuxt/kit':
+        optional: true
+    dependencies:
+      '@antfu/utils': 0.7.6
+      '@rollup/pluginutils': 5.0.3(rollup@0.58.2)
+      chokidar: 3.5.3
+      debug: 4.3.4
+      fast-glob: 3.3.1
+      local-pkg: 0.4.3
+      magic-string: 0.30.3
+      minimatch: 9.0.3
+      resolve: 1.22.4
+      unplugin: 1.4.0
+      vue: 2.7.14
+    transitivePeerDependencies:
+      - rollup
+      - supports-color
+    dev: true
+
+  /unplugin@1.4.0:
+    resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==}
+    dependencies:
+      acorn: 8.10.0
+      chokidar: 3.5.3
+      webpack-sources: 3.2.3
+      webpack-virtual-modules: 0.5.0
+    dev: true
+
+  /update-browserslist-db@1.0.11(browserslist@4.21.10):
+    resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
+    hasBin: true
+    peerDependencies:
+      browserslist: '>= 4.21.0'
+    dependencies:
+      browserslist: 4.21.10
+      escalade: 3.1.1
+      picocolors: 1.0.0
+    dev: true
+
+  /uri-js@4.4.1:
+    resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+    dependencies:
+      punycode: 2.3.0
+    dev: true
+
+  /util-deprecate@1.0.2:
+    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+    dev: true
+
+  /utrie@1.0.2:
+    resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==}
+    dependencies:
+      base64-arraybuffer: 1.0.2
+    dev: false
+
+  /v8-compile-cache@2.4.0:
+    resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
+    dev: true
+
+  /vant@2.12.44(vue@2.7.14):
+    resolution: {integrity: sha512-0ZRq0v+26Ny6Ezt3M1GEN5KLEh6vVp6rBmQENi6jd0HejgpwfCRUWTFCH9sQqB3LhfxJ7ywHmrLAn5oj1eHozA==}
+    peerDependencies:
+      vue: '>= 2.6.0'
+    dependencies:
+      '@babel/runtime': 7.22.10
+      '@vant/icons': 1.8.0
+      '@vant/popperjs': 1.3.0
+      '@vue/babel-helper-vue-jsx-merge-props': 1.4.0
+      vue: 2.7.14
+      vue-lazyload: 1.2.3
+    dev: false
+
+  /vite-plugin-compression@0.5.1(vite@4.3.9):
+    resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
+    peerDependencies:
+      vite: '>=2.0.0'
+    dependencies:
+      chalk: 4.1.2
+      debug: 4.3.4
+      fs-extra: 10.1.0
+      vite: 4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2)
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /vite-plugin-ejs@1.6.4:
+    resolution: {integrity: sha512-23p1RS4PiA0veXY5/gHZ60pl3pPvd8NEqdBsDgxNK8nM1rjFFDcVb0paNmuipzCgNP/Y0f/Id22M7Il4kvZ2jA==}
+    dependencies:
+      ejs: 3.1.9
+    dev: true
+
+  /vite-plugin-externals@0.6.2(vite@4.3.9):
+    resolution: {integrity: sha512-R5oVY8xDJjLXLTs2XDYzvYbc/RTZuIwOx2xcFbYf+/VXB6eJuatDgt8jzQ7kZ+IrgwQhe6tU8U2fTyy72C25CQ==}
+    engines: {node: ^14.18.0 || >=16.0.0}
+    peerDependencies:
+      vite: '>=2.0.0'
+    dependencies:
+      acorn: 8.10.0
+      es-module-lexer: 0.4.1
+      fs-extra: 10.1.0
+      magic-string: 0.25.9
+      vite: 4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2)
+    dev: true
+
+  /vite@4.3.9(less@4.1.3)(sass@1.63.2)(terser@5.14.2):
+    resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+    engines: {node: ^14.18.0 || >=16.0.0}
+    hasBin: true
+    peerDependencies:
+      '@types/node': '>= 14'
+      less: '*'
+      sass: '*'
+      stylus: '*'
+      sugarss: '*'
+      terser: ^5.4.0
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+      less:
+        optional: true
+      sass:
+        optional: true
+      stylus:
+        optional: true
+      sugarss:
+        optional: true
+      terser:
+        optional: true
+    dependencies:
+      esbuild: 0.17.19
+      less: 4.1.3
+      postcss: 8.4.28
+      rollup: 3.28.1
+      sass: 1.63.2
+      terser: 5.14.2
+    optionalDependencies:
+      fsevents: 2.3.3
+    dev: true
+
+  /vlq@0.2.3:
+    resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==}
+    dev: false
+
+  /vue-awesome-swiper@4.1.1(swiper@5.2.0)(vue@2.7.14):
+    resolution: {integrity: sha512-50um10t6N+lJaORkpwSi1wWuMmBI1sgFc9Znsi5oUykw2cO5DzLaBHcO2JNX21R+Ue4TGoIJDhhxjBHtkFrTEQ==}
+    engines: {node: '>=8'}
+    peerDependencies:
+      swiper: ^5.2.0
+      vue: 2.x
+    dependencies:
+      swiper: 5.2.0
+      vue: 2.7.14
+    dev: false
+
+  /vue-eslint-parser@9.3.1(eslint@8.5.0):
+    resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==}
+    engines: {node: ^14.17.0 || >=16.0.0}
+    peerDependencies:
+      eslint: '>=6.0.0'
+    dependencies:
+      debug: 4.3.4
+      eslint: 8.5.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.5.4
+    transitivePeerDependencies:
+      - supports-color
+    dev: true
+
+  /vue-lazyload@1.2.3:
+    resolution: {integrity: sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g==}
+    dev: false
+
+  /vue-meta-info@0.1.7(rollup@0.58.2):
+    resolution: {integrity: sha512-0tfCM0XB6aU44ycijhGBCiLe9bLsFa82qZ1fA3gaEnvpQCw4Tnk6p5R3JpppZTThycr70ckf9Wx49C7ESDp75A==}
+    engines: {node: '>= 4.0.0', npm: '>= 3.0.0'}
+    dependencies:
+      rollup-plugin-buble: 0.15.0
+      rollup-plugin-commonjs: 8.4.1
+      rollup-plugin-json: 2.3.1(rollup@0.58.2)
+      rollup-plugin-node-resolve: 3.4.0
+      vue: 2.7.14
+      vue-router: 2.8.1(vue@2.7.14)
+    transitivePeerDependencies:
+      - rollup
+    dev: false
+
+  /vue-router@2.8.1(vue@2.7.14):
+    resolution: {integrity: sha512-MC4jacHBhTPKtmcfzvaj2N7g6jgJ/Z/eIjZdt+yUaUOM1iKC0OUIlO/xCtz6OZFFTNUJs/1YNro2GN/lE+nOXA==}
+    peerDependencies:
+      vue: ^2
+    dependencies:
+      vue: 2.7.14
+    dev: false
+
+  /vue-router@3.6.5(vue@2.7.14):
+    resolution: {integrity: sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==}
+    peerDependencies:
+      vue: ^2
+    dependencies:
+      vue: 2.7.14
+    dev: false
+
+  /vue@2.7.14:
+    resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==}
+    dependencies:
+      '@vue/compiler-sfc': 2.7.14
+      csstype: 3.1.2
+
+  /vuedraggable@2.24.3:
+    resolution: {integrity: sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==}
+    dependencies:
+      sortablejs: 1.10.2
+    dev: false
+
+  /vuex@3.6.2(vue@2.7.14):
+    resolution: {integrity: sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==}
+    peerDependencies:
+      vue: ^2.0.0
+    dependencies:
+      vue: 2.7.14
+    dev: false
+
+  /webpack-sources@3.2.3:
+    resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+    engines: {node: '>=10.13.0'}
+    dev: true
+
+  /webpack-virtual-modules@0.5.0:
+    resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+    dev: true
+
+  /which@2.0.2:
+    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+    engines: {node: '>= 8'}
+    hasBin: true
+    dependencies:
+      isexe: 2.0.0
+    dev: true
+
+  /wrap-ansi@7.0.0:
+    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+    engines: {node: '>=10'}
+    dependencies:
+      ansi-styles: 4.3.0
+      string-width: 4.2.3
+      strip-ansi: 6.0.1
+    dev: true
+
+  /wrappy@1.0.2:
+    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+    dev: true
+
+  /xml-name-validator@4.0.0:
+    resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+    engines: {node: '>=12'}
+    dev: true
+
+  /y18n@5.0.8:
+    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+    engines: {node: '>=10'}
+    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
+
+  /yargs-parser@21.1.1:
+    resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+    engines: {node: '>=12'}
+    dev: true
+
+  /yargs@17.7.2:
+    resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+    engines: {node: '>=12'}
+    dependencies:
+      cliui: 8.0.1
+      escalade: 3.1.1
+      get-caller-file: 2.0.5
+      require-directory: 2.1.1
+      string-width: 4.2.3
+      y18n: 5.0.8
+      yargs-parser: 21.1.1
+    dev: true

+ 31 - 0
apps/mobile/postcss.config.js

@@ -0,0 +1,31 @@
+// 使用 @vue/cli autoprefixer 依赖,如使用严格包管理模式需要兼容处理
+const autoprefixer = require('autoprefixer')
+const pxtoviewport = require('@jonny1994/postcss-px-to-viewport')
+// const envBook = process.argv.includes('config/storybook')
+const envBook = false
+let plugins = []
+if (!envBook) {
+  plugins = [
+    autoprefixer,
+    pxtoviewport({
+      unitToConvert: 'px',
+      viewportWidth: 375,
+      unitPrecision: 3,
+      propList: [
+        '*'
+      ],
+      viewportUnit: 'vw',
+      fontViewportUnit: 'vw',
+      selectorBlackList: [],
+      minPixelValue: 1,
+      mediaQuery: false,
+      // 兼容 vant 需要去掉此处
+      // exclude: [/node_modules/],
+      replace: true
+    })
+  ]
+}
+
+module.exports = {
+  plugins
+}

BIN
apps/mobile/public/favicon.ico


+ 42 - 0
apps/mobile/scripts/updateGitInfo.js

@@ -0,0 +1,42 @@
+const { exec } = require('child_process');
+const fs = require('fs');
+
+const getGitBranch = () => {
+  return new Promise((resolve, reject) => {
+    exec('git symbolic-ref --quiet --short HEAD || git describe --all --exact-match HEAD', (error, stdout, stderr) => {
+      if (error) {
+        reject(error);
+      } else {
+        const branch = stdout.trim();
+        resolve(branch);
+      }
+    });
+  });
+};
+
+const extractVersion = (branch) => {
+  const versionRegex = /(v.*?)$/;
+  const matches = branch.match(versionRegex);
+  return matches ? matches[0] : '';
+};
+
+const updateEnvFile = (branch) => {
+  try {
+    const envFilePath = '.env.production';
+    const existingContent = fs.readFileSync(envFilePath, 'utf8');
+    const updatedBranch = extractVersion(branch);
+    const updatedContent = existingContent.replace(/(VITE_APP_GIT_BRANCH=).*/, `$1'${updatedBranch}'`);
+    fs.writeFileSync(envFilePath, updatedContent);
+    console.log('Git 分支信息已更新到 .env.production 文件', branch, updatedBranch);
+  } catch (error) {
+    console.error('更新 .env.production 文件失败:', error);
+  }
+};
+
+getGitBranch()
+  .then((branch) => {
+    updateEnvFile(branch);
+  })
+  .catch((error) => {
+    console.error('获取 Git 分支失败:', error);
+  });

+ 100 - 0
apps/mobile/src/App.vue

@@ -0,0 +1,100 @@
+<template>
+  <layout class="no-select">
+    <template v-slot:default>
+      <!-- <transition :name="transitionName"> -->
+        <keep-alive :include="keepAliveList" :max="10">
+          <router-view class="router j-container" :class="env.platform" />
+        </keep-alive>
+      <!-- </transition> -->
+    </template>
+  </layout>
+</template>
+<script>
+import layout from '@/components/common/layout.vue'
+import { fixH5BackRefresh } from '@/utils/'
+
+export default {
+  name: 'App',
+  components: {
+    layout
+  },
+  data () {
+    return {
+      env: this.$env
+    }
+  },
+  computed: {
+    transitionName () {
+      return this.$store.state.direction
+    },
+    keepAliveList () {
+      return this.$store.state.keepAliveList
+    }
+  },
+  created () {
+    this.initKeepAlive()
+    this.$router.beforeResolve((to, from, next) => {
+      if (to.name) {
+        this.removeLoading()
+      }
+      next()
+    })
+  },
+  mounted () {
+    this.addHTMLClass()
+    this.bindEventsForH5()
+    this.bindEventsForApp()
+  },
+  methods: {
+    removeLoading () {
+      document.body.classList.remove('app-loading')
+    },
+    addHTMLClass () {
+      if (this.$envs.inH5) {
+        // 修复h5下浏览器滑动高度变化,导致页面元素显示不全的问题
+        document.querySelector('html').classList.add('h5-html')
+      }
+    },
+    bindEventsForH5 () {
+      if (this.$envs.inH5) {
+        fixH5BackRefresh()
+      }
+    },
+    bindEventsForApp () {
+      if (this.$envs.inApp) {
+        window.afterClickBack = this.noop
+      }
+    },
+    checkKeepAlive (route) {
+      if (route?.meta?.keepAlive) {
+        this.$store.commit('keepAlive', route.name)
+      }
+      if (route?.children) {
+        route.children.forEach(this.checkKeepAlive)
+      }
+    },
+    initKeepAlive () {
+      const { routes = [] } = this.$router.options
+      routes.forEach(this.checkKeepAlive)
+    }
+  }
+}
+</script>
+<style lang="scss">
+#app {
+  font-family: -apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,WenQuanYi Micro Hei,sans-serif;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  color: #171826;
+  width: 100%;
+  height: 100%;
+  position: relative;
+}
+.router {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+</style>

+ 5 - 0
apps/mobile/src/api/index.js

@@ -0,0 +1,5 @@
+import service from './service'
+import './interceptors-anti'
+import './interceptors'
+
+export default service

+ 5 - 0
apps/mobile/src/api/interceptors-anti.js

@@ -0,0 +1,5 @@
+import service from './service'
+import { registerAntiInterceptors } from '@jy/vue-anti'
+
+registerAntiInterceptors(service)
+export default service

+ 65 - 0
apps/mobile/src/api/interceptors.js

@@ -0,0 +1,65 @@
+import service from './service'
+import { Toast } from 'vant'
+import { iOSVersionLt14 } from '@/utils'
+
+const debug = import.meta.env.DEV
+// ios13以及ios13以下版本,会被缓存Post请求。此处判断添加时间戳
+const needAppendTime = iOSVersionLt14()
+
+if (debug) {
+  console.log('[debug]当前环境:', import.meta.env.MODE)
+}
+
+service.interceptors.request.use(config => {
+  if (config?.formData) {
+    config.headers.content = 'multipart/form-data'
+  }
+  if (config?.data?.noToast) {
+    delete config?.data.noToast
+    config.noToast = true
+  }
+  // 添加时间戳禁用缓存
+  const isBeforeApi = config.url.indexOf('/jyapi/') !== -1
+  if (needAppendTime && !isBeforeApi) {
+    if (!config.params) {
+      config.params = {}
+    }
+    config.params.t = Date.now()
+  }
+
+  return config
+}, error => {
+  if (debug) {
+    console.log('[debug]请求错误:', error)
+  }
+  return Promise.reject(error)
+})
+
+service.interceptors.response.use(
+  response => {
+    const res = response.data
+    if (response.status === 200) {
+      // 发送请求时配置 noToast 则不弹出 toast 提示
+      if (res && !response.config.noToast) {
+        // 判断是否需要登录
+        if (res.error_msg === '需要登录' || response.data.error_code === 1001) {
+          Toast('需要登录')
+        } else if (res.error_msg) {
+          Toast(res.error_msg)
+        }
+      }
+    } else {
+      console.warn(res)
+      return Promise.reject(new Error('Error'))
+    }
+    return res
+  },
+  error => {
+    if (debug) {
+      console.log('[debug]返回数据错误:', error)
+    }
+    return Promise.reject(error)
+  }
+)
+
+export default service

+ 0 - 0
apps/mobile/src/api/modules/app.js


+ 10 - 0
apps/mobile/src/api/modules/authen.js

@@ -0,0 +1,10 @@
+import request from '@/api'
+
+// 机构查看-初始化
+export function getMyEntInfo (data) {
+  return request({
+    url: '/userCenter/ent/info',
+    method: 'post',
+    data
+  })
+}

+ 18 - 0
apps/mobile/src/api/modules/bi.js

@@ -0,0 +1,18 @@
+import request from '@/api'
+
+// 获取已添加的信息id数组
+export function ajaxGetInfoIds () {
+  return request({
+    url: '/jyapi/biService/getInfoId',
+    method: 'post'
+  })
+}
+
+// 添加信息
+export function ajaxSetInfoId (data) {
+  return request({
+    url: '/jyapi/biService/addProject',
+    method: 'post',
+    data
+  })
+}

+ 103 - 0
apps/mobile/src/api/modules/bigmember.js

@@ -0,0 +1,103 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ * 获取用户信息
+ */
+export function ajaxUserPower (config = {}) {
+  return request(Object.assign({
+    url: '/bigmember/use/isAdd',
+    noToast: true,
+    method: 'post'
+  }, config))
+}
+
+/**
+ * 获取用户大会员订阅信息
+ */
+export function getUserSubscribeInfo () {
+  return request({
+    url: '/bigmember/use/info',
+    method: 'post'
+  })
+}
+
+/**
+ * 根据输入词获取采购单位名称,用于模糊搜索
+ */
+export function ajaxGetBuyerAssociation (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/bigmember/search/buyer/association',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 根据输入词获取企业名称,用于模糊搜索
+ */
+export function ajaxGetCompanyAssociation (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/bigmember/search/ent/association',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 附件下载,发送到邮箱
+ */
+export function attachmentSendToEmail (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/bigmember/attachment/email',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 一键订阅、暂不订阅
+ */
+export function freeUserSubscribeSearch (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/bigmember/subscribe/freeUser/subscribeSearch',
+    method: 'post',
+    data
+  })
+}
+
+// 免费用户是否弹出一键订阅弹框查询
+export function freeUserNeedOneKeySubscribe () {
+  return request({
+    url: '/bigmember/subscribe/freeUser/searchSubscribe',
+    method: 'get',
+    params: {
+      t: Date.now()
+    }
+  })
+}
+
+/**
+ * 采购单位关注、认领(大会员)
+ */
+export function bigmemberFollowAndClaim (data) {
+  return request({
+    url: '/publicapply/customer/attention',
+    method: 'post',
+    data
+  })
+}
+
+// 获取项目详情
+export function projectDetailApi (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/bigmember/follow/project/detail',
+    method: 'post',
+    data
+  })
+}

+ 35 - 0
apps/mobile/src/api/modules/coupon.js

@@ -0,0 +1,35 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 查看有无赠品活动
+export function getGiftList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyCoupon/giveInfo',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 查询当前价格产品可以使用的优惠券、自动领券
+export function showCoupons (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyCoupon/showCoupons',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 获取用户所有奖券信息
+export function getCouponsInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyCoupon/getInfoByUser',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}

+ 12 - 0
apps/mobile/src/api/modules/course.js

@@ -0,0 +1,12 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 查询课程详情数据
+export function getCourseDetail (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/OnlineCourses/course/curriculumDetails',
+    method: 'post',
+    data
+  })
+}

+ 19 - 0
apps/mobile/src/api/modules/dataSmt.js

@@ -0,0 +1,19 @@
+import request from '@/api'
+
+// 获取数据超市列表信息
+export function getDataSmtList (data) {
+  return request({
+    url: '/jyapi/publicService/List',
+    method: 'post',
+    data
+  })
+}
+
+// 获取数据超市--产品详情页
+export function getDataSmtDetail (data) {
+  return request({
+    url: '/jyapi/publicService/Detail',
+    method: 'post',
+    data
+  })
+}

+ 30 - 0
apps/mobile/src/api/modules/dataexport.js

@@ -0,0 +1,30 @@
+import request from '@/api'
+import qs from 'qs'
+import { envs } from '@/utils/prototype/modules/platform'
+
+// 标讯搜索数据导出逻辑
+export function searchIndexDataExport (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/wx_dataExport/searchExport' : '/jyapp/front/dataExport/searchExport',
+    method: 'post',
+    data
+  })
+}
+export function setDontPromptAgain (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/dataExport/setDontPromptAgain' : '/jyapp/front/dataExport/setDontPromptAgain',
+    method: 'post',
+    data
+  })
+}
+export function getDontPromptAgain (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/dataExport/getDontPromptAgain' : '/jyapp/front/dataExport/getDontPromptAgain',
+    method: 'post',
+    data
+  })
+}
+

+ 40 - 0
apps/mobile/src/api/modules/datareport.js

@@ -0,0 +1,40 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 查询数据报告详情
+export function getReportDetail (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/datareport/api/getDetail',
+    method: 'post',
+    data
+  })
+}
+
+// 查询用户是否已经填写过邮箱或者手机号
+export function getReportUserMsg () {
+  return request({
+    url: '/datareport/api/userMsg',
+    method: 'get'
+  })
+}
+
+// 发送邮箱验证码
+export function sEmailCode (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/datareport/api/sendEmailCode',
+    method: 'post',
+    data
+  })
+}
+
+// 校验邮箱验证码
+export function cEmailCode (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/datareport/api/checkEmailCode',
+    method: 'post',
+    data
+  })
+}

+ 30 - 0
apps/mobile/src/api/modules/ent.js

@@ -0,0 +1,30 @@
+import request from '@/api'
+// import qs from 'qs'
+// 获取企业列表
+export function getEntList (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/publicapply/identity/list',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+// 获取公司架构信息
+export function getEntDataInfo (data) {
+  return request({
+    url: '/jyapi/social/entAddressBook',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+// 获取自己企业下名称
+export function ajaxGetUserInfo (data) {
+  return request({
+    url: '/jyapi/userCenter/ent/userInfo',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}

+ 54 - 0
apps/mobile/src/api/modules/entbase.js

@@ -0,0 +1,54 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ * 根据 entId 获取 企业信息
+ */
+export function getEntInfo (data) {
+  return request({
+    url: '/entbase/ent/info',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 查询用户当前企业信息
+ * https://showdoc.jydev.jianyu360.com/web/#/16?page_id=289
+ */
+export function getMySelectEntInfo () {
+  return request({
+    url: '/entbase/ent/entinfo',
+    noToast: true,
+    method: 'post'
+  })
+}
+
+export function selectEnt () {
+  return request({
+    url: '/entbase/ent/mySelectent',
+    method: 'get',
+    params: {
+      t: Date.now()
+    }
+  })
+}
+
+/**
+ * 查询部门下的人员信息
+ */
+export function getDeptPerson (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/entbase/person/manager',
+    method: 'post',
+    data
+  })
+}
+// 根据当前权限获取部门人员数据
+export function getMypersondept (data) {
+  return request({
+    url: '/entbase/person/dept',
+    method: 'get',
+    params: data
+  })
+}

+ 85 - 0
apps/mobile/src/api/modules/entnicheNew.js

@@ -0,0 +1,85 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ * 获取用户商机管理权限状态数据
+ */
+export function ajaxUserEntPower () {
+  return request({
+    url: '/entnicheNew/buy/whetherbuy',
+    method: 'post'
+  })
+}
+
+/**
+ * 获取用户收藏标签
+ */
+export function ajaxGetUserKeepLabel () {
+  return request({
+    url: '/entnicheNew/customer/getLabel',
+    method: 'post'
+  })
+}
+/**
+ * 添加用户收藏标签
+ */
+export function ajaxSetUserKeepLabel (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/bidcoll/addLabel',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 采购单位关注、认领
+ */
+export function ajaxFollowAndClaim (data) {
+  return request({
+    url: '/entnicheNew/customer/attention',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 历史客户列表
+ */
+export function ajaxHistoryCustomer (data) {
+  return request({
+    url: '/entnicheNew/customer/history',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 获取业务范围(关键词)
+ */
+export function ajaxBusinessScope (data) {
+  return request({
+    url: '/entnicheNew/subscribe/key/get',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 商机管理认领用户-添加自定义标签
+ */
+export function ajaxEntNicheKeepLabel (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/entnicheNew/customer/addLabel',
+    method: 'post',
+    data
+  })
+}
+/**
+ * 商机管理-查看已认领的客户列表
+ */
+export function ajaxClaimCustomerList (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/entnicheNew/customer/claimcheck',
+    method: 'post',
+    data
+  })
+}

+ 20 - 0
apps/mobile/src/api/modules/equitycode.js

@@ -0,0 +1,20 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 权益码兑换
+export function equityexchange (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/equityCode/exchange',
+    method: 'post',
+    data
+  })
+}
+// 权益码兑换列表
+export function equitylist (data) {
+  return request({
+    url: '/jypay/equityCode/list',
+    method: 'post',
+    data
+  })
+}

+ 34 - 0
apps/mobile/src/api/modules/front.js

@@ -0,0 +1,34 @@
+import request from '@/api'
+import qs from 'qs'
+import { envs } from '@/utils/prototype/modules/platform'
+
+// 发送邮箱验证码
+export function sendMailCode (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/dataExport/sendMailVerify' : '/jyapp/front/dataExport/sendMailVerify',
+    method: 'POST',
+    data
+  })
+}
+
+// 验证邮箱验证码
+export function checkMailCode (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/dataExport/checkMailVerify' : '/jyapp/front/dataExport/checkMailVerify',
+    method: 'POST',
+    data
+  })
+}
+
+// 数据导出预览数据
+export function getPreview (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/front/wx_dataExport/getPreview' : '/jyapp/front/dataExport/getPreview',
+    method: 'POST',
+    noToast: true,
+    data
+  })
+}

+ 26 - 0
apps/mobile/src/api/modules/index.js

@@ -0,0 +1,26 @@
+export * from './pay'
+export * from './user'
+export * from './coupon'
+export * from './public'
+export * from './front'
+export * from './course'
+export * from './datareport'
+export * from './bigmember'
+export * from './app'
+export * from './entnicheNew'
+export * from './entbase'
+export * from './keep'
+export * from './dataexport'
+export * from './search'
+export * from './subscribe'
+export * from './marketing'
+export * from './bi'
+export * from './mine'
+export * from './message'
+export * from './order'
+export * from './jyMerge'
+export * from './project'
+export * from './ent'
+export * from './dataSmt'
+export * from './jyPoints'
+export * from './invoice'

+ 20 - 0
apps/mobile/src/api/modules/invoice.js

@@ -0,0 +1,20 @@
+import request from '@/api'
+import qs from 'qs'
+
+export function ajaxInvoiceQuery(data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/invoice/query',
+    method: 'post',
+    data
+  })
+}
+export function ajaxInvoiceSubmit(data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/invoice/submit',
+    method: 'post',
+    data
+  })
+}
+

+ 9 - 0
apps/mobile/src/api/modules/jyMerge.js

@@ -0,0 +1,9 @@
+import request from '@/api'
+
+// 获取账号合并信息
+export function getMergeInfo () {
+  return request({
+    url: '/jyMerge/usermerge/state?t=' + Date.now(),
+    method: 'post'
+  })
+}

+ 72 - 0
apps/mobile/src/api/modules/jyPoints.js

@@ -0,0 +1,72 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 兑换剑鱼文库热门榜
+export function getDocHotList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jydocs/activityList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取剑鱼币明细、签到信息、积分汇总信息等
+ * api地址https://showdoc.jydev.jianyu360.com/web/#/34?page_id=630
+ * @param data
+ * @returns {*}
+ */
+export function getPointsInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyintegral/getList',
+    method: 'post',
+    data
+  })
+}
+
+// 附件下载-文件兑换、购买明细
+export function fileExchangeDetail (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/resourcePack/exchangeCancelList',
+    method: 'post',
+    data
+  })
+}
+
+// 积分查询
+export function getProductPoints (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyintegral/productPoints/introduction',
+    method: 'post',
+    data
+  })
+}
+// 附件下载-积分兑换产品
+export function exchangePointsProduct (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyintegral/exchange',
+    method: 'post',
+    data
+  })
+}
+// 获取剑鱼币任务
+export function getPointTask () {
+  return request({
+    url: '/jyActivity/task',
+    method: 'post'
+  })
+}
+// 确认挑战
+export function confirmChallenge (data) {
+  return request({
+    url: '/jyActivity/confirmChallenge',
+    method: 'post',
+    data
+  })
+}
+

+ 19 - 0
apps/mobile/src/api/modules/jyinfo.js

@@ -0,0 +1,19 @@
+import request from '@/api'
+
+// 供应信息详情
+export function supplyInfoDetail (data) {
+  return request({
+    url: '/jyinfo/supplyInfoDetail',
+    method: 'post',
+    data
+  })
+}
+
+// 供应信息详情
+export function ajaxGetSupplySearch (data) {
+  return request({
+    url: '/jyinfo/supplySearch',
+    method: 'post',
+    data
+  })
+}

+ 46 - 0
apps/mobile/src/api/modules/keep.js

@@ -0,0 +1,46 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ * 获取用户标讯收藏自定义标签
+ */
+export function ajaxGetKeepLabels () {
+  return request({
+    url: '/publicapply/bidcoll/getLabel',
+    method: 'post'
+  })
+}
+
+/**
+ * 用户收藏标讯
+ */
+export function ajaxSetUserKeep (data) {
+  return request({
+    url: '/publicapply/bidcoll/action',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 收藏标讯后添加标签
+ */
+export function ajaxSetDiyLabel (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/bidcoll/addLabel',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 收藏标讯后添加标签
+ */
+export function ajaxSetUserKeepLabels (data) {
+  return request({
+    url: '/publicapply/bidcoll/label',
+    method: 'post',
+    data
+  })
+}

+ 22 - 0
apps/mobile/src/api/modules/leadGeneration.js

@@ -0,0 +1,22 @@
+import request from '@/api'
+import qs from 'qs'
+
+// 定制化分析报告&超前项目
+export function leadGetDate (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/leadGeneration/getDate',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 定制化分析报告&超前项目 点击事件统计
+export function ajaxSetLeadGetDateRecord (data) {
+  return request({
+    url: '/leadGeneration/clickRecord',
+    method: 'get',
+    params: data
+  })
+}

+ 40 - 0
apps/mobile/src/api/modules/marketing.js

@@ -0,0 +1,40 @@
+import request from '@/api'
+/**
+ * 轻量化营销服务
+ */
+
+// 获取服务端当前时间戳
+export function getServerInitTime () {
+  return request({
+    url: '/jyapi/marketing/time/now?t=' + Date.now(),
+    noToast: true,
+    method: 'post'
+  })
+}
+
+// 预约
+export function appointmentAdd (data) {
+  return request({
+    url: '/jyapi/marketing/appointment/add',
+    method: 'post',
+    data
+  })
+}
+
+// 是否已预约
+export function getIsAppointment (data) {
+  return request({
+    url: '/jyapi/marketing/appointment/isAppointment',
+    method: 'post',
+    data
+  })
+}
+
+// 获取当前活动信息
+export function getActivityInfo (data) {
+  return request({
+    url: '/jyapi/marketing/activity/activityInfo',
+    method: 'post',
+    data
+  })
+}

+ 213 - 0
apps/mobile/src/api/modules/message.js

@@ -0,0 +1,213 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ * 获取用户消息列表,用于首页展示
+ */
+export function ajaxGetMessageCardList () {
+  return request({
+    url: '/jymessageCenter/latestNews',
+    method: 'post'
+  })
+}
+
+/**
+ * 获取用户消息未读列表条数
+ */
+export function ajaxGetMessageCount () {
+  return request({
+    url: '/jymessageCenter/getCount',
+    method: 'get',
+    noToast: true
+  })
+}
+
+/**
+ * 修改用户消息阅读状态
+ */
+export function ajaxSetMessageStatus (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/markRead',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 消息列表
+ */
+export function ajaxGetMessageList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/classAndNew',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取私信
+ */
+export function ajaxGetPrivateLetter (data) {
+  return request({
+    url: '/jyapi/message/messageCount',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+/**
+ * 获取置顶消息
+ */
+export function ajaxGetLastMessage (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/lastMessage',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 消息点击
+ */
+export function ajaxClickMessage (data) {
+  return request({
+    url: '/jymessageCenter/clickMessage',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 私信
+ */
+export function ajaxMsgUserList (data) {
+  return request({
+    url: '/jyapi/message/userList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 消息详情列表
+ */
+export function ajaxMsgDetailList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/messageList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 设置已读
+ */
+export function ajaxSetReadStatus (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/setReadStatus',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * appClick
+ */
+export function ajaxAppClickMessage (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jymessageCenter/appClickMessage',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取消息列表
+ */
+export function ajaxMessageList (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/MessageList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 首页、工作桌面未读消息、未读消息数量
+ */
+export function ajaxUnreadMessages (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/unreadMessages',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 一键清空未读消息
+ */
+export function ajaxClearUnreadMsg (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/ClearUnreadMsg',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取消息分类
+ */
+export function ajaxGetMsgType (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/getMsgType',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 点击查看消息消息状态修改成已读
+ */
+export function ajaxMarkRead (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/markRead',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 查看消息详情
+ */
+export function ajaxMessageDetail (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/messageDetail',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 消息查看记录
+ */
+export function ajaxMessageOpenLog (data) {
+  // data = qs.stringify(data)
+  return request({
+    url: '/jyapi/messageCenter/msgOpenLog',
+    method: 'post',
+    data
+  })
+}

+ 125 - 0
apps/mobile/src/api/modules/mine.js

@@ -0,0 +1,125 @@
+import request from '@/api'
+import qs from 'qs'
+
+/**
+ *获取需要合并的账户信息
+ * @returns {AxiosPromise}
+ */
+export function getAccountMergeInfo () {
+  return request({
+    url: '/jyMerge/userMsg/query',
+    method: 'get'
+  })
+}
+
+/**
+ * 获取需要积分信息
+ * @returns {AxiosPromise}
+ */
+export function getPointsInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyintegral/getList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取是否需要展示搬家提醒等
+ * @returns {AxiosPromise}
+ */
+export function ajaxGetTipInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/userbase/tipInfo',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 更新积分和签到天数
+ * @returns {AxiosPromise}
+ */
+export function updatePoints (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jyintegral/toUpdate',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 用户是否需要搬家提醒
+ * @returns {AxiosPromise}
+ */
+export function getMoveDialog (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/userbase/tipInfo',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取身份列表
+ * @returns {AxiosPromise}
+ */
+export function getUserIdentity () {
+  return request({
+    url: '/publicapply/identity/list?t=' + Date.now(),
+    method: 'post'
+  })
+}
+
+/**
+ * 切换当前用户身份
+ * @returns {AxiosPromise}
+ */
+export function changeUserIdentity (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/identity/switch',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 是否是剑鱼伙伴??
+ * @returns {AxiosPromise}
+ */
+export function distributionIsPartner () {
+  return request({
+    url: '/distribution/partner/isPartner',
+    method: 'post'
+  })
+}
+
+/**
+ * 获取用户公司信息
+ * @returns {AxiosPromise}
+ */
+export function getMineCompany () {
+  return request({
+    url: '/publicapply/identity/maintenance/detail',
+    method: 'post'
+  })
+}
+
+
+/**
+ * 编辑用户公司信息
+ * @returns {AxiosPromise}
+ */
+export function editMineCompany (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/identity/maintenance/edit',
+    method: 'post',
+    data
+  })
+}

+ 37 - 0
apps/mobile/src/api/modules/order.js

@@ -0,0 +1,37 @@
+// 用户认证信息保存
+import request from '@/api'
+
+// 根据商品ID、扩展等参数获取商品规格信息
+export function ajaxGetProductInfo (data) {
+  return request({
+    url: '/jypay/commodity/detail',
+    method: 'post',
+    data
+  })
+}
+
+// 根据商品ID、规格等参数获取商品优惠信息
+export function ajaxGetProductOffers (data) {
+  return request({
+    url: '/jypay/commodity/couponInfo',
+    method: 'post',
+    data
+  })
+}
+
+// 根据商品ID、规格、优惠等参数获取商品订单金额信息
+export function ajaxGetProductOrderAmount (data) {
+  return request({
+    url: '/jypay/commodity/price',
+    method: 'post',
+    data
+  })
+}
+// 根据商品ID、规格、优惠等参数获取商品订单金额信息
+export function ajaxSubmitCreatedProductOrder (data) {
+  return request({
+    url: '/jypay/common/createorder',
+    method: 'post',
+    data
+  })
+}

+ 256 - 0
apps/mobile/src/api/modules/pay.js

@@ -0,0 +1,256 @@
+import request from '@/api'
+import qs from 'qs'
+export function screenList () {
+  return request({
+    url: '/subscribepay/dataExportPack/screenList',
+    method: 'get'
+  })
+}
+
+export function screenDelete (data) {
+  return request({
+    url: '/subscribepay/dataExportPack/screenDelete',
+    method: 'POST',
+    data
+  })
+}
+// 获取超级订阅价格表
+export function getSVIPGoodsPrice () {
+  return request({
+    url: '/subscribepay/vipsubscribe/getPrice',
+    method: 'POST'
+  })
+}
+
+// 获取超级订阅价格
+export function getSVIPSelectPrice (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/vipsubscribe/getSelectPrice',
+    method: 'POST',
+    data
+  })
+}
+
+// 获取用户超级订阅购买信息
+export function getSVIPBuyInfo () {
+  return request({
+    url: '/subscribepay/vipsubscribe/getSubBuyMsg',
+    method: 'POST'
+  })
+}
+
+export function getDataExportPrice () {
+  return request({
+    url: '/jypay/dataexport/getPrice',
+    method: 'post'
+  })
+}
+
+// 获取用户手机号邮箱等信息
+export function getAccountInfo () {
+  return request({
+    url: '/jypay/user/getAccountInfo',
+    method: 'post',
+    timeout: 5000
+  })
+}
+
+// 获取用户手机号邮箱等信息
+export function getUserID () {
+  return request({
+    url: '/jypay/user/getSimpleData',
+    noToast: true,
+    method: 'post'
+  })
+}
+
+// 获取省份订阅包价格信息
+export function getAreaPackGoodsPrice () {
+  return request({
+    url: '/jypay/areaPack/price',
+    method: 'post'
+  })
+}
+
+// 获取数据流量包价格信息
+export function getDataPackGoodsPrice () {
+  return request({
+    url: '/subscribepay/dataExportPack/goodsList',
+    method: 'post'
+  })
+}
+
+// 获取资源包价格信息
+export function getSourcePackGoodsPrice (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/resourcePack/price',
+    method: 'post',
+    data
+  })
+}
+
+// 获取大会员价格信息
+export function getBigMemberGoodsPrice (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/bigmember/price',
+    method: 'post',
+    data
+  })
+}
+
+// 获取数据流量包剩余信息
+export function getDataPackUsage () {
+  return request({
+    url: '/subscribepay/dataExportPack/account',
+    method: 'post'
+  })
+}
+
+// 获取数据导出筛选条数
+export function getDataExportFilterInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/dataExportPack/statistics',
+    method: 'post',
+    data
+  })
+}
+
+// 创建订单接口
+export function createOrderApi (data) {
+  return request({
+    url: '/jypay/common/createorder',
+    method: 'POST',
+    data
+  })
+}
+
+// 数据流量包扣除
+// https://showdoc.jydev.jianyu360.com/web/#/49?page_id=743
+export function packPayApi (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/dataExportPack/packPay',
+    method: 'POST',
+    data
+  })
+}
+
+/**
+ * 附件下载资源包扣除
+ */
+export function getConsumePack (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/resourcePack/consumePack',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 查询周报月报未读条数以及是否需要弹窗提示
+ */
+export function checkDataReportTip (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/report/tip',
+    method: 'POST',
+    data,
+    params: {
+      t: Date.now()
+    }
+  })
+}
+
+/**
+ * 查询是否有周报月报数据
+ */
+export function checkHasReportData (params) {
+  return request({
+    url: '/subscribepay/report/starttime',
+    method: 'POST',
+    params
+  })
+}
+
+/**
+ * 查询是否有周报月报弹窗关闭前请求
+ */
+export function dataReportTipClose (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/report/tipover',
+    method: 'POST',
+    data,
+    params: {
+      t: Date.now()
+    }
+  })
+}
+
+/**
+ * 微信js-sdk注册
+ */
+export function getWxSdkSign (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/wx/getwxSdkSign',
+    method: 'post',
+    noToast: 1,
+    data
+  })
+}
+
+/**
+ * 获取商品详情信息(超级订阅、数据流量包)
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function getCommodityDetail (data) {
+  return request({
+    url: '/jypay/commodity/detail',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 实时计算当前下单价格
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function getOrderPrice (data) {
+  return request({
+    url: '/jypay/commodity/price',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取当前规格产品下的活动以及优惠信息
+ * @param data
+ * @returns {AxiosPromise}
+ */
+export function getCommodityCouponInfo (data) {
+  return request({
+    url: '/jypay/commodity/couponInfo',
+    method: 'post',
+    data
+  })
+}
+
+// 超级订阅购买获取续费周期
+// https://yapi.jydev.jianyu360.com/project/63/interface/api/1911
+export function getEffectiveTime (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/subscribepay/vipsubscribe/effectiveTime',
+    method: 'post',
+    data
+  })
+}

+ 87 - 0
apps/mobile/src/api/modules/project.js

@@ -0,0 +1,87 @@
+import request from '@/api'
+
+export function participateRecords (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/records',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取企业人员接口,扁平2级,不是递归层级
+ * @param {*} data: { ProjectId: '' } 非必须
+ * @returns
+ */
+export function getEntPersonsForParticipate (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/persons',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 参标列表(个人和企业)
+ * @param action 我的:mine;企业:ent
+ * @param data
+ * @returns {*}
+ */
+export function getParticipateList (action = 'mine', data) {
+  return request({
+    url: `/jyapi/jybx/core/participate/${action}/list`,
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 用户参标、终止参标及划转接口
+ * @param action
+ * in:参标-当前用户参标
+ * out:终止参标-1、员工终止当前自己对此项目参标的状态;2:部门管理员终止当前部门下对此项目参标的状态;3:企业管理员终止当前企业下对此项目的参标状态
+ * transfer:划转-1、部门管理员当前部门下参标此项目的对象;2、企业管理员企业下~~~~
+ * @param data
+ * @returns {*}
+ */
+export function projectParticipate (action = 'in', data) {
+  return request({
+    url: `/jyapi/jybx/core/participate/${action}/info`,
+    method: 'post',
+    data
+  })
+}
+
+// (管理员)基础管理-设置企业基本配置
+export function setEntBaseConfig (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/setUpInfo',
+    method: 'post',
+    data
+  })
+}
+// 订阅推送列表参标统计
+export function pushStatistics (data) {
+  return request({
+    url: '/jyapi/jybx/core/statistics/pushStatistics',
+    method: 'post',
+    data
+  })
+}
+// 参标项目汇总统计
+export function projectStatistics (data) {
+  return request({
+    url: '/jyapi/jybx/core/statistics/projectStatistics',
+    method: 'post',
+    data
+  })
+}
+
+// 参标项目明细统计
+export function projectDetailStatistics (data) {
+  return request({
+    url: '/jyapi/jybx/core/statistics/projectDetails',
+    method: 'post',
+    data
+  })
+}

+ 269 - 0
apps/mobile/src/api/modules/public.js

@@ -0,0 +1,269 @@
+import request from '@/api'
+import qs from 'qs'
+
+export function userVipSwitchState (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/subscribe/vipSwitch',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 获取免费订阅信息
+export function getFreeSubscribeInfo () {
+  return request({
+    url: '/publicapply/free/subscribe',
+    method: 'post'
+  })
+}
+
+// 获取数据导出信息
+export function getDataExportInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/dataexport/payPageParams',
+    method: 'post',
+    data
+  })
+}
+
+// 广告获取
+export function ajaxGetAD (data) {
+  return request({
+    url: '/publicapply/free/getJyAdList',
+    method: 'post',
+    data
+  })
+}
+
+// 新用户广告获取
+export function ajaxGetNewUserAD (data) {
+  return request({
+    url: '/publicapply/free/newUserGroup/getDialog',
+    method: 'get',
+    params: data
+  })
+}
+
+// 新用户广告已读上报接口 只显示一次
+export function ajaxSetNewUserADRead (data) {
+  return request({
+    url: '/publicapply/free/newUserGroup/readDialog',
+    method: 'get',
+    params: data
+  })
+}
+
+/**
+ * 获取最新标讯,用于首页展示
+ * @param data
+ * @returns {*}
+ */
+export function ajaxGetIndexList (data) {
+  return request({
+    url: '/jyapi/jybx/base/newest',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取参标状态
+ * @param data
+ * @returns {*}
+ */
+export function ajaxCanBiaoStatus (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/show',
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+/**
+ * 参标--终止参标
+ * @param data
+ * action:
+ *  in:参标-当前用户参标
+ *  out:终止参标-1、员工终止当前自己对此项目参标的状态;2:部门管理员终止当前部门下对此项目参标的状态;3:企业管理员终止当前企业下对此项目的参标状态
+ *  transfer:划转-1、部门管理员当前部门下参标此项目的对象;2、企业管理员企业下~~~~
+ *  参标|终止参标:bidIds和projectIds 必传一个
+ * @returns {*}
+ */
+export function ajaxCanBiaoAction (action, data) {
+  return request({
+    url: `/jyapi/jybx/core/participate/${action}/info`,
+    method: 'post',
+    data
+  })
+}
+
+// 更新投标状态
+export function updateBidStatus (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/updateBidStatus',
+    method: 'post',
+    data
+  })
+}
+
+// 获取投标项目阶段选项
+export function setUpInfo (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/setUpInfo',
+    method: 'post',
+    data
+  })
+}
+
+// 获取参标信息内容
+export function getCanBiaoContent (data) {
+  return request({
+    url: '/jyapi/jybx/core/participate/content',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 企业搜索,用于企业搜索单元格列表
+ */
+export function getEntCellList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/enterpriseSearch/doQuery',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 添加订阅关键词
+ */
+export function setUserSubInfo (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/subscribe/setUserInfo',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 是否留资
+ */
+export function getLeaveInfoFlag (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/salesLeads/retainedCapital',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 是否留资
+ */
+export function setLeaveInfo (data) {
+  return request({
+    url: '/salesLeads/collectInfo',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取用户信息、获取用户是否是(老用户专享权限-搜索范围中的中标企业搜索权限)
+ */
+export function getBidColPower () {
+  return request({
+    url: '/publicapply/bidcoll/power',
+    method: 'post',
+    noToast: true
+  })
+}
+
+// 获取用户留资消息。
+export function ajaxGetIsNewUerSales (data) {
+  return request({
+    url: '/salesLeads/appIsNewUerSales',
+    method: 'post',
+    data
+  })
+}
+
+// 跳过 提交新用户留资。
+export function ajaxGetappNewUerSales (data) {
+  return request({
+    url: '/salesLeads/appNewUerSales',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 订阅页面省份订阅包提示
+ */
+export function getSubscribePageAreaPackTip () {
+  return request({
+    url: '/publicapply/free/areapack/tip',
+    method: 'post'
+  })
+}
+
+/**
+ * 订阅页面省份订阅包提示关闭
+ */
+export function setSubscribePageAreaPackTipClose () {
+  return request({
+    url: '/publicapply/free/areapack/update',
+    method: 'post'
+  })
+}
+
+/**
+ * 百度广告曝光接口
+ */
+export function adLeagueExposure (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/adLeague/exposure',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 百度广告点击接口
+ */
+export function adLeagueClick (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/adLeague/click',
+    method: 'post',
+    data
+  })
+}
+
+// 获取公司联想
+export function getCompanyAssociation (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jypay/user/company/association',
+    method: 'post',
+    data
+  })
+}
+
+// 获取活动配置信息
+export function getActivityConfig (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/publicapply/activity/day/info',
+    method: 'post',
+    data
+  })
+}

+ 134 - 0
apps/mobile/src/api/modules/search.js

@@ -0,0 +1,134 @@
+import request from '@/api'
+import { envs } from '@/utils/prototype/modules/platform'
+import qs from 'qs'
+
+// 删除/批量删除标讯搜索历史
+export function ajaxRemoveBiddingSearchHistory (data) {
+  return request({
+    url: envs.inWX ? '/swordfish/delWxHistorySearch' : '/jyapp/swordfish/delWxHistorySearch',
+    method: 'post',
+    data
+  })
+}
+
+// 标讯搜索
+export function getBiddingSearchList (data, type = 'fType') {
+  return request({
+    url: `/jyapi/jybx/core/${type}/searchList`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+// 标讯搜索
+export function getBiddingSearchListOfNoLogin (data) {
+  return request({
+    url: `/jyapi/jybx/core/nologin/search`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 获取已存筛选列表
+export function getBiddingFilterList () {
+  return request({
+    url: '/jyapi/jybx/base/showSearchScreen',
+    method: 'post',
+    noToast: true
+  })
+}
+
+// 删除/批量删除已存筛选
+export function deleteBiddingFilter (data) {
+  return request({
+    url: '/jyapi/jybx/base/delSearchScreen',
+    method: 'post',
+    data
+  })
+}
+
+// 检查已存筛选是否pass
+export function checkBiddingFilterPass (data) {
+  return request({
+    url: '/jyapi/jybx/base/checkSearchScreen',
+    method: 'post',
+    data
+  })
+}
+
+// 添加筛选条件
+export function addBiddingFilter (data) {
+  return request({
+    url: '/jyapi/jybx/base/addSearchScreen',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 查询用户标讯搜索历史词
+ * @returns Promise
+ */
+export function getBiddingSearchHistory () {
+  return request({
+    url: envs.inWX ? '/jylab/mainSearch/getHK' : '/jyapp/jylab/mainSearch/getHK',
+    method: 'post',
+    query: {
+      t: Date.now()
+    }
+  })
+}
+
+/**
+ * 商机管理 获取采购单位信息 为新增接口(相比老接口优化了聚合语句,附带了关注和认领状态查询结果
+ * fType:免费用户,pType:付费用户,vType:超级订阅用户,mType:大会员用户,eType:商机管理用户
+ */
+export function getManageBuyerList (data, userType = 'eType') {
+  return request({
+    url: `/jyapi/jybx/buyer/${userType}/buyerList`,
+    method: 'post',
+    data
+  })
+}
+
+/**
+ *  根据采购单位名称获取相关项目补充统计数据
+ * @param data{buyer}
+ * @returns {*}
+ */
+export function getBuyerSupplyInfo (data) {
+  return request({
+    url: '/jyapi/jybx/buyer/supply/info',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 获取中标企业名称联想
+ * @param data
+ * @returns {*}
+ */
+export function ajaxGetSearchWinnerNameList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jylab/entsesearch/recList',
+    method: 'post',
+    data
+  })
+}
+
+/**
+ * 根据筛选条件,获取中标企业搜索结果
+ * @param data
+ * @returns {*}
+ */
+export function ajaxGetSearchWinnerList (data) {
+  data = qs.stringify(data)
+  return request({
+    url: '/jylab/entsesearch/proList',
+    method: 'post',
+    data
+  })
+}

+ 115 - 0
apps/mobile/src/api/modules/subscribe.js

@@ -0,0 +1,115 @@
+import request from '@/api'
+import qs from 'qs'
+import { envs } from '@/utils/prototype/modules/platform'
+
+// 获取用户订阅信息
+// https://yapi.jydev.jianyu360.com/project/63/interface/api/191
+export function getUserSubscribeList (type = 'fType', data) {
+  // fType免费用户  vType超级订阅用户  mType大会员用户  eType商机管理用户
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/list`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 获取用户订阅信息其他额外的信息
+// https://yapi.jydev.jianyu360.com/project/63/interface/api/203
+export function getUserSubscribeSomeInfo (type = 'fType') {
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/someInfo`,
+    method: 'post',
+    noToast: true
+  })
+}
+
+// 获取用户订阅筛选关键词
+// 返回内容中,合并了企业订阅的关键词
+export function getUserSubscribeKeywords (type = 'fType', data) {
+  data = qs.stringify(data)
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/getKey`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 推送数据浏览状态修改
+export function setUserSubscribeListVisited (type = 'fType', data) {
+  data = qs.stringify(data)
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/setRead`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 免费用户设置订阅关键词
+export function freeSubscribeKeys (data) {
+  data = qs.stringify(data)
+  return request({
+    url: envs.inWX ? '/member/swordfish/ajaxReq' : '/jyapp/member/swordfish/ajaxReq',
+    method: 'post',
+    data
+  })
+}
+
+// 企业订阅接收人员获取
+export function getDistributorPerson (type = 'fType', data) {
+  // data = qs.stringify(data)
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/distributor`,
+    method: 'post',
+    noToast: true,
+    data
+  })
+}
+
+// 订阅页面数据导出接口
+export function getPushListDataExportId (type = 'fType', data) {
+  return request({
+    url: `/jyapi/jybx/subscribe/${type}/byPushHistory`,
+    method: 'post',
+    data
+  })
+}
+
+// 推送设置接口
+// 用户信息获取
+export function getUser (data) {
+  return request({
+    url: '/jyapi//jybx/subscribe/getUser',
+    method: 'post',
+    data
+  })
+}
+
+// 用户信息设置
+export function setUser (data) {
+  return request({
+    url: '/jyapi//jybx/subscribe/setUser',
+    method: 'post',
+    data
+  })
+}
+
+// 推送设置获取
+export function getPushSet (data) {
+  return request({
+    url: '/jyapi/jybx/subscribe/getPushSet',
+    method: 'post',
+    data
+  })
+}
+
+// 推送设置修改
+export function setPushSet (data) {
+  return request({
+    url: '/jyapi/jybx/subscribe/setPushSet',
+    method: 'post',
+    data
+  })
+}

+ 39 - 0
apps/mobile/src/api/modules/treasureBox.js

@@ -0,0 +1,39 @@
+import request from '@/api'
+
+/**
+ * 获取常用功能项
+ * @param {*} actionMode
+ * 常用功能更新(保存):commonlyRenew
+ * 常用功能列表:commonlyList
+ * 菜单模式更新:menuMode
+ * @returns
+ */
+const actionModeMap = {
+  save: 'commonlyRenew',
+  list: 'commonlyList',
+  mode: 'menuMode'
+}
+export function workspaceCommonUse (type, data) {
+  const actionMode = actionModeMap[type]
+  if (!actionMode) {
+    return console.warn('未知类型type')
+  }
+  return request({
+    url: `/userCenter/workDesktop/renew/${actionMode}`,
+    method: 'post',
+    data
+  })
+}
+
+/**
+ *获取所有功能项
+ * @param data{}
+ * @returns {AxiosPromise}
+ */
+export function getWorkspaceMenu (data) {
+  return request({
+    url: '/userCenter/workDesktop/menuInfo',
+    method: 'post',
+    data
+  })
+}

+ 9 - 0
apps/mobile/src/api/modules/user.js

@@ -0,0 +1,9 @@
+import request from '@/api'
+
+export function ajaxSetLogin (data) {
+  return request({
+    url: '/user/login',
+    method: 'post',
+    data
+  })
+}

+ 5 - 0
apps/mobile/src/api/service.js

@@ -0,0 +1,5 @@
+import axios from 'axios'
+
+export default axios.create({
+  baseURL: import.meta.env.VITE_APP_BASE_API
+})

+ 539 - 0
apps/mobile/src/assets/fonts/app/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

+ 4282 - 0
apps/mobile/src/assets/fonts/app/demo_index.html

@@ -0,0 +1,4282 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8"/>
+  <title>iconfont Demo</title>
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+  <link rel="stylesheet" href="demo.css">
+  <link rel="stylesheet" href="iconfont.css">
+  <script src="iconfont.js"></script>
+  <!-- jQuery -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+  <!-- 代码高亮 -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+  <style>
+    .main .logo {
+      margin-top: 0;
+      height: auto;
+    }
+
+    .main .logo a {
+      display: flex;
+      align-items: center;
+    }
+
+    .main .logo .sub-title {
+      margin-left: 0.5em;
+      font-size: 22px;
+      color: #fff;
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  </style>
+</head>
+<body>
+  <div class="main">
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
+      
+    </a></h1>
+    <div class="nav-tabs">
+      <ul id="tabs" class="dib-box">
+        <li class="dib active"><span>Unicode</span></li>
+        <li class="dib"><span>Font class</span></li>
+        <li class="dib"><span>Symbol</span></li>
+      </ul>
+      
+      <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=687854" target="_blank" class="nav-more">查看项目</a>
+      
+    </div>
+    <div class="tab-container">
+      <div class="content unicode" style="display: block;">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60a;</span>
+                <div class="name">监控</div>
+                <div class="code-name">&amp;#xe60a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe602;</span>
+                <div class="name">已监控</div>
+                <div class="code-name">&amp;#xe602;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe710;</span>
+                <div class="name">compress</div>
+                <div class="code-name">&amp;#xe710;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe70d;</span>
+                <div class="name">add</div>
+                <div class="code-name">&amp;#xe70d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe70e;</span>
+                <div class="name">yiqiandao</div>
+                <div class="code-name">&amp;#xe70e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe70f;</span>
+                <div class="name">reduce</div>
+                <div class="code-name">&amp;#xe70f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe709;</span>
+                <div class="name">workSpace</div>
+                <div class="code-name">&amp;#xe709;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe708;</span>
+                <div class="name">workSpace-1</div>
+                <div class="code-name">&amp;#xe708;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61e;</span>
+                <div class="name">清除</div>
+                <div class="code-name">&amp;#xe61e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe65f;</span>
+                <div class="name">更新</div>
+                <div class="code-name">&amp;#xe65f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe705;</span>
+                <div class="name">分享</div>
+                <div class="code-name">&amp;#xe705;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe706;</span>
+                <div class="name">人</div>
+                <div class="code-name">&amp;#xe706;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe703;</span>
+                <div class="name">canbiao</div>
+                <div class="code-name">&amp;#xe703;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe8c4;</span>
+                <div class="name">216更多-竖向</div>
+                <div class="code-name">&amp;#xe8c4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7d5;</span>
+                <div class="name">245差评-线性</div>
+                <div class="code-name">&amp;#xe7d5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xec7f;</span>
+                <div class="name">点赞</div>
+                <div class="code-name">&amp;#xec7f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe610;</span>
+                <div class="name">撤回</div>
+                <div class="code-name">&amp;#xe610;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xec7a;</span>
+                <div class="name">复制</div>
+                <div class="code-name">&amp;#xec7a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c9;</span>
+                <div class="name">YDUI-感叹号(实心)</div>
+                <div class="code-name">&amp;#xe6c9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6da;</span>
+                <div class="name">不满意</div>
+                <div class="code-name">&amp;#xe6da;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6db;</span>
+                <div class="name">满意</div>
+                <div class="code-name">&amp;#xe6db;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6dc;</span>
+                <div class="name">很满意</div>
+                <div class="code-name">&amp;#xe6dc;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6dd;</span>
+                <div class="name">很不满意</div>
+                <div class="code-name">&amp;#xe6dd;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e3;</span>
+                <div class="name">一般-灰</div>
+                <div class="code-name">&amp;#xe6e3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e4;</span>
+                <div class="name">不满意-彩</div>
+                <div class="code-name">&amp;#xe6e4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e5;</span>
+                <div class="name">一般-彩</div>
+                <div class="code-name">&amp;#xe6e5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e6;</span>
+                <div class="name">满意-彩</div>
+                <div class="code-name">&amp;#xe6e6;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e7;</span>
+                <div class="name">很满意-彩</div>
+                <div class="code-name">&amp;#xe6e7;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e8;</span>
+                <div class="name">很不满意-彩</div>
+                <div class="code-name">&amp;#xe6e8;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6de;</span>
+                <div class="name">nav_un_book</div>
+                <div class="code-name">&amp;#xe6de;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6df;</span>
+                <div class="name">nav_un_home</div>
+                <div class="code-name">&amp;#xe6df;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e0;</span>
+                <div class="name">nav_un_box</div>
+                <div class="code-name">&amp;#xe6e0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e1;</span>
+                <div class="name">nav_un_message</div>
+                <div class="code-name">&amp;#xe6e1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6e2;</span>
+                <div class="name">nav_un_mine</div>
+                <div class="code-name">&amp;#xe6e2;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6d9;</span>
+                <div class="name">save</div>
+                <div class="code-name">&amp;#xe6d9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c7;</span>
+                <div class="name">周报</div>
+                <div class="code-name">&amp;#xe6c7;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c8;</span>
+                <div class="name">月报</div>
+                <div class="code-name">&amp;#xe6c8;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c6;</span>
+                <div class="name">填写</div>
+                <div class="code-name">&amp;#xe6c6;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c4;</span>
+                <div class="name">add-01</div>
+                <div class="code-name">&amp;#xe6c4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c5;</span>
+                <div class="name">减号</div>
+                <div class="code-name">&amp;#xe6c5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c3;</span>
+                <div class="name">zhongbiaoyuce</div>
+                <div class="code-name">&amp;#xe6c3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c0;</span>
+                <div class="name">wenku_word</div>
+                <div class="code-name">&amp;#xe6c0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c1;</span>
+                <div class="name">wenku_pdf</div>
+                <div class="code-name">&amp;#xe6c1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6c2;</span>
+                <div class="name">wenku_ppt</div>
+                <div class="code-name">&amp;#xe6c2;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6ad;</span>
+                <div class="name">wenku_excel</div>
+                <div class="code-name">&amp;#xe6ad;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6ac;</span>
+                <div class="name">切换</div>
+                <div class="code-name">&amp;#xe6ac;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6be;</span>
+                <div class="name">文件夹</div>
+                <div class="code-name">&amp;#xe6be;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6bf;</span>
+                <div class="name">套餐</div>
+                <div class="code-name">&amp;#xe6bf;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6bd;</span>
+                <div class="name">签名</div>
+                <div class="code-name">&amp;#xe6bd;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6bc;</span>
+                <div class="name">xiangji</div>
+                <div class="code-name">&amp;#xe6bc;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6bb;</span>
+                <div class="name">撤回</div>
+                <div class="code-name">&amp;#xe6bb;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b7;</span>
+                <div class="name">wenjian_PDF</div>
+                <div class="code-name">&amp;#xe6b7;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b6;</span>
+                <div class="name">wenjian_pdf_1</div>
+                <div class="code-name">&amp;#xe6b6;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b8;</span>
+                <div class="name">wenjian_无法识别</div>
+                <div class="code-name">&amp;#xe6b8;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b9;</span>
+                <div class="name">wenjian_wrod</div>
+                <div class="code-name">&amp;#xe6b9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6ba;</span>
+                <div class="name">wenjian_xlsx</div>
+                <div class="code-name">&amp;#xe6ba;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b5;</span>
+                <div class="name">文件</div>
+                <div class="code-name">&amp;#xe6b5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b3;</span>
+                <div class="name">开&关_off</div>
+                <div class="code-name">&amp;#xe6b3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b4;</span>
+                <div class="name">开&关_on</div>
+                <div class="code-name">&amp;#xe6b4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b2;</span>
+                <div class="name">kecheng_download</div>
+                <div class="code-name">&amp;#xe6b2;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b1;</span>
+                <div class="name">kecheng_shipin-01</div>
+                <div class="code-name">&amp;#xe6b1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6ae;</span>
+                <div class="name">kecheng_shipin-02</div>
+                <div class="code-name">&amp;#xe6ae;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6af;</span>
+                <div class="name">kecheng_fangda</div>
+                <div class="code-name">&amp;#xe6af;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6b0;</span>
+                <div class="name">kecheng_shuaxin</div>
+                <div class="code-name">&amp;#xe6b0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6ab;</span>
+                <div class="name">数据导出_小</div>
+                <div class="code-name">&amp;#xe6ab;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6aa;</span>
+                <div class="name">下载项目报告</div>
+                <div class="code-name">&amp;#xe6aa;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a8;</span>
+                <div class="name">edit</div>
+                <div class="code-name">&amp;#xe6a8;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a9;</span>
+                <div class="name">part</div>
+                <div class="code-name">&amp;#xe6a9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a1;</span>
+                <div class="name">位置</div>
+                <div class="code-name">&amp;#xe6a1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a2;</span>
+                <div class="name">信息类型</div>
+                <div class="code-name">&amp;#xe6a2;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a3;</span>
+                <div class="name">默认签名</div>
+                <div class="code-name">&amp;#xe6a3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a4;</span>
+                <div class="name">关键词</div>
+                <div class="code-name">&amp;#xe6a4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a5;</span>
+                <div class="name">项目匹配_02</div>
+                <div class="code-name">&amp;#xe6a5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a6;</span>
+                <div class="name">关键词匹配方式</div>
+                <div class="code-name">&amp;#xe6a6;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a7;</span>
+                <div class="name">我的产品</div>
+                <div class="code-name">&amp;#xe6a7;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6a0;</span>
+                <div class="name">pullEg</div>
+                <div class="code-name">&amp;#xe6a0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69f;</span>
+                <div class="name">time</div>
+                <div class="code-name">&amp;#xe69f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69d;</span>
+                <div class="name">byEmail</div>
+                <div class="code-name">&amp;#xe69d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69e;</span>
+                <div class="name">bell</div>
+                <div class="code-name">&amp;#xe69e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69c;</span>
+                <div class="name">mine_coupon</div>
+                <div class="code-name">&amp;#xe69c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68f;</span>
+                <div class="name">min_case</div>
+                <div class="code-name">&amp;#xe68f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe690;</span>
+                <div class="name">mine_export</div>
+                <div class="code-name">&amp;#xe690;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe691;</span>
+                <div class="name">mine_opinion</div>
+                <div class="code-name">&amp;#xe691;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe692;</span>
+                <div class="name">mine_qiyechaxun</div>
+                <div class="code-name">&amp;#xe692;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe693;</span>
+                <div class="name">mine_shoucang</div>
+                <div class="code-name">&amp;#xe693;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe694;</span>
+                <div class="name">mine_share</div>
+                <div class="code-name">&amp;#xe694;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe695;</span>
+                <div class="name">mine_vip</div>
+                <div class="code-name">&amp;#xe695;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe696;</span>
+                <div class="name">mine_company</div>
+                <div class="code-name">&amp;#xe696;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe697;</span>
+                <div class="name">mine_help</div>
+                <div class="code-name">&amp;#xe697;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe698;</span>
+                <div class="name">mine_jianyubi</div>
+                <div class="code-name">&amp;#xe698;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe699;</span>
+                <div class="name">mine_伙伴计划</div>
+                <div class="code-name">&amp;#xe699;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69a;</span>
+                <div class="name">mine_about</div>
+                <div class="code-name">&amp;#xe69a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe69b;</span>
+                <div class="name">mine_subscription</div>
+                <div class="code-name">&amp;#xe69b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68e;</span>
+                <div class="name">mine_人工客服</div>
+                <div class="code-name">&amp;#xe68e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68a;</span>
+                <div class="name">dingdan_已完成</div>
+                <div class="code-name">&amp;#xe68a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68b;</span>
+                <div class="name">dingdan_已取消</div>
+                <div class="code-name">&amp;#xe68b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68c;</span>
+                <div class="name">dingdan_待付款</div>
+                <div class="code-name">&amp;#xe68c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe68d;</span>
+                <div class="name">dingdan_全部订单</div>
+                <div class="code-name">&amp;#xe68d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe686;</span>
+                <div class="name">warning</div>
+                <div class="code-name">&amp;#xe686;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe687;</span>
+                <div class="name">位置定位</div>
+                <div class="code-name">&amp;#xe687;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe688;</span>
+                <div class="name">dataDelete</div>
+                <div class="code-name">&amp;#xe688;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe689;</span>
+                <div class="name">投诉举报</div>
+                <div class="code-name">&amp;#xe689;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe685;</span>
+                <div class="name">收藏_未收藏</div>
+                <div class="code-name">&amp;#xe685;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe684;</span>
+                <div class="name">收藏</div>
+                <div class="code-name">&amp;#xe684;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe683;</span>
+                <div class="name">深入了解</div>
+                <div class="code-name">&amp;#xe683;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe680;</span>
+                <div class="name">close</div>
+                <div class="code-name">&amp;#xe680;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe682;</span>
+                <div class="name">close_heidi</div>
+                <div class="code-name">&amp;#xe682;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe681;</span>
+                <div class="name">close_透明</div>
+                <div class="code-name">&amp;#xe681;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67d;</span>
+                <div class="name">关注_已关注</div>
+                <div class="code-name">&amp;#xe67d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67e;</span>
+                <div class="name">关注_加关注</div>
+                <div class="code-name">&amp;#xe67e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67f;</span>
+                <div class="name">关注_未关注</div>
+                <div class="code-name">&amp;#xe67f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67a;</span>
+                <div class="name">收起</div>
+                <div class="code-name">&amp;#xe67a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67b;</span>
+                <div class="name">右边</div>
+                <div class="code-name">&amp;#xe67b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe67c;</span>
+                <div class="name">展开</div>
+                <div class="code-name">&amp;#xe67c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe679;</span>
+                <div class="name">绿</div>
+                <div class="code-name">&amp;#xe679;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe678;</span>
+                <div class="name">banxuan</div>
+                <div class="code-name">&amp;#xe678;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe676;</span>
+                <div class="name">choose</div>
+                <div class="code-name">&amp;#xe676;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe677;</span>
+                <div class="name">unchoose</div>
+                <div class="code-name">&amp;#xe677;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe674;</span>
+                <div class="name">up</div>
+                <div class="code-name">&amp;#xe674;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe675;</span>
+                <div class="name">down</div>
+                <div class="code-name">&amp;#xe675;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe673;</span>
+                <div class="name">renling_未认领</div>
+                <div class="code-name">&amp;#xe673;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe672;</span>
+                <div class="name">renling_已认领</div>
+                <div class="code-name">&amp;#xe672;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66f;</span>
+                <div class="name">date_gray</div>
+                <div class="code-name">&amp;#xe66f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe671;</span>
+                <div class="name">help</div>
+                <div class="code-name">&amp;#xe671;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66e;</span>
+                <div class="name">search</div>
+                <div class="code-name">&amp;#xe66e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66d;</span>
+                <div class="name">数据导出_小</div>
+                <div class="code-name">&amp;#xe66d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe664;</span>
+                <div class="name">notice</div>
+                <div class="code-name">&amp;#xe664;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe667;</span>
+                <div class="name">share</div>
+                <div class="code-name">&amp;#xe667;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66c;</span>
+                <div class="name">Setting</div>
+                <div class="code-name">&amp;#xe66c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe663;</span>
+                <div class="name">back</div>
+                <div class="code-name">&amp;#xe663;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe607;</span>
+                <div class="name">收藏</div>
+                <div class="code-name">&amp;#xe607;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60d;</span>
+                <div class="name">搜索</div>
+                <div class="code-name">&amp;#xe60d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe614;</span>
+                <div class="name">我</div>
+                <div class="code-name">&amp;#xe614;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe616;</span>
+                <div class="name">微信</div>
+                <div class="code-name">&amp;#xe616;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe617;</span>
+                <div class="name">我-设置</div>
+                <div class="code-name">&amp;#xe617;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe643;</span>
+                <div class="name">实验室</div>
+                <div class="code-name">&amp;#xe643;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe648;</span>
+                <div class="name">我-通知</div>
+                <div class="code-name">&amp;#xe648;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64a;</span>
+                <div class="name">qq</div>
+                <div class="code-name">&amp;#xe64a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64b;</span>
+                <div class="name">我-我关注的企业</div>
+                <div class="code-name">&amp;#xe64b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64c;</span>
+                <div class="name">我-我关注的项目</div>
+                <div class="code-name">&amp;#xe64c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64d;</span>
+                <div class="name">睁眼</div>
+                <div class="code-name">&amp;#xe64d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64e;</span>
+                <div class="name">闭眼</div>
+                <div class="code-name">&amp;#xe64e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe64f;</span>
+                <div class="name">朋友圈</div>
+                <div class="code-name">&amp;#xe64f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe651;</span>
+                <div class="name">weixin</div>
+                <div class="code-name">&amp;#xe651;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe666;</span>
+                <div class="name">对号</div>
+                <div class="code-name">&amp;#xe666;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe669;</span>
+                <div class="name">delete_gray</div>
+                <div class="code-name">&amp;#xe669;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66a;</span>
+                <div class="name">审核中</div>
+                <div class="code-name">&amp;#xe66a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66b;</span>
+                <div class="name">公对公转账</div>
+                <div class="code-name">&amp;#xe66b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe670;</span>
+                <div class="name">角标</div>
+                <div class="code-name">&amp;#xe670;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe662;</span>
+                <div class="name">数据导出</div>
+                <div class="code-name">&amp;#xe662;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe660;</span>
+                <div class="name">支付订单</div>
+                <div class="code-name">&amp;#xe660;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe645;</span>
+                <div class="name">支付宝支付</div>
+                <div class="code-name">&amp;#xe645;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe646;</span>
+                <div class="name">微信支付</div>
+                <div class="code-name">&amp;#xe646;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe647;</span>
+                <div class="name">添加</div>
+                <div class="code-name">&amp;#xe647;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe641;</span>
+                <div class="name">推荐角标</div>
+                <div class="code-name">&amp;#xe641;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe601;</span>
+                <div class="name">guanyu</div>
+                <div class="code-name">&amp;#xe601;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe603;</span>
+                <div class="name">rili</div>
+                <div class="code-name">&amp;#xe603;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe604;</span>
+                <div class="name">huangguan</div>
+                <div class="code-name">&amp;#xe604;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe605;</span>
+                <div class="name">lishidaochu</div>
+                <div class="code-name">&amp;#xe605;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe606;</span>
+                <div class="name">shaixuan</div>
+                <div class="code-name">&amp;#xe606;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe608;</span>
+                <div class="name">shezhi</div>
+                <div class="code-name">&amp;#xe608;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe609;</span>
+                <div class="name">tianjia</div>
+                <div class="code-name">&amp;#xe609;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60e;</span>
+                <div class="name">xiugai</div>
+                <div class="code-name">&amp;#xe60e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60f;</span>
+                <div class="name">wodedingdan</div>
+                <div class="code-name">&amp;#xe60f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe611;</span>
+                <div class="name">xuanzhongjiao</div>
+                <div class="code-name">&amp;#xe611;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe612;</span>
+                <div class="name">zhifuwancheng</div>
+                <div class="code-name">&amp;#xe612;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61b;</span>
+                <div class="name">关于剑鱼-反馈</div>
+                <div class="code-name">&amp;#xe61b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61c;</span>
+                <div class="name">关于剑鱼-帮助</div>
+                <div class="code-name">&amp;#xe61c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe623;</span>
+                <div class="name">朋友圈</div>
+                <div class="code-name">&amp;#xe623;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe625;</span>
+                <div class="name">筛选-默认</div>
+                <div class="code-name">&amp;#xe625;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe626;</span>
+                <div class="name">筛选-已选</div>
+                <div class="code-name">&amp;#xe626;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe628;</span>
+                <div class="name">实验室</div>
+                <div class="code-name">&amp;#xe628;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe629;</span>
+                <div class="name">使用帮助</div>
+                <div class="code-name">&amp;#xe629;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe62e;</span>
+                <div class="name">提示</div>
+                <div class="code-name">&amp;#xe62e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe62f;</span>
+                <div class="name">提醒时间</div>
+                <div class="code-name">&amp;#xe62f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe634;</span>
+                <div class="name">微信</div>
+                <div class="code-name">&amp;#xe634;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe63a;</span>
+                <div class="name">qq</div>
+                <div class="code-name">&amp;#xe63a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe63c;</span>
+                <div class="name">表格</div>
+                <div class="code-name">&amp;#xe63c;</div>
+              </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="unicode-">Unicode 引用</h2>
+          <hr>
+
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
+          <ul>
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
+          </ul>
+          <blockquote>
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
+          </blockquote>
+          <p>Unicode 使用步骤如下:</p>
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1705912866856') format('woff2'),
+       url('iconfont.woff?t=1705912866856') format('woff'),
+       url('iconfont.ttf?t=1705912866856') format('truetype');
+}
+</code></pre>
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
+<pre><code class="language-css"
+>.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+<pre>
+<code class="language-html"
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
+</code></pre>
+          <blockquote>
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+          </blockquote>
+          </div>
+      </div>
+      <div class="content font-class">
+        <ul class="icon_lists dib-box">
+          
+          <li class="dib">
+            <span class="icon iconfont icon-jiankong"></span>
+            <div class="name">
+              监控
+            </div>
+            <div class="code-name">.icon-jiankong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yijiankong"></span>
+            <div class="name">
+              已监控
+            </div>
+            <div class="code-name">.icon-yijiankong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-compress"></span>
+            <div class="name">
+              compress
+            </div>
+            <div class="code-name">.icon-compress
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-add"></span>
+            <div class="name">
+              add
+            </div>
+            <div class="code-name">.icon-add
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yiqiandao"></span>
+            <div class="name">
+              yiqiandao
+            </div>
+            <div class="code-name">.icon-yiqiandao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-reduce"></span>
+            <div class="name">
+              reduce
+            </div>
+            <div class="code-name">.icon-reduce
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-workSpace"></span>
+            <div class="name">
+              workSpace
+            </div>
+            <div class="code-name">.icon-workSpace
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-workSpace-1"></span>
+            <div class="name">
+              workSpace-1
+            </div>
+            <div class="code-name">.icon-workSpace-1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tubiao_qingchu"></span>
+            <div class="name">
+              清除
+            </div>
+            <div class="code-name">.icon-tubiao_qingchu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-gengxin"></span>
+            <div class="name">
+              更新
+            </div>
+            <div class="code-name">.icon-gengxin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-fenxiang"></span>
+            <div class="name">
+              分享
+            </div>
+            <div class="code-name">.icon-fenxiang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-ren"></span>
+            <div class="name">
+              人
+            </div>
+            <div class="code-name">.icon-ren
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-canbiao"></span>
+            <div class="name">
+              canbiao
+            </div>
+            <div class="code-name">.icon-canbiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-gengduo-shuxiang"></span>
+            <div class="name">
+              216更多-竖向
+            </div>
+            <div class="code-name">.icon-gengduo-shuxiang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-chaping-xianxing"></span>
+            <div class="name">
+              245差评-线性
+            </div>
+            <div class="code-name">.icon-chaping-xianxing
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dianzan"></span>
+            <div class="name">
+              点赞
+            </div>
+            <div class="code-name">.icon-dianzan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-chehui1"></span>
+            <div class="name">
+              撤回
+            </div>
+            <div class="code-name">.icon-chehui1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-fuzhi"></span>
+            <div class="name">
+              复制
+            </div>
+            <div class="code-name">.icon-fuzhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yduigantanhaoshixin"></span>
+            <div class="name">
+              YDUI-感叹号(实心)
+            </div>
+            <div class="code-name">.icon-yduigantanhaoshixin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-bumanyi"></span>
+            <div class="name">
+              不满意
+            </div>
+            <div class="code-name">.icon-bumanyi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-manyi"></span>
+            <div class="name">
+              满意
+            </div>
+            <div class="code-name">.icon-manyi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-henmanyi"></span>
+            <div class="name">
+              很满意
+            </div>
+            <div class="code-name">.icon-henmanyi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-henbumanyi"></span>
+            <div class="name">
+              很不满意
+            </div>
+            <div class="code-name">.icon-henbumanyi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yiban"></span>
+            <div class="name">
+              一般-灰
+            </div>
+            <div class="code-name">.icon-yiban
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-bumanyi-cai"></span>
+            <div class="name">
+              不满意-彩
+            </div>
+            <div class="code-name">.icon-bumanyi-cai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yiban-cai"></span>
+            <div class="name">
+              一般-彩
+            </div>
+            <div class="code-name">.icon-yiban-cai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-manyi-cai"></span>
+            <div class="name">
+              满意-彩
+            </div>
+            <div class="code-name">.icon-manyi-cai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-henmanyi-cai"></span>
+            <div class="name">
+              很满意-彩
+            </div>
+            <div class="code-name">.icon-henmanyi-cai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-henbumanyi-cai"></span>
+            <div class="name">
+              很不满意-彩
+            </div>
+            <div class="code-name">.icon-henbumanyi-cai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-nav_un_book"></span>
+            <div class="name">
+              nav_un_book
+            </div>
+            <div class="code-name">.icon-nav_un_book
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-nav_un_home"></span>
+            <div class="name">
+              nav_un_home
+            </div>
+            <div class="code-name">.icon-nav_un_home
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-nav_un_box"></span>
+            <div class="name">
+              nav_un_box
+            </div>
+            <div class="code-name">.icon-nav_un_box
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-nav_un_message"></span>
+            <div class="name">
+              nav_un_message
+            </div>
+            <div class="code-name">.icon-nav_un_message
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-nav_un_mine"></span>
+            <div class="name">
+              nav_un_mine
+            </div>
+            <div class="code-name">.icon-nav_un_mine
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-save"></span>
+            <div class="name">
+              save
+            </div>
+            <div class="code-name">.icon-save
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhoubao"></span>
+            <div class="name">
+              周报
+            </div>
+            <div class="code-name">.icon-zhoubao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-yuebao"></span>
+            <div class="name">
+              月报
+            </div>
+            <div class="code-name">.icon-yuebao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tianxie"></span>
+            <div class="name">
+              填写
+            </div>
+            <div class="code-name">.icon-tianxie
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-add-01"></span>
+            <div class="name">
+              add-01
+            </div>
+            <div class="code-name">.icon-add-01
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-jianhao"></span>
+            <div class="name">
+              减号
+            </div>
+            <div class="code-name">.icon-jianhao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhongbiaoyuce"></span>
+            <div class="name">
+              zhongbiaoyuce
+            </div>
+            <div class="code-name">.icon-zhongbiaoyuce
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenku_word"></span>
+            <div class="name">
+              wenku_word
+            </div>
+            <div class="code-name">.icon-wenku_word
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenku_pdf"></span>
+            <div class="name">
+              wenku_pdf
+            </div>
+            <div class="code-name">.icon-wenku_pdf
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenku_ppt"></span>
+            <div class="name">
+              wenku_ppt
+            </div>
+            <div class="code-name">.icon-wenku_ppt
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenku_excel"></span>
+            <div class="name">
+              wenku_excel
+            </div>
+            <div class="code-name">.icon-wenku_excel
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-qiehuan"></span>
+            <div class="name">
+              切换
+            </div>
+            <div class="code-name">.icon-qiehuan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjianjia"></span>
+            <div class="name">
+              文件夹
+            </div>
+            <div class="code-name">.icon-wenjianjia
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-taocan"></span>
+            <div class="name">
+              套餐
+            </div>
+            <div class="code-name">.icon-taocan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-qianming"></span>
+            <div class="name">
+              签名
+            </div>
+            <div class="code-name">.icon-qianming
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xiangji"></span>
+            <div class="name">
+              xiangji
+            </div>
+            <div class="code-name">.icon-xiangji
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-chehui"></span>
+            <div class="name">
+              撤回
+            </div>
+            <div class="code-name">.icon-chehui
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian_PDF"></span>
+            <div class="name">
+              wenjian_PDF
+            </div>
+            <div class="code-name">.icon-wenjian_PDF
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian_pdf_1"></span>
+            <div class="name">
+              wenjian_pdf_1
+            </div>
+            <div class="code-name">.icon-wenjian_pdf_1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian_wufashibie"></span>
+            <div class="name">
+              wenjian_无法识别
+            </div>
+            <div class="code-name">.icon-wenjian_wufashibie
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian_wrod"></span>
+            <div class="name">
+              wenjian_wrod
+            </div>
+            <div class="code-name">.icon-wenjian_wrod
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian_xlsx"></span>
+            <div class="name">
+              wenjian_xlsx
+            </div>
+            <div class="code-name">.icon-wenjian_xlsx
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wenjian"></span>
+            <div class="name">
+              文件
+            </div>
+            <div class="code-name">.icon-wenjian
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-a-kaiguan_off"></span>
+            <div class="name">
+              开&关_off
+            </div>
+            <div class="code-name">.icon-a-kaiguan_off
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-a-kaiguan_on"></span>
+            <div class="name">
+              开&关_on
+            </div>
+            <div class="code-name">.icon-a-kaiguan_on
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-kecheng_download"></span>
+            <div class="name">
+              kecheng_download
+            </div>
+            <div class="code-name">.icon-kecheng_download
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-kecheng_shipin-01"></span>
+            <div class="name">
+              kecheng_shipin-01
+            </div>
+            <div class="code-name">.icon-kecheng_shipin-01
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-kecheng_shipin-02"></span>
+            <div class="name">
+              kecheng_shipin-02
+            </div>
+            <div class="code-name">.icon-kecheng_shipin-02
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-kecheng_fangda"></span>
+            <div class="name">
+              kecheng_fangda
+            </div>
+            <div class="code-name">.icon-kecheng_fangda
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-kecheng_shuaxin"></span>
+            <div class="name">
+              kecheng_shuaxin
+            </div>
+            <div class="code-name">.icon-kecheng_shuaxin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shujudaochu_xiao1"></span>
+            <div class="name">
+              数据导出_小
+            </div>
+            <div class="code-name">.icon-shujudaochu_xiao1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xiazaixiangmubaogao"></span>
+            <div class="name">
+              下载项目报告
+            </div>
+            <div class="code-name">.icon-xiazaixiangmubaogao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-edit"></span>
+            <div class="name">
+              edit
+            </div>
+            <div class="code-name">.icon-edit
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-part"></span>
+            <div class="name">
+              part
+            </div>
+            <div class="code-name">.icon-part
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weizhi"></span>
+            <div class="name">
+              位置
+            </div>
+            <div class="code-name">.icon-weizhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xinxileixing"></span>
+            <div class="name">
+              信息类型
+            </div>
+            <div class="code-name">.icon-xinxileixing
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-morenqianming"></span>
+            <div class="name">
+              默认签名
+            </div>
+            <div class="code-name">.icon-morenqianming
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanjianci"></span>
+            <div class="name">
+              关键词
+            </div>
+            <div class="code-name">.icon-guanjianci
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xiangmupipei_02"></span>
+            <div class="name">
+              项目匹配_02
+            </div>
+            <div class="code-name">.icon-xiangmupipei_02
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanjiancipipeifangshi"></span>
+            <div class="name">
+              关键词匹配方式
+            </div>
+            <div class="code-name">.icon-guanjiancipipeifangshi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wodechanpin"></span>
+            <div class="name">
+              我的产品
+            </div>
+            <div class="code-name">.icon-wodechanpin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-pullEg"></span>
+            <div class="name">
+              pullEg
+            </div>
+            <div class="code-name">.icon-pullEg
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-time"></span>
+            <div class="name">
+              time
+            </div>
+            <div class="code-name">.icon-time
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-byEmail"></span>
+            <div class="name">
+              byEmail
+            </div>
+            <div class="code-name">.icon-byEmail
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-bell"></span>
+            <div class="name">
+              bell
+            </div>
+            <div class="code-name">.icon-bell
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_coupon"></span>
+            <div class="name">
+              mine_coupon
+            </div>
+            <div class="code-name">.icon-mine_coupon
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-min_case"></span>
+            <div class="name">
+              min_case
+            </div>
+            <div class="code-name">.icon-min_case
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_export"></span>
+            <div class="name">
+              mine_export
+            </div>
+            <div class="code-name">.icon-mine_export
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_opinion"></span>
+            <div class="name">
+              mine_opinion
+            </div>
+            <div class="code-name">.icon-mine_opinion
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_qiyechaxun"></span>
+            <div class="name">
+              mine_qiyechaxun
+            </div>
+            <div class="code-name">.icon-mine_qiyechaxun
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_shoucang"></span>
+            <div class="name">
+              mine_shoucang
+            </div>
+            <div class="code-name">.icon-mine_shoucang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_share"></span>
+            <div class="name">
+              mine_share
+            </div>
+            <div class="code-name">.icon-mine_share
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_vip"></span>
+            <div class="name">
+              mine_vip
+            </div>
+            <div class="code-name">.icon-mine_vip
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_company"></span>
+            <div class="name">
+              mine_company
+            </div>
+            <div class="code-name">.icon-mine_company
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_help"></span>
+            <div class="name">
+              mine_help
+            </div>
+            <div class="code-name">.icon-mine_help
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_jianyubi"></span>
+            <div class="name">
+              mine_jianyubi
+            </div>
+            <div class="code-name">.icon-mine_jianyubi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_huobanjihua"></span>
+            <div class="name">
+              mine_伙伴计划
+            </div>
+            <div class="code-name">.icon-mine_huobanjihua
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_about"></span>
+            <div class="name">
+              mine_about
+            </div>
+            <div class="code-name">.icon-mine_about
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_subscription"></span>
+            <div class="name">
+              mine_subscription
+            </div>
+            <div class="code-name">.icon-mine_subscription
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mine_rengongkefu"></span>
+            <div class="name">
+              mine_人工客服
+            </div>
+            <div class="code-name">.icon-mine_rengongkefu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingdan_yiwancheng"></span>
+            <div class="name">
+              dingdan_已完成
+            </div>
+            <div class="code-name">.icon-dingdan_yiwancheng
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingdan_yiquxiao"></span>
+            <div class="name">
+              dingdan_已取消
+            </div>
+            <div class="code-name">.icon-dingdan_yiquxiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingdan_daifukuan"></span>
+            <div class="name">
+              dingdan_待付款
+            </div>
+            <div class="code-name">.icon-dingdan_daifukuan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingdan_quanbudingdan"></span>
+            <div class="name">
+              dingdan_全部订单
+            </div>
+            <div class="code-name">.icon-dingdan_quanbudingdan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-warning"></span>
+            <div class="name">
+              warning
+            </div>
+            <div class="code-name">.icon-warning
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weizhidingwei"></span>
+            <div class="name">
+              位置定位
+            </div>
+            <div class="code-name">.icon-weizhidingwei
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dataDelete"></span>
+            <div class="name">
+              dataDelete
+            </div>
+            <div class="code-name">.icon-dataDelete
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tousujubao"></span>
+            <div class="name">
+              投诉举报
+            </div>
+            <div class="code-name">.icon-tousujubao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shoucang_weishoucang"></span>
+            <div class="name">
+              收藏_未收藏
+            </div>
+            <div class="code-name">.icon-shoucang_weishoucang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shoucang"></span>
+            <div class="name">
+              收藏
+            </div>
+            <div class="code-name">.icon-shoucang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shenrulejie"></span>
+            <div class="name">
+              深入了解
+            </div>
+            <div class="code-name">.icon-shenrulejie
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-close"></span>
+            <div class="name">
+              close
+            </div>
+            <div class="code-name">.icon-close
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-close_heidi"></span>
+            <div class="name">
+              close_heidi
+            </div>
+            <div class="code-name">.icon-close_heidi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-close_touming"></span>
+            <div class="name">
+              close_透明
+            </div>
+            <div class="code-name">.icon-close_touming
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanzhu_yiguanzhu"></span>
+            <div class="name">
+              关注_已关注
+            </div>
+            <div class="code-name">.icon-guanzhu_yiguanzhu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanzhu_jiaguanzhu"></span>
+            <div class="name">
+              关注_加关注
+            </div>
+            <div class="code-name">.icon-guanzhu_jiaguanzhu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanzhu_weiguanzhu"></span>
+            <div class="name">
+              关注_未关注
+            </div>
+            <div class="code-name">.icon-guanzhu_weiguanzhu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shouqi"></span>
+            <div class="name">
+              收起
+            </div>
+            <div class="code-name">.icon-shouqi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-youbian"></span>
+            <div class="name">
+              右边
+            </div>
+            <div class="code-name">.icon-youbian
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhankai"></span>
+            <div class="name">
+              展开
+            </div>
+            <div class="code-name">.icon-zhankai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-lv"></span>
+            <div class="name">
+              绿
+            </div>
+            <div class="code-name">.icon-lv
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-banxuan"></span>
+            <div class="name">
+              banxuan
+            </div>
+            <div class="code-name">.icon-banxuan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-choose1"></span>
+            <div class="name">
+              choose
+            </div>
+            <div class="code-name">.icon-choose1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-unchoose1"></span>
+            <div class="name">
+              unchoose
+            </div>
+            <div class="code-name">.icon-unchoose1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-up"></span>
+            <div class="name">
+              up
+            </div>
+            <div class="code-name">.icon-up
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-down"></span>
+            <div class="name">
+              down
+            </div>
+            <div class="code-name">.icon-down
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-renling_weirenling"></span>
+            <div class="name">
+              renling_未认领
+            </div>
+            <div class="code-name">.icon-renling_weirenling
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-renling_yirenling"></span>
+            <div class="name">
+              renling_已认领
+            </div>
+            <div class="code-name">.icon-renling_yirenling
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-date_gray"></span>
+            <div class="name">
+              date_gray
+            </div>
+            <div class="code-name">.icon-date_gray
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-help1"></span>
+            <div class="name">
+              help
+            </div>
+            <div class="code-name">.icon-help1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-search"></span>
+            <div class="name">
+              search
+            </div>
+            <div class="code-name">.icon-search
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shujudaochu_xiao"></span>
+            <div class="name">
+              数据导出_小
+            </div>
+            <div class="code-name">.icon-shujudaochu_xiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-notice"></span>
+            <div class="name">
+              notice
+            </div>
+            <div class="code-name">.icon-notice
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-share"></span>
+            <div class="name">
+              share
+            </div>
+            <div class="code-name">.icon-share
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-Setting"></span>
+            <div class="name">
+              Setting
+            </div>
+            <div class="code-name">.icon-Setting
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-back"></span>
+            <div class="name">
+              back
+            </div>
+            <div class="code-name">.icon-back
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingyue"></span>
+            <div class="name">
+              收藏
+            </div>
+            <div class="code-name">.icon-dingyue
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-sousuo1"></span>
+            <div class="name">
+              搜索
+            </div>
+            <div class="code-name">.icon-sousuo1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wo"></span>
+            <div class="name">
+              我
+            </div>
+            <div class="code-name">.icon-wo
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weixin1"></span>
+            <div class="name">
+              微信
+            </div>
+            <div class="code-name">.icon-weixin1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wo-shezhi"></span>
+            <div class="name">
+              我-设置
+            </div>
+            <div class="code-name">.icon-wo-shezhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shiyanshi1"></span>
+            <div class="name">
+              实验室
+            </div>
+            <div class="code-name">.icon-shiyanshi1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wo-tongzhi"></span>
+            <div class="name">
+              我-通知
+            </div>
+            <div class="code-name">.icon-wo-tongzhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-qq1"></span>
+            <div class="name">
+              qq
+            </div>
+            <div class="code-name">.icon-qq1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wo-woguanzhudeqiye"></span>
+            <div class="name">
+              我-我关注的企业
+            </div>
+            <div class="code-name">.icon-wo-woguanzhudeqiye
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wo-woguanzhudexiangmu"></span>
+            <div class="name">
+              我-我关注的项目
+            </div>
+            <div class="code-name">.icon-wo-woguanzhudexiangmu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhengyan"></span>
+            <div class="name">
+              睁眼
+            </div>
+            <div class="code-name">.icon-zhengyan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-biyan"></span>
+            <div class="name">
+              闭眼
+            </div>
+            <div class="code-name">.icon-biyan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-pengyouquan1"></span>
+            <div class="name">
+              朋友圈
+            </div>
+            <div class="code-name">.icon-pengyouquan1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weixin11"></span>
+            <div class="name">
+              weixin
+            </div>
+            <div class="code-name">.icon-weixin11
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-duihao"></span>
+            <div class="name">
+              对号
+            </div>
+            <div class="code-name">.icon-duihao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-delete_gray"></span>
+            <div class="name">
+              delete_gray
+            </div>
+            <div class="code-name">.icon-delete_gray
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shenhezhong"></span>
+            <div class="name">
+              审核中
+            </div>
+            <div class="code-name">.icon-shenhezhong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-gongduigongzhuanzhang"></span>
+            <div class="name">
+              公对公转账
+            </div>
+            <div class="code-name">.icon-gongduigongzhuanzhang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-jiaobiao"></span>
+            <div class="name">
+              角标
+            </div>
+            <div class="code-name">.icon-jiaobiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-cloud-download"></span>
+            <div class="name">
+              数据导出
+            </div>
+            <div class="code-name">.icon-cloud-download
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-dingdan1"></span>
+            <div class="name">
+              支付订单
+            </div>
+            <div class="code-name">.icon-dingdan1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhifubaozhifu"></span>
+            <div class="name">
+              支付宝支付
+            </div>
+            <div class="code-name">.icon-zhifubaozhifu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weixinzhifu"></span>
+            <div class="name">
+              微信支付
+            </div>
+            <div class="code-name">.icon-weixinzhifu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tianjia1"></span>
+            <div class="name">
+              添加
+            </div>
+            <div class="code-name">.icon-tianjia1
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tuijianjiaobiao"></span>
+            <div class="name">
+              推荐角标
+            </div>
+            <div class="code-name">.icon-tuijianjiaobiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanyu"></span>
+            <div class="name">
+              guanyu
+            </div>
+            <div class="code-name">.icon-guanyu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-rili"></span>
+            <div class="name">
+              rili
+            </div>
+            <div class="code-name">.icon-rili
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-huangguan"></span>
+            <div class="name">
+              huangguan
+            </div>
+            <div class="code-name">.icon-huangguan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-lishidaochu"></span>
+            <div class="name">
+              lishidaochu
+            </div>
+            <div class="code-name">.icon-lishidaochu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shaixuan"></span>
+            <div class="name">
+              shaixuan
+            </div>
+            <div class="code-name">.icon-shaixuan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shezhi"></span>
+            <div class="name">
+              shezhi
+            </div>
+            <div class="code-name">.icon-shezhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tianjia"></span>
+            <div class="name">
+              tianjia
+            </div>
+            <div class="code-name">.icon-tianjia
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xiugai"></span>
+            <div class="name">
+              xiugai
+            </div>
+            <div class="code-name">.icon-xiugai
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wodedingdan"></span>
+            <div class="name">
+              wodedingdan
+            </div>
+            <div class="code-name">.icon-wodedingdan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-xuanzhongjiao"></span>
+            <div class="name">
+              xuanzhongjiao
+            </div>
+            <div class="code-name">.icon-xuanzhongjiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhifuwancheng"></span>
+            <div class="name">
+              zhifuwancheng
+            </div>
+            <div class="code-name">.icon-zhifuwancheng
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanyujianyu-fankui"></span>
+            <div class="name">
+              关于剑鱼-反馈
+            </div>
+            <div class="code-name">.icon-guanyujianyu-fankui
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-guanyujianyu-bangzhu"></span>
+            <div class="name">
+              关于剑鱼-帮助
+            </div>
+            <div class="code-name">.icon-guanyujianyu-bangzhu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-pengyouquan"></span>
+            <div class="name">
+              朋友圈
+            </div>
+            <div class="code-name">.icon-pengyouquan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shaixuan-moren"></span>
+            <div class="name">
+              筛选-默认
+            </div>
+            <div class="code-name">.icon-shaixuan-moren
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shaixuan-yixuan"></span>
+            <div class="name">
+              筛选-已选
+            </div>
+            <div class="code-name">.icon-shaixuan-yixuan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shiyanshi"></span>
+            <div class="name">
+              实验室
+            </div>
+            <div class="code-name">.icon-shiyanshi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shiyongbangzhu"></span>
+            <div class="name">
+              使用帮助
+            </div>
+            <div class="code-name">.icon-shiyongbangzhu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tishi"></span>
+            <div class="name">
+              提示
+            </div>
+            <div class="code-name">.icon-tishi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tixingshijian"></span>
+            <div class="name">
+              提醒时间
+            </div>
+            <div class="code-name">.icon-tixingshijian
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-weixin"></span>
+            <div class="name">
+              微信
+            </div>
+            <div class="code-name">.icon-weixin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-qq"></span>
+            <div class="name">
+              qq
+            </div>
+            <div class="code-name">.icon-qq
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-biaoge"></span>
+            <div class="name">
+              表格
+            </div>
+            <div class="code-name">.icon-biaoge
+            </div>
+          </li>
+          
+        </ul>
+        <div class="article markdown">
+        <h2 id="font-class-">font-class 引用</h2>
+        <hr>
+
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
+        <ul>
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
+</code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
+</code></pre>
+        <blockquote>
+          <p>"
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+        </blockquote>
+      </div>
+      </div>
+      <div class="content symbol">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-jiankong"></use>
+                </svg>
+                <div class="name">监控</div>
+                <div class="code-name">#icon-jiankong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yijiankong"></use>
+                </svg>
+                <div class="name">已监控</div>
+                <div class="code-name">#icon-yijiankong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-compress"></use>
+                </svg>
+                <div class="name">compress</div>
+                <div class="code-name">#icon-compress</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-add"></use>
+                </svg>
+                <div class="name">add</div>
+                <div class="code-name">#icon-add</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yiqiandao"></use>
+                </svg>
+                <div class="name">yiqiandao</div>
+                <div class="code-name">#icon-yiqiandao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-reduce"></use>
+                </svg>
+                <div class="name">reduce</div>
+                <div class="code-name">#icon-reduce</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-workSpace"></use>
+                </svg>
+                <div class="name">workSpace</div>
+                <div class="code-name">#icon-workSpace</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-workSpace-1"></use>
+                </svg>
+                <div class="name">workSpace-1</div>
+                <div class="code-name">#icon-workSpace-1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tubiao_qingchu"></use>
+                </svg>
+                <div class="name">清除</div>
+                <div class="code-name">#icon-tubiao_qingchu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-gengxin"></use>
+                </svg>
+                <div class="name">更新</div>
+                <div class="code-name">#icon-gengxin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-fenxiang"></use>
+                </svg>
+                <div class="name">分享</div>
+                <div class="code-name">#icon-fenxiang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-ren"></use>
+                </svg>
+                <div class="name">人</div>
+                <div class="code-name">#icon-ren</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-canbiao"></use>
+                </svg>
+                <div class="name">canbiao</div>
+                <div class="code-name">#icon-canbiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-gengduo-shuxiang"></use>
+                </svg>
+                <div class="name">216更多-竖向</div>
+                <div class="code-name">#icon-gengduo-shuxiang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-chaping-xianxing"></use>
+                </svg>
+                <div class="name">245差评-线性</div>
+                <div class="code-name">#icon-chaping-xianxing</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dianzan"></use>
+                </svg>
+                <div class="name">点赞</div>
+                <div class="code-name">#icon-dianzan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-chehui1"></use>
+                </svg>
+                <div class="name">撤回</div>
+                <div class="code-name">#icon-chehui1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-fuzhi"></use>
+                </svg>
+                <div class="name">复制</div>
+                <div class="code-name">#icon-fuzhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yduigantanhaoshixin"></use>
+                </svg>
+                <div class="name">YDUI-感叹号(实心)</div>
+                <div class="code-name">#icon-yduigantanhaoshixin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-bumanyi"></use>
+                </svg>
+                <div class="name">不满意</div>
+                <div class="code-name">#icon-bumanyi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-manyi"></use>
+                </svg>
+                <div class="name">满意</div>
+                <div class="code-name">#icon-manyi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-henmanyi"></use>
+                </svg>
+                <div class="name">很满意</div>
+                <div class="code-name">#icon-henmanyi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-henbumanyi"></use>
+                </svg>
+                <div class="name">很不满意</div>
+                <div class="code-name">#icon-henbumanyi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yiban"></use>
+                </svg>
+                <div class="name">一般-灰</div>
+                <div class="code-name">#icon-yiban</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-bumanyi-cai"></use>
+                </svg>
+                <div class="name">不满意-彩</div>
+                <div class="code-name">#icon-bumanyi-cai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yiban-cai"></use>
+                </svg>
+                <div class="name">一般-彩</div>
+                <div class="code-name">#icon-yiban-cai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-manyi-cai"></use>
+                </svg>
+                <div class="name">满意-彩</div>
+                <div class="code-name">#icon-manyi-cai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-henmanyi-cai"></use>
+                </svg>
+                <div class="name">很满意-彩</div>
+                <div class="code-name">#icon-henmanyi-cai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-henbumanyi-cai"></use>
+                </svg>
+                <div class="name">很不满意-彩</div>
+                <div class="code-name">#icon-henbumanyi-cai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-nav_un_book"></use>
+                </svg>
+                <div class="name">nav_un_book</div>
+                <div class="code-name">#icon-nav_un_book</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-nav_un_home"></use>
+                </svg>
+                <div class="name">nav_un_home</div>
+                <div class="code-name">#icon-nav_un_home</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-nav_un_box"></use>
+                </svg>
+                <div class="name">nav_un_box</div>
+                <div class="code-name">#icon-nav_un_box</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-nav_un_message"></use>
+                </svg>
+                <div class="name">nav_un_message</div>
+                <div class="code-name">#icon-nav_un_message</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-nav_un_mine"></use>
+                </svg>
+                <div class="name">nav_un_mine</div>
+                <div class="code-name">#icon-nav_un_mine</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-save"></use>
+                </svg>
+                <div class="name">save</div>
+                <div class="code-name">#icon-save</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhoubao"></use>
+                </svg>
+                <div class="name">周报</div>
+                <div class="code-name">#icon-zhoubao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-yuebao"></use>
+                </svg>
+                <div class="name">月报</div>
+                <div class="code-name">#icon-yuebao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tianxie"></use>
+                </svg>
+                <div class="name">填写</div>
+                <div class="code-name">#icon-tianxie</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-add-01"></use>
+                </svg>
+                <div class="name">add-01</div>
+                <div class="code-name">#icon-add-01</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-jianhao"></use>
+                </svg>
+                <div class="name">减号</div>
+                <div class="code-name">#icon-jianhao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhongbiaoyuce"></use>
+                </svg>
+                <div class="name">zhongbiaoyuce</div>
+                <div class="code-name">#icon-zhongbiaoyuce</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenku_word"></use>
+                </svg>
+                <div class="name">wenku_word</div>
+                <div class="code-name">#icon-wenku_word</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenku_pdf"></use>
+                </svg>
+                <div class="name">wenku_pdf</div>
+                <div class="code-name">#icon-wenku_pdf</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenku_ppt"></use>
+                </svg>
+                <div class="name">wenku_ppt</div>
+                <div class="code-name">#icon-wenku_ppt</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenku_excel"></use>
+                </svg>
+                <div class="name">wenku_excel</div>
+                <div class="code-name">#icon-wenku_excel</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-qiehuan"></use>
+                </svg>
+                <div class="name">切换</div>
+                <div class="code-name">#icon-qiehuan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjianjia"></use>
+                </svg>
+                <div class="name">文件夹</div>
+                <div class="code-name">#icon-wenjianjia</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-taocan"></use>
+                </svg>
+                <div class="name">套餐</div>
+                <div class="code-name">#icon-taocan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-qianming"></use>
+                </svg>
+                <div class="name">签名</div>
+                <div class="code-name">#icon-qianming</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xiangji"></use>
+                </svg>
+                <div class="name">xiangji</div>
+                <div class="code-name">#icon-xiangji</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-chehui"></use>
+                </svg>
+                <div class="name">撤回</div>
+                <div class="code-name">#icon-chehui</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian_PDF"></use>
+                </svg>
+                <div class="name">wenjian_PDF</div>
+                <div class="code-name">#icon-wenjian_PDF</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian_pdf_1"></use>
+                </svg>
+                <div class="name">wenjian_pdf_1</div>
+                <div class="code-name">#icon-wenjian_pdf_1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian_wufashibie"></use>
+                </svg>
+                <div class="name">wenjian_无法识别</div>
+                <div class="code-name">#icon-wenjian_wufashibie</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian_wrod"></use>
+                </svg>
+                <div class="name">wenjian_wrod</div>
+                <div class="code-name">#icon-wenjian_wrod</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian_xlsx"></use>
+                </svg>
+                <div class="name">wenjian_xlsx</div>
+                <div class="code-name">#icon-wenjian_xlsx</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wenjian"></use>
+                </svg>
+                <div class="name">文件</div>
+                <div class="code-name">#icon-wenjian</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-a-kaiguan_off"></use>
+                </svg>
+                <div class="name">开&关_off</div>
+                <div class="code-name">#icon-a-kaiguan_off</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-a-kaiguan_on"></use>
+                </svg>
+                <div class="name">开&关_on</div>
+                <div class="code-name">#icon-a-kaiguan_on</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-kecheng_download"></use>
+                </svg>
+                <div class="name">kecheng_download</div>
+                <div class="code-name">#icon-kecheng_download</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-kecheng_shipin-01"></use>
+                </svg>
+                <div class="name">kecheng_shipin-01</div>
+                <div class="code-name">#icon-kecheng_shipin-01</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-kecheng_shipin-02"></use>
+                </svg>
+                <div class="name">kecheng_shipin-02</div>
+                <div class="code-name">#icon-kecheng_shipin-02</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-kecheng_fangda"></use>
+                </svg>
+                <div class="name">kecheng_fangda</div>
+                <div class="code-name">#icon-kecheng_fangda</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-kecheng_shuaxin"></use>
+                </svg>
+                <div class="name">kecheng_shuaxin</div>
+                <div class="code-name">#icon-kecheng_shuaxin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shujudaochu_xiao1"></use>
+                </svg>
+                <div class="name">数据导出_小</div>
+                <div class="code-name">#icon-shujudaochu_xiao1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xiazaixiangmubaogao"></use>
+                </svg>
+                <div class="name">下载项目报告</div>
+                <div class="code-name">#icon-xiazaixiangmubaogao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-edit"></use>
+                </svg>
+                <div class="name">edit</div>
+                <div class="code-name">#icon-edit</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-part"></use>
+                </svg>
+                <div class="name">part</div>
+                <div class="code-name">#icon-part</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weizhi"></use>
+                </svg>
+                <div class="name">位置</div>
+                <div class="code-name">#icon-weizhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xinxileixing"></use>
+                </svg>
+                <div class="name">信息类型</div>
+                <div class="code-name">#icon-xinxileixing</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-morenqianming"></use>
+                </svg>
+                <div class="name">默认签名</div>
+                <div class="code-name">#icon-morenqianming</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanjianci"></use>
+                </svg>
+                <div class="name">关键词</div>
+                <div class="code-name">#icon-guanjianci</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xiangmupipei_02"></use>
+                </svg>
+                <div class="name">项目匹配_02</div>
+                <div class="code-name">#icon-xiangmupipei_02</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanjiancipipeifangshi"></use>
+                </svg>
+                <div class="name">关键词匹配方式</div>
+                <div class="code-name">#icon-guanjiancipipeifangshi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wodechanpin"></use>
+                </svg>
+                <div class="name">我的产品</div>
+                <div class="code-name">#icon-wodechanpin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-pullEg"></use>
+                </svg>
+                <div class="name">pullEg</div>
+                <div class="code-name">#icon-pullEg</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-time"></use>
+                </svg>
+                <div class="name">time</div>
+                <div class="code-name">#icon-time</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-byEmail"></use>
+                </svg>
+                <div class="name">byEmail</div>
+                <div class="code-name">#icon-byEmail</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-bell"></use>
+                </svg>
+                <div class="name">bell</div>
+                <div class="code-name">#icon-bell</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_coupon"></use>
+                </svg>
+                <div class="name">mine_coupon</div>
+                <div class="code-name">#icon-mine_coupon</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-min_case"></use>
+                </svg>
+                <div class="name">min_case</div>
+                <div class="code-name">#icon-min_case</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_export"></use>
+                </svg>
+                <div class="name">mine_export</div>
+                <div class="code-name">#icon-mine_export</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_opinion"></use>
+                </svg>
+                <div class="name">mine_opinion</div>
+                <div class="code-name">#icon-mine_opinion</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_qiyechaxun"></use>
+                </svg>
+                <div class="name">mine_qiyechaxun</div>
+                <div class="code-name">#icon-mine_qiyechaxun</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_shoucang"></use>
+                </svg>
+                <div class="name">mine_shoucang</div>
+                <div class="code-name">#icon-mine_shoucang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_share"></use>
+                </svg>
+                <div class="name">mine_share</div>
+                <div class="code-name">#icon-mine_share</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_vip"></use>
+                </svg>
+                <div class="name">mine_vip</div>
+                <div class="code-name">#icon-mine_vip</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_company"></use>
+                </svg>
+                <div class="name">mine_company</div>
+                <div class="code-name">#icon-mine_company</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_help"></use>
+                </svg>
+                <div class="name">mine_help</div>
+                <div class="code-name">#icon-mine_help</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_jianyubi"></use>
+                </svg>
+                <div class="name">mine_jianyubi</div>
+                <div class="code-name">#icon-mine_jianyubi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_huobanjihua"></use>
+                </svg>
+                <div class="name">mine_伙伴计划</div>
+                <div class="code-name">#icon-mine_huobanjihua</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_about"></use>
+                </svg>
+                <div class="name">mine_about</div>
+                <div class="code-name">#icon-mine_about</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_subscription"></use>
+                </svg>
+                <div class="name">mine_subscription</div>
+                <div class="code-name">#icon-mine_subscription</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mine_rengongkefu"></use>
+                </svg>
+                <div class="name">mine_人工客服</div>
+                <div class="code-name">#icon-mine_rengongkefu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingdan_yiwancheng"></use>
+                </svg>
+                <div class="name">dingdan_已完成</div>
+                <div class="code-name">#icon-dingdan_yiwancheng</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingdan_yiquxiao"></use>
+                </svg>
+                <div class="name">dingdan_已取消</div>
+                <div class="code-name">#icon-dingdan_yiquxiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingdan_daifukuan"></use>
+                </svg>
+                <div class="name">dingdan_待付款</div>
+                <div class="code-name">#icon-dingdan_daifukuan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingdan_quanbudingdan"></use>
+                </svg>
+                <div class="name">dingdan_全部订单</div>
+                <div class="code-name">#icon-dingdan_quanbudingdan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-warning"></use>
+                </svg>
+                <div class="name">warning</div>
+                <div class="code-name">#icon-warning</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weizhidingwei"></use>
+                </svg>
+                <div class="name">位置定位</div>
+                <div class="code-name">#icon-weizhidingwei</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dataDelete"></use>
+                </svg>
+                <div class="name">dataDelete</div>
+                <div class="code-name">#icon-dataDelete</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tousujubao"></use>
+                </svg>
+                <div class="name">投诉举报</div>
+                <div class="code-name">#icon-tousujubao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shoucang_weishoucang"></use>
+                </svg>
+                <div class="name">收藏_未收藏</div>
+                <div class="code-name">#icon-shoucang_weishoucang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shoucang"></use>
+                </svg>
+                <div class="name">收藏</div>
+                <div class="code-name">#icon-shoucang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shenrulejie"></use>
+                </svg>
+                <div class="name">深入了解</div>
+                <div class="code-name">#icon-shenrulejie</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-close"></use>
+                </svg>
+                <div class="name">close</div>
+                <div class="code-name">#icon-close</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-close_heidi"></use>
+                </svg>
+                <div class="name">close_heidi</div>
+                <div class="code-name">#icon-close_heidi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-close_touming"></use>
+                </svg>
+                <div class="name">close_透明</div>
+                <div class="code-name">#icon-close_touming</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanzhu_yiguanzhu"></use>
+                </svg>
+                <div class="name">关注_已关注</div>
+                <div class="code-name">#icon-guanzhu_yiguanzhu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanzhu_jiaguanzhu"></use>
+                </svg>
+                <div class="name">关注_加关注</div>
+                <div class="code-name">#icon-guanzhu_jiaguanzhu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanzhu_weiguanzhu"></use>
+                </svg>
+                <div class="name">关注_未关注</div>
+                <div class="code-name">#icon-guanzhu_weiguanzhu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shouqi"></use>
+                </svg>
+                <div class="name">收起</div>
+                <div class="code-name">#icon-shouqi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-youbian"></use>
+                </svg>
+                <div class="name">右边</div>
+                <div class="code-name">#icon-youbian</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhankai"></use>
+                </svg>
+                <div class="name">展开</div>
+                <div class="code-name">#icon-zhankai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-lv"></use>
+                </svg>
+                <div class="name">绿</div>
+                <div class="code-name">#icon-lv</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-banxuan"></use>
+                </svg>
+                <div class="name">banxuan</div>
+                <div class="code-name">#icon-banxuan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-choose1"></use>
+                </svg>
+                <div class="name">choose</div>
+                <div class="code-name">#icon-choose1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-unchoose1"></use>
+                </svg>
+                <div class="name">unchoose</div>
+                <div class="code-name">#icon-unchoose1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-up"></use>
+                </svg>
+                <div class="name">up</div>
+                <div class="code-name">#icon-up</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-down"></use>
+                </svg>
+                <div class="name">down</div>
+                <div class="code-name">#icon-down</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-renling_weirenling"></use>
+                </svg>
+                <div class="name">renling_未认领</div>
+                <div class="code-name">#icon-renling_weirenling</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-renling_yirenling"></use>
+                </svg>
+                <div class="name">renling_已认领</div>
+                <div class="code-name">#icon-renling_yirenling</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-date_gray"></use>
+                </svg>
+                <div class="name">date_gray</div>
+                <div class="code-name">#icon-date_gray</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-help1"></use>
+                </svg>
+                <div class="name">help</div>
+                <div class="code-name">#icon-help1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-search"></use>
+                </svg>
+                <div class="name">search</div>
+                <div class="code-name">#icon-search</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shujudaochu_xiao"></use>
+                </svg>
+                <div class="name">数据导出_小</div>
+                <div class="code-name">#icon-shujudaochu_xiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-notice"></use>
+                </svg>
+                <div class="name">notice</div>
+                <div class="code-name">#icon-notice</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-share"></use>
+                </svg>
+                <div class="name">share</div>
+                <div class="code-name">#icon-share</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-Setting"></use>
+                </svg>
+                <div class="name">Setting</div>
+                <div class="code-name">#icon-Setting</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-back"></use>
+                </svg>
+                <div class="name">back</div>
+                <div class="code-name">#icon-back</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingyue"></use>
+                </svg>
+                <div class="name">收藏</div>
+                <div class="code-name">#icon-dingyue</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-sousuo1"></use>
+                </svg>
+                <div class="name">搜索</div>
+                <div class="code-name">#icon-sousuo1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wo"></use>
+                </svg>
+                <div class="name">我</div>
+                <div class="code-name">#icon-wo</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weixin1"></use>
+                </svg>
+                <div class="name">微信</div>
+                <div class="code-name">#icon-weixin1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wo-shezhi"></use>
+                </svg>
+                <div class="name">我-设置</div>
+                <div class="code-name">#icon-wo-shezhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shiyanshi1"></use>
+                </svg>
+                <div class="name">实验室</div>
+                <div class="code-name">#icon-shiyanshi1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wo-tongzhi"></use>
+                </svg>
+                <div class="name">我-通知</div>
+                <div class="code-name">#icon-wo-tongzhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-qq1"></use>
+                </svg>
+                <div class="name">qq</div>
+                <div class="code-name">#icon-qq1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wo-woguanzhudeqiye"></use>
+                </svg>
+                <div class="name">我-我关注的企业</div>
+                <div class="code-name">#icon-wo-woguanzhudeqiye</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wo-woguanzhudexiangmu"></use>
+                </svg>
+                <div class="name">我-我关注的项目</div>
+                <div class="code-name">#icon-wo-woguanzhudexiangmu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhengyan"></use>
+                </svg>
+                <div class="name">睁眼</div>
+                <div class="code-name">#icon-zhengyan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-biyan"></use>
+                </svg>
+                <div class="name">闭眼</div>
+                <div class="code-name">#icon-biyan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-pengyouquan1"></use>
+                </svg>
+                <div class="name">朋友圈</div>
+                <div class="code-name">#icon-pengyouquan1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weixin11"></use>
+                </svg>
+                <div class="name">weixin</div>
+                <div class="code-name">#icon-weixin11</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-duihao"></use>
+                </svg>
+                <div class="name">对号</div>
+                <div class="code-name">#icon-duihao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-delete_gray"></use>
+                </svg>
+                <div class="name">delete_gray</div>
+                <div class="code-name">#icon-delete_gray</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shenhezhong"></use>
+                </svg>
+                <div class="name">审核中</div>
+                <div class="code-name">#icon-shenhezhong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-gongduigongzhuanzhang"></use>
+                </svg>
+                <div class="name">公对公转账</div>
+                <div class="code-name">#icon-gongduigongzhuanzhang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-jiaobiao"></use>
+                </svg>
+                <div class="name">角标</div>
+                <div class="code-name">#icon-jiaobiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-cloud-download"></use>
+                </svg>
+                <div class="name">数据导出</div>
+                <div class="code-name">#icon-cloud-download</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-dingdan1"></use>
+                </svg>
+                <div class="name">支付订单</div>
+                <div class="code-name">#icon-dingdan1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhifubaozhifu"></use>
+                </svg>
+                <div class="name">支付宝支付</div>
+                <div class="code-name">#icon-zhifubaozhifu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weixinzhifu"></use>
+                </svg>
+                <div class="name">微信支付</div>
+                <div class="code-name">#icon-weixinzhifu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tianjia1"></use>
+                </svg>
+                <div class="name">添加</div>
+                <div class="code-name">#icon-tianjia1</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tuijianjiaobiao"></use>
+                </svg>
+                <div class="name">推荐角标</div>
+                <div class="code-name">#icon-tuijianjiaobiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanyu"></use>
+                </svg>
+                <div class="name">guanyu</div>
+                <div class="code-name">#icon-guanyu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-rili"></use>
+                </svg>
+                <div class="name">rili</div>
+                <div class="code-name">#icon-rili</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-huangguan"></use>
+                </svg>
+                <div class="name">huangguan</div>
+                <div class="code-name">#icon-huangguan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-lishidaochu"></use>
+                </svg>
+                <div class="name">lishidaochu</div>
+                <div class="code-name">#icon-lishidaochu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shaixuan"></use>
+                </svg>
+                <div class="name">shaixuan</div>
+                <div class="code-name">#icon-shaixuan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shezhi"></use>
+                </svg>
+                <div class="name">shezhi</div>
+                <div class="code-name">#icon-shezhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tianjia"></use>
+                </svg>
+                <div class="name">tianjia</div>
+                <div class="code-name">#icon-tianjia</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xiugai"></use>
+                </svg>
+                <div class="name">xiugai</div>
+                <div class="code-name">#icon-xiugai</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wodedingdan"></use>
+                </svg>
+                <div class="name">wodedingdan</div>
+                <div class="code-name">#icon-wodedingdan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-xuanzhongjiao"></use>
+                </svg>
+                <div class="name">xuanzhongjiao</div>
+                <div class="code-name">#icon-xuanzhongjiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhifuwancheng"></use>
+                </svg>
+                <div class="name">zhifuwancheng</div>
+                <div class="code-name">#icon-zhifuwancheng</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanyujianyu-fankui"></use>
+                </svg>
+                <div class="name">关于剑鱼-反馈</div>
+                <div class="code-name">#icon-guanyujianyu-fankui</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-guanyujianyu-bangzhu"></use>
+                </svg>
+                <div class="name">关于剑鱼-帮助</div>
+                <div class="code-name">#icon-guanyujianyu-bangzhu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-pengyouquan"></use>
+                </svg>
+                <div class="name">朋友圈</div>
+                <div class="code-name">#icon-pengyouquan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shaixuan-moren"></use>
+                </svg>
+                <div class="name">筛选-默认</div>
+                <div class="code-name">#icon-shaixuan-moren</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shaixuan-yixuan"></use>
+                </svg>
+                <div class="name">筛选-已选</div>
+                <div class="code-name">#icon-shaixuan-yixuan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shiyanshi"></use>
+                </svg>
+                <div class="name">实验室</div>
+                <div class="code-name">#icon-shiyanshi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shiyongbangzhu"></use>
+                </svg>
+                <div class="name">使用帮助</div>
+                <div class="code-name">#icon-shiyongbangzhu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tishi"></use>
+                </svg>
+                <div class="name">提示</div>
+                <div class="code-name">#icon-tishi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tixingshijian"></use>
+                </svg>
+                <div class="name">提醒时间</div>
+                <div class="code-name">#icon-tixingshijian</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-weixin"></use>
+                </svg>
+                <div class="name">微信</div>
+                <div class="code-name">#icon-weixin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-qq"></use>
+                </svg>
+                <div class="name">qq</div>
+                <div class="code-name">#icon-qq</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-biaoge"></use>
+                </svg>
+                <div class="name">表格</div>
+                <div class="code-name">#icon-biaoge</div>
+            </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="symbol-">Symbol 引用</h2>
+          <hr>
+
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
+          <ul>
+            <li>支持多色图标了,不再受单色限制。</li>
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
+          </ul>
+          <p>使用步骤如下:</p>
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
+</code></pre>
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
+<pre><code class="language-html">&lt;style&gt;
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+&lt;/style&gt;
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
+&lt;/svg&gt;
+</code></pre>
+          </div>
+      </div>
+
+    </div>
+  </div>
+  <script>
+  $(document).ready(function () {
+      $('.tab-container .content:first').show()
+
+      $('#tabs li').click(function (e) {
+        var tabContent = $('.tab-container .content')
+        var index = $(this).index()
+
+        if ($(this).hasClass('active')) {
+          return
+        } else {
+          $('#tabs li').removeClass('active')
+          $(this).addClass('active')
+
+          tabContent.hide().eq(index).fadeIn()
+        }
+      })
+    })
+  </script>
+</body>
+</html>

+ 727 - 0
apps/mobile/src/assets/fonts/app/iconfont.css

@@ -0,0 +1,727 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 687854 */
+  src: url('iconfont.woff2?t=1705912866856') format('woff2'),
+       url('iconfont.woff?t=1705912866856') format('woff'),
+       url('iconfont.ttf?t=1705912866856') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-jiankong:before {
+  content: "\e60a";
+}
+
+.icon-yijiankong:before {
+  content: "\e602";
+}
+
+.icon-compress:before {
+  content: "\e710";
+}
+
+.icon-add:before {
+  content: "\e70d";
+}
+
+.icon-yiqiandao:before {
+  content: "\e70e";
+}
+
+.icon-reduce:before {
+  content: "\e70f";
+}
+
+.icon-workSpace:before {
+  content: "\e709";
+}
+
+.icon-workSpace-1:before {
+  content: "\e708";
+}
+
+.icon-tubiao_qingchu:before {
+  content: "\e61e";
+}
+
+.icon-gengxin:before {
+  content: "\e65f";
+}
+
+.icon-fenxiang:before {
+  content: "\e705";
+}
+
+.icon-ren:before {
+  content: "\e706";
+}
+
+.icon-canbiao:before {
+  content: "\e703";
+}
+
+.icon-gengduo-shuxiang:before {
+  content: "\e8c4";
+}
+
+.icon-chaping-xianxing:before {
+  content: "\e7d5";
+}
+
+.icon-dianzan:before {
+  content: "\ec7f";
+}
+
+.icon-chehui1:before {
+  content: "\e610";
+}
+
+.icon-fuzhi:before {
+  content: "\ec7a";
+}
+
+.icon-yduigantanhaoshixin:before {
+  content: "\e6c9";
+}
+
+.icon-bumanyi:before {
+  content: "\e6da";
+}
+
+.icon-manyi:before {
+  content: "\e6db";
+}
+
+.icon-henmanyi:before {
+  content: "\e6dc";
+}
+
+.icon-henbumanyi:before {
+  content: "\e6dd";
+}
+
+.icon-yiban:before {
+  content: "\e6e3";
+}
+
+.icon-bumanyi-cai:before {
+  content: "\e6e4";
+}
+
+.icon-yiban-cai:before {
+  content: "\e6e5";
+}
+
+.icon-manyi-cai:before {
+  content: "\e6e6";
+}
+
+.icon-henmanyi-cai:before {
+  content: "\e6e7";
+}
+
+.icon-henbumanyi-cai:before {
+  content: "\e6e8";
+}
+
+.icon-nav_un_book:before {
+  content: "\e6de";
+}
+
+.icon-nav_un_home:before {
+  content: "\e6df";
+}
+
+.icon-nav_un_box:before {
+  content: "\e6e0";
+}
+
+.icon-nav_un_message:before {
+  content: "\e6e1";
+}
+
+.icon-nav_un_mine:before {
+  content: "\e6e2";
+}
+
+.icon-save:before {
+  content: "\e6d9";
+}
+
+.icon-zhoubao:before {
+  content: "\e6c7";
+}
+
+.icon-yuebao:before {
+  content: "\e6c8";
+}
+
+.icon-tianxie:before {
+  content: "\e6c6";
+}
+
+.icon-add-01:before {
+  content: "\e6c4";
+}
+
+.icon-jianhao:before {
+  content: "\e6c5";
+}
+
+.icon-zhongbiaoyuce:before {
+  content: "\e6c3";
+}
+
+.icon-wenku_word:before {
+  content: "\e6c0";
+}
+
+.icon-wenku_pdf:before {
+  content: "\e6c1";
+}
+
+.icon-wenku_ppt:before {
+  content: "\e6c2";
+}
+
+.icon-wenku_excel:before {
+  content: "\e6ad";
+}
+
+.icon-qiehuan:before {
+  content: "\e6ac";
+}
+
+.icon-wenjianjia:before {
+  content: "\e6be";
+}
+
+.icon-taocan:before {
+  content: "\e6bf";
+}
+
+.icon-qianming:before {
+  content: "\e6bd";
+}
+
+.icon-xiangji:before {
+  content: "\e6bc";
+}
+
+.icon-chehui:before {
+  content: "\e6bb";
+}
+
+.icon-wenjian_PDF:before {
+  content: "\e6b7";
+}
+
+.icon-wenjian_pdf_1:before {
+  content: "\e6b6";
+}
+
+.icon-wenjian_wufashibie:before {
+  content: "\e6b8";
+}
+
+.icon-wenjian_wrod:before {
+  content: "\e6b9";
+}
+
+.icon-wenjian_xlsx:before {
+  content: "\e6ba";
+}
+
+.icon-wenjian:before {
+  content: "\e6b5";
+}
+
+.icon-a-kaiguan_off:before {
+  content: "\e6b3";
+}
+
+.icon-a-kaiguan_on:before {
+  content: "\e6b4";
+}
+
+.icon-kecheng_download:before {
+  content: "\e6b2";
+}
+
+.icon-kecheng_shipin-01:before {
+  content: "\e6b1";
+}
+
+.icon-kecheng_shipin-02:before {
+  content: "\e6ae";
+}
+
+.icon-kecheng_fangda:before {
+  content: "\e6af";
+}
+
+.icon-kecheng_shuaxin:before {
+  content: "\e6b0";
+}
+
+.icon-shujudaochu_xiao1:before {
+  content: "\e6ab";
+}
+
+.icon-xiazaixiangmubaogao:before {
+  content: "\e6aa";
+}
+
+.icon-edit:before {
+  content: "\e6a8";
+}
+
+.icon-part:before {
+  content: "\e6a9";
+}
+
+.icon-weizhi:before {
+  content: "\e6a1";
+}
+
+.icon-xinxileixing:before {
+  content: "\e6a2";
+}
+
+.icon-morenqianming:before {
+  content: "\e6a3";
+}
+
+.icon-guanjianci:before {
+  content: "\e6a4";
+}
+
+.icon-xiangmupipei_02:before {
+  content: "\e6a5";
+}
+
+.icon-guanjiancipipeifangshi:before {
+  content: "\e6a6";
+}
+
+.icon-wodechanpin:before {
+  content: "\e6a7";
+}
+
+.icon-pullEg:before {
+  content: "\e6a0";
+}
+
+.icon-time:before {
+  content: "\e69f";
+}
+
+.icon-byEmail:before {
+  content: "\e69d";
+}
+
+.icon-bell:before {
+  content: "\e69e";
+}
+
+.icon-mine_coupon:before {
+  content: "\e69c";
+}
+
+.icon-min_case:before {
+  content: "\e68f";
+}
+
+.icon-mine_export:before {
+  content: "\e690";
+}
+
+.icon-mine_opinion:before {
+  content: "\e691";
+}
+
+.icon-mine_qiyechaxun:before {
+  content: "\e692";
+}
+
+.icon-mine_shoucang:before {
+  content: "\e693";
+}
+
+.icon-mine_share:before {
+  content: "\e694";
+}
+
+.icon-mine_vip:before {
+  content: "\e695";
+}
+
+.icon-mine_company:before {
+  content: "\e696";
+}
+
+.icon-mine_help:before {
+  content: "\e697";
+}
+
+.icon-mine_jianyubi:before {
+  content: "\e698";
+}
+
+.icon-mine_huobanjihua:before {
+  content: "\e699";
+}
+
+.icon-mine_about:before {
+  content: "\e69a";
+}
+
+.icon-mine_subscription:before {
+  content: "\e69b";
+}
+
+.icon-mine_rengongkefu:before {
+  content: "\e68e";
+}
+
+.icon-dingdan_yiwancheng:before {
+  content: "\e68a";
+}
+
+.icon-dingdan_yiquxiao:before {
+  content: "\e68b";
+}
+
+.icon-dingdan_daifukuan:before {
+  content: "\e68c";
+}
+
+.icon-dingdan_quanbudingdan:before {
+  content: "\e68d";
+}
+
+.icon-warning:before {
+  content: "\e686";
+}
+
+.icon-weizhidingwei:before {
+  content: "\e687";
+}
+
+.icon-dataDelete:before {
+  content: "\e688";
+}
+
+.icon-tousujubao:before {
+  content: "\e689";
+}
+
+.icon-shoucang_weishoucang:before {
+  content: "\e685";
+}
+
+.icon-shoucang:before {
+  content: "\e684";
+}
+
+.icon-shenrulejie:before {
+  content: "\e683";
+}
+
+.icon-close:before {
+  content: "\e680";
+}
+
+.icon-close_heidi:before {
+  content: "\e682";
+}
+
+.icon-close_touming:before {
+  content: "\e681";
+}
+
+.icon-guanzhu_yiguanzhu:before {
+  content: "\e67d";
+}
+
+.icon-guanzhu_jiaguanzhu:before {
+  content: "\e67e";
+}
+
+.icon-guanzhu_weiguanzhu:before {
+  content: "\e67f";
+}
+
+.icon-shouqi:before {
+  content: "\e67a";
+}
+
+.icon-youbian:before {
+  content: "\e67b";
+}
+
+.icon-zhankai:before {
+  content: "\e67c";
+}
+
+.icon-lv:before {
+  content: "\e679";
+}
+
+.icon-banxuan:before {
+  content: "\e678";
+}
+
+.icon-choose1:before {
+  content: "\e676";
+}
+
+.icon-unchoose1:before {
+  content: "\e677";
+}
+
+.icon-up:before {
+  content: "\e674";
+}
+
+.icon-down:before {
+  content: "\e675";
+}
+
+.icon-renling_weirenling:before {
+  content: "\e673";
+}
+
+.icon-renling_yirenling:before {
+  content: "\e672";
+}
+
+.icon-date_gray:before {
+  content: "\e66f";
+}
+
+.icon-help1:before {
+  content: "\e671";
+}
+
+.icon-search:before {
+  content: "\e66e";
+}
+
+.icon-shujudaochu_xiao:before {
+  content: "\e66d";
+}
+
+.icon-notice:before {
+  content: "\e664";
+}
+
+.icon-share:before {
+  content: "\e667";
+}
+
+.icon-Setting:before {
+  content: "\e66c";
+}
+
+.icon-back:before {
+  content: "\e663";
+}
+
+.icon-dingyue:before {
+  content: "\e607";
+}
+
+.icon-sousuo1:before {
+  content: "\e60d";
+}
+
+.icon-wo:before {
+  content: "\e614";
+}
+
+.icon-weixin1:before {
+  content: "\e616";
+}
+
+.icon-wo-shezhi:before {
+  content: "\e617";
+}
+
+.icon-shiyanshi1:before {
+  content: "\e643";
+}
+
+.icon-wo-tongzhi:before {
+  content: "\e648";
+}
+
+.icon-qq1:before {
+  content: "\e64a";
+}
+
+.icon-wo-woguanzhudeqiye:before {
+  content: "\e64b";
+}
+
+.icon-wo-woguanzhudexiangmu:before {
+  content: "\e64c";
+}
+
+.icon-zhengyan:before {
+  content: "\e64d";
+}
+
+.icon-biyan:before {
+  content: "\e64e";
+}
+
+.icon-pengyouquan1:before {
+  content: "\e64f";
+}
+
+.icon-weixin11:before {
+  content: "\e651";
+}
+
+.icon-duihao:before {
+  content: "\e666";
+}
+
+.icon-delete_gray:before {
+  content: "\e669";
+}
+
+.icon-shenhezhong:before {
+  content: "\e66a";
+}
+
+.icon-gongduigongzhuanzhang:before {
+  content: "\e66b";
+}
+
+.icon-jiaobiao:before {
+  content: "\e670";
+}
+
+.icon-cloud-download:before {
+  content: "\e662";
+}
+
+.icon-dingdan1:before {
+  content: "\e660";
+}
+
+.icon-zhifubaozhifu:before {
+  content: "\e645";
+}
+
+.icon-weixinzhifu:before {
+  content: "\e646";
+}
+
+.icon-tianjia1:before {
+  content: "\e647";
+}
+
+.icon-tuijianjiaobiao:before {
+  content: "\e641";
+}
+
+.icon-guanyu:before {
+  content: "\e601";
+}
+
+.icon-rili:before {
+  content: "\e603";
+}
+
+.icon-huangguan:before {
+  content: "\e604";
+}
+
+.icon-lishidaochu:before {
+  content: "\e605";
+}
+
+.icon-shaixuan:before {
+  content: "\e606";
+}
+
+.icon-shezhi:before {
+  content: "\e608";
+}
+
+.icon-tianjia:before {
+  content: "\e609";
+}
+
+.icon-xiugai:before {
+  content: "\e60e";
+}
+
+.icon-wodedingdan:before {
+  content: "\e60f";
+}
+
+.icon-xuanzhongjiao:before {
+  content: "\e611";
+}
+
+.icon-zhifuwancheng:before {
+  content: "\e612";
+}
+
+.icon-guanyujianyu-fankui:before {
+  content: "\e61b";
+}
+
+.icon-guanyujianyu-bangzhu:before {
+  content: "\e61c";
+}
+
+.icon-pengyouquan:before {
+  content: "\e623";
+}
+
+.icon-shaixuan-moren:before {
+  content: "\e625";
+}
+
+.icon-shaixuan-yixuan:before {
+  content: "\e626";
+}
+
+.icon-shiyanshi:before {
+  content: "\e628";
+}
+
+.icon-shiyongbangzhu:before {
+  content: "\e629";
+}
+
+.icon-tishi:before {
+  content: "\e62e";
+}
+
+.icon-tixingshijian:before {
+  content: "\e62f";
+}
+
+.icon-weixin:before {
+  content: "\e634";
+}
+
+.icon-qq:before {
+  content: "\e63a";
+}
+
+.icon-biaoge:before {
+  content: "\e63c";
+}
+

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
apps/mobile/src/assets/fonts/app/iconfont.js


+ 1255 - 0
apps/mobile/src/assets/fonts/app/iconfont.json

@@ -0,0 +1,1255 @@
+{
+  "id": "687854",
+  "name": "剑鱼移动端",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "39063691",
+      "name": "监控",
+      "font_class": "jiankong",
+      "unicode": "e60a",
+      "unicode_decimal": 58890
+    },
+    {
+      "icon_id": "39063379",
+      "name": "已监控",
+      "font_class": "yijiankong",
+      "unicode": "e602",
+      "unicode_decimal": 58882
+    },
+    {
+      "icon_id": "37664626",
+      "name": "compress",
+      "font_class": "compress",
+      "unicode": "e710",
+      "unicode_decimal": 59152
+    },
+    {
+      "icon_id": "37662886",
+      "name": "add",
+      "font_class": "add",
+      "unicode": "e70d",
+      "unicode_decimal": 59149
+    },
+    {
+      "icon_id": "37662887",
+      "name": "yiqiandao",
+      "font_class": "yiqiandao",
+      "unicode": "e70e",
+      "unicode_decimal": 59150
+    },
+    {
+      "icon_id": "37662888",
+      "name": "reduce",
+      "font_class": "reduce",
+      "unicode": "e70f",
+      "unicode_decimal": 59151
+    },
+    {
+      "icon_id": "36929346",
+      "name": "workSpace",
+      "font_class": "workSpace",
+      "unicode": "e709",
+      "unicode_decimal": 59145
+    },
+    {
+      "icon_id": "36929253",
+      "name": "workSpace-1",
+      "font_class": "workSpace-1",
+      "unicode": "e708",
+      "unicode_decimal": 59144
+    },
+    {
+      "icon_id": "22965489",
+      "name": "清除",
+      "font_class": "tubiao_qingchu",
+      "unicode": "e61e",
+      "unicode_decimal": 58910
+    },
+    {
+      "icon_id": "25964422",
+      "name": "更新",
+      "font_class": "gengxin",
+      "unicode": "e65f",
+      "unicode_decimal": 58975
+    },
+    {
+      "icon_id": "35536120",
+      "name": "分享",
+      "font_class": "fenxiang",
+      "unicode": "e705",
+      "unicode_decimal": 59141
+    },
+    {
+      "icon_id": "35536158",
+      "name": "人",
+      "font_class": "ren",
+      "unicode": "e706",
+      "unicode_decimal": 59142
+    },
+    {
+      "icon_id": "35489077",
+      "name": "canbiao",
+      "font_class": "canbiao",
+      "unicode": "e703",
+      "unicode_decimal": 59139
+    },
+    {
+      "icon_id": "1727447",
+      "name": "216更多-竖向",
+      "font_class": "gengduo-shuxiang",
+      "unicode": "e8c4",
+      "unicode_decimal": 59588
+    },
+    {
+      "icon_id": "6129287",
+      "name": "245差评-线性",
+      "font_class": "chaping-xianxing",
+      "unicode": "e7d5",
+      "unicode_decimal": 59349
+    },
+    {
+      "icon_id": "6337455",
+      "name": "点赞",
+      "font_class": "dianzan",
+      "unicode": "ec7f",
+      "unicode_decimal": 60543
+    },
+    {
+      "icon_id": "3683884",
+      "name": "撤回",
+      "font_class": "chehui1",
+      "unicode": "e610",
+      "unicode_decimal": 58896
+    },
+    {
+      "icon_id": "5993150",
+      "name": "复制",
+      "font_class": "fuzhi",
+      "unicode": "ec7a",
+      "unicode_decimal": 60538
+    },
+    {
+      "icon_id": "670110",
+      "name": "YDUI-感叹号(实心)",
+      "font_class": "yduigantanhaoshixin",
+      "unicode": "e6c9",
+      "unicode_decimal": 59081
+    },
+    {
+      "icon_id": "30395630",
+      "name": "不满意",
+      "font_class": "bumanyi",
+      "unicode": "e6da",
+      "unicode_decimal": 59098
+    },
+    {
+      "icon_id": "30395631",
+      "name": "满意",
+      "font_class": "manyi",
+      "unicode": "e6db",
+      "unicode_decimal": 59099
+    },
+    {
+      "icon_id": "30395632",
+      "name": "很满意",
+      "font_class": "henmanyi",
+      "unicode": "e6dc",
+      "unicode_decimal": 59100
+    },
+    {
+      "icon_id": "30395633",
+      "name": "很不满意",
+      "font_class": "henbumanyi",
+      "unicode": "e6dd",
+      "unicode_decimal": 59101
+    },
+    {
+      "icon_id": "30395715",
+      "name": "一般-灰",
+      "font_class": "yiban",
+      "unicode": "e6e3",
+      "unicode_decimal": 59107
+    },
+    {
+      "icon_id": "30395765",
+      "name": "不满意-彩",
+      "font_class": "bumanyi-cai",
+      "unicode": "e6e4",
+      "unicode_decimal": 59108
+    },
+    {
+      "icon_id": "30395766",
+      "name": "一般-彩",
+      "font_class": "yiban-cai",
+      "unicode": "e6e5",
+      "unicode_decimal": 59109
+    },
+    {
+      "icon_id": "30395767",
+      "name": "满意-彩",
+      "font_class": "manyi-cai",
+      "unicode": "e6e6",
+      "unicode_decimal": 59110
+    },
+    {
+      "icon_id": "30395768",
+      "name": "很满意-彩",
+      "font_class": "henmanyi-cai",
+      "unicode": "e6e7",
+      "unicode_decimal": 59111
+    },
+    {
+      "icon_id": "30395769",
+      "name": "很不满意-彩",
+      "font_class": "henbumanyi-cai",
+      "unicode": "e6e8",
+      "unicode_decimal": 59112
+    },
+    {
+      "icon_id": "29977300",
+      "name": "nav_un_book",
+      "font_class": "nav_un_book",
+      "unicode": "e6de",
+      "unicode_decimal": 59102
+    },
+    {
+      "icon_id": "29977301",
+      "name": "nav_un_home",
+      "font_class": "nav_un_home",
+      "unicode": "e6df",
+      "unicode_decimal": 59103
+    },
+    {
+      "icon_id": "29977302",
+      "name": "nav_un_box",
+      "font_class": "nav_un_box",
+      "unicode": "e6e0",
+      "unicode_decimal": 59104
+    },
+    {
+      "icon_id": "29977303",
+      "name": "nav_un_message",
+      "font_class": "nav_un_message",
+      "unicode": "e6e1",
+      "unicode_decimal": 59105
+    },
+    {
+      "icon_id": "29977304",
+      "name": "nav_un_mine",
+      "font_class": "nav_un_mine",
+      "unicode": "e6e2",
+      "unicode_decimal": 59106
+    },
+    {
+      "icon_id": "28763699",
+      "name": "save",
+      "font_class": "save",
+      "unicode": "e6d9",
+      "unicode_decimal": 59097
+    },
+    {
+      "icon_id": "28337907",
+      "name": "周报",
+      "font_class": "zhoubao",
+      "unicode": "e6c7",
+      "unicode_decimal": 59079
+    },
+    {
+      "icon_id": "28337908",
+      "name": "月报",
+      "font_class": "yuebao",
+      "unicode": "e6c8",
+      "unicode_decimal": 59080
+    },
+    {
+      "icon_id": "28337810",
+      "name": "填写",
+      "font_class": "tianxie",
+      "unicode": "e6c6",
+      "unicode_decimal": 59078
+    },
+    {
+      "icon_id": "28336461",
+      "name": "add-01",
+      "font_class": "add-01",
+      "unicode": "e6c4",
+      "unicode_decimal": 59076
+    },
+    {
+      "icon_id": "28336462",
+      "name": "减号",
+      "font_class": "jianhao",
+      "unicode": "e6c5",
+      "unicode_decimal": 59077
+    },
+    {
+      "icon_id": "28336375",
+      "name": "zhongbiaoyuce",
+      "font_class": "zhongbiaoyuce",
+      "unicode": "e6c3",
+      "unicode_decimal": 59075
+    },
+    {
+      "icon_id": "28336213",
+      "name": "wenku_word",
+      "font_class": "wenku_word",
+      "unicode": "e6c0",
+      "unicode_decimal": 59072
+    },
+    {
+      "icon_id": "28336214",
+      "name": "wenku_pdf",
+      "font_class": "wenku_pdf",
+      "unicode": "e6c1",
+      "unicode_decimal": 59073
+    },
+    {
+      "icon_id": "28336215",
+      "name": "wenku_ppt",
+      "font_class": "wenku_ppt",
+      "unicode": "e6c2",
+      "unicode_decimal": 59074
+    },
+    {
+      "icon_id": "28336152",
+      "name": "wenku_excel",
+      "font_class": "wenku_excel",
+      "unicode": "e6ad",
+      "unicode_decimal": 59053
+    },
+    {
+      "icon_id": "28334928",
+      "name": "切换",
+      "font_class": "qiehuan",
+      "unicode": "e6ac",
+      "unicode_decimal": 59052
+    },
+    {
+      "icon_id": "28334600",
+      "name": "文件夹",
+      "font_class": "wenjianjia",
+      "unicode": "e6be",
+      "unicode_decimal": 59070
+    },
+    {
+      "icon_id": "28334601",
+      "name": "套餐",
+      "font_class": "taocan",
+      "unicode": "e6bf",
+      "unicode_decimal": 59071
+    },
+    {
+      "icon_id": "28334562",
+      "name": "签名",
+      "font_class": "qianming",
+      "unicode": "e6bd",
+      "unicode_decimal": 59069
+    },
+    {
+      "icon_id": "28334507",
+      "name": "xiangji",
+      "font_class": "xiangji",
+      "unicode": "e6bc",
+      "unicode_decimal": 59068
+    },
+    {
+      "icon_id": "28334475",
+      "name": "撤回",
+      "font_class": "chehui",
+      "unicode": "e6bb",
+      "unicode_decimal": 59067
+    },
+    {
+      "icon_id": "28334419",
+      "name": "wenjian_PDF",
+      "font_class": "wenjian_PDF",
+      "unicode": "e6b7",
+      "unicode_decimal": 59063
+    },
+    {
+      "icon_id": "28334375",
+      "name": "wenjian_pdf_1",
+      "font_class": "wenjian_pdf_1",
+      "unicode": "e6b6",
+      "unicode_decimal": 59062
+    },
+    {
+      "icon_id": "28334377",
+      "name": "wenjian_无法识别",
+      "font_class": "wenjian_wufashibie",
+      "unicode": "e6b8",
+      "unicode_decimal": 59064
+    },
+    {
+      "icon_id": "28334378",
+      "name": "wenjian_wrod",
+      "font_class": "wenjian_wrod",
+      "unicode": "e6b9",
+      "unicode_decimal": 59065
+    },
+    {
+      "icon_id": "28334379",
+      "name": "wenjian_xlsx",
+      "font_class": "wenjian_xlsx",
+      "unicode": "e6ba",
+      "unicode_decimal": 59066
+    },
+    {
+      "icon_id": "28334099",
+      "name": "文件",
+      "font_class": "wenjian",
+      "unicode": "e6b5",
+      "unicode_decimal": 59061
+    },
+    {
+      "icon_id": "28333832",
+      "name": "开&关_off",
+      "font_class": "a-kaiguan_off",
+      "unicode": "e6b3",
+      "unicode_decimal": 59059
+    },
+    {
+      "icon_id": "28333833",
+      "name": "开&关_on",
+      "font_class": "a-kaiguan_on",
+      "unicode": "e6b4",
+      "unicode_decimal": 59060
+    },
+    {
+      "icon_id": "28333651",
+      "name": "kecheng_download",
+      "font_class": "kecheng_download",
+      "unicode": "e6b2",
+      "unicode_decimal": 59058
+    },
+    {
+      "icon_id": "28333603",
+      "name": "kecheng_shipin-01",
+      "font_class": "kecheng_shipin-01",
+      "unicode": "e6b1",
+      "unicode_decimal": 59057
+    },
+    {
+      "icon_id": "28333566",
+      "name": "kecheng_shipin-02",
+      "font_class": "kecheng_shipin-02",
+      "unicode": "e6ae",
+      "unicode_decimal": 59054
+    },
+    {
+      "icon_id": "28333567",
+      "name": "kecheng_fangda",
+      "font_class": "kecheng_fangda",
+      "unicode": "e6af",
+      "unicode_decimal": 59055
+    },
+    {
+      "icon_id": "28333568",
+      "name": "kecheng_shuaxin",
+      "font_class": "kecheng_shuaxin",
+      "unicode": "e6b0",
+      "unicode_decimal": 59056
+    },
+    {
+      "icon_id": "28329675",
+      "name": "数据导出_小",
+      "font_class": "shujudaochu_xiao1",
+      "unicode": "e6ab",
+      "unicode_decimal": 59051
+    },
+    {
+      "icon_id": "28328930",
+      "name": "下载项目报告",
+      "font_class": "xiazaixiangmubaogao",
+      "unicode": "e6aa",
+      "unicode_decimal": 59050
+    },
+    {
+      "icon_id": "28328863",
+      "name": "edit",
+      "font_class": "edit",
+      "unicode": "e6a8",
+      "unicode_decimal": 59048
+    },
+    {
+      "icon_id": "28328864",
+      "name": "part",
+      "font_class": "part",
+      "unicode": "e6a9",
+      "unicode_decimal": 59049
+    },
+    {
+      "icon_id": "28328460",
+      "name": "位置",
+      "font_class": "weizhi",
+      "unicode": "e6a1",
+      "unicode_decimal": 59041
+    },
+    {
+      "icon_id": "28328461",
+      "name": "信息类型",
+      "font_class": "xinxileixing",
+      "unicode": "e6a2",
+      "unicode_decimal": 59042
+    },
+    {
+      "icon_id": "28328462",
+      "name": "默认签名",
+      "font_class": "morenqianming",
+      "unicode": "e6a3",
+      "unicode_decimal": 59043
+    },
+    {
+      "icon_id": "28328463",
+      "name": "关键词",
+      "font_class": "guanjianci",
+      "unicode": "e6a4",
+      "unicode_decimal": 59044
+    },
+    {
+      "icon_id": "28328464",
+      "name": "项目匹配_02",
+      "font_class": "xiangmupipei_02",
+      "unicode": "e6a5",
+      "unicode_decimal": 59045
+    },
+    {
+      "icon_id": "28328465",
+      "name": "关键词匹配方式",
+      "font_class": "guanjiancipipeifangshi",
+      "unicode": "e6a6",
+      "unicode_decimal": 59046
+    },
+    {
+      "icon_id": "28328466",
+      "name": "我的产品",
+      "font_class": "wodechanpin",
+      "unicode": "e6a7",
+      "unicode_decimal": 59047
+    },
+    {
+      "icon_id": "28327696",
+      "name": "pullEg",
+      "font_class": "pullEg",
+      "unicode": "e6a0",
+      "unicode_decimal": 59040
+    },
+    {
+      "icon_id": "28327688",
+      "name": "time",
+      "font_class": "time",
+      "unicode": "e69f",
+      "unicode_decimal": 59039
+    },
+    {
+      "icon_id": "28327657",
+      "name": "byEmail",
+      "font_class": "byEmail",
+      "unicode": "e69d",
+      "unicode_decimal": 59037
+    },
+    {
+      "icon_id": "28327660",
+      "name": "bell",
+      "font_class": "bell",
+      "unicode": "e69e",
+      "unicode_decimal": 59038
+    },
+    {
+      "icon_id": "28327639",
+      "name": "mine_coupon",
+      "font_class": "mine_coupon",
+      "unicode": "e69c",
+      "unicode_decimal": 59036
+    },
+    {
+      "icon_id": "28327587",
+      "name": "min_case",
+      "font_class": "min_case",
+      "unicode": "e68f",
+      "unicode_decimal": 59023
+    },
+    {
+      "icon_id": "28327589",
+      "name": "mine_export",
+      "font_class": "mine_export",
+      "unicode": "e690",
+      "unicode_decimal": 59024
+    },
+    {
+      "icon_id": "28327590",
+      "name": "mine_opinion",
+      "font_class": "mine_opinion",
+      "unicode": "e691",
+      "unicode_decimal": 59025
+    },
+    {
+      "icon_id": "28327591",
+      "name": "mine_qiyechaxun",
+      "font_class": "mine_qiyechaxun",
+      "unicode": "e692",
+      "unicode_decimal": 59026
+    },
+    {
+      "icon_id": "28327592",
+      "name": "mine_shoucang",
+      "font_class": "mine_shoucang",
+      "unicode": "e693",
+      "unicode_decimal": 59027
+    },
+    {
+      "icon_id": "28327593",
+      "name": "mine_share",
+      "font_class": "mine_share",
+      "unicode": "e694",
+      "unicode_decimal": 59028
+    },
+    {
+      "icon_id": "28327594",
+      "name": "mine_vip",
+      "font_class": "mine_vip",
+      "unicode": "e695",
+      "unicode_decimal": 59029
+    },
+    {
+      "icon_id": "28327595",
+      "name": "mine_company",
+      "font_class": "mine_company",
+      "unicode": "e696",
+      "unicode_decimal": 59030
+    },
+    {
+      "icon_id": "28327596",
+      "name": "mine_help",
+      "font_class": "mine_help",
+      "unicode": "e697",
+      "unicode_decimal": 59031
+    },
+    {
+      "icon_id": "28327597",
+      "name": "mine_jianyubi",
+      "font_class": "mine_jianyubi",
+      "unicode": "e698",
+      "unicode_decimal": 59032
+    },
+    {
+      "icon_id": "28327598",
+      "name": "mine_伙伴计划",
+      "font_class": "mine_huobanjihua",
+      "unicode": "e699",
+      "unicode_decimal": 59033
+    },
+    {
+      "icon_id": "28327599",
+      "name": "mine_about",
+      "font_class": "mine_about",
+      "unicode": "e69a",
+      "unicode_decimal": 59034
+    },
+    {
+      "icon_id": "28327600",
+      "name": "mine_subscription",
+      "font_class": "mine_subscription",
+      "unicode": "e69b",
+      "unicode_decimal": 59035
+    },
+    {
+      "icon_id": "28326345",
+      "name": "mine_人工客服",
+      "font_class": "mine_rengongkefu",
+      "unicode": "e68e",
+      "unicode_decimal": 59022
+    },
+    {
+      "icon_id": "28326321",
+      "name": "dingdan_已完成",
+      "font_class": "dingdan_yiwancheng",
+      "unicode": "e68a",
+      "unicode_decimal": 59018
+    },
+    {
+      "icon_id": "28326322",
+      "name": "dingdan_已取消",
+      "font_class": "dingdan_yiquxiao",
+      "unicode": "e68b",
+      "unicode_decimal": 59019
+    },
+    {
+      "icon_id": "28326323",
+      "name": "dingdan_待付款",
+      "font_class": "dingdan_daifukuan",
+      "unicode": "e68c",
+      "unicode_decimal": 59020
+    },
+    {
+      "icon_id": "28326324",
+      "name": "dingdan_全部订单",
+      "font_class": "dingdan_quanbudingdan",
+      "unicode": "e68d",
+      "unicode_decimal": 59021
+    },
+    {
+      "icon_id": "28322776",
+      "name": "warning",
+      "font_class": "warning",
+      "unicode": "e686",
+      "unicode_decimal": 59014
+    },
+    {
+      "icon_id": "28322777",
+      "name": "位置定位",
+      "font_class": "weizhidingwei",
+      "unicode": "e687",
+      "unicode_decimal": 59015
+    },
+    {
+      "icon_id": "28322778",
+      "name": "dataDelete",
+      "font_class": "dataDelete",
+      "unicode": "e688",
+      "unicode_decimal": 59016
+    },
+    {
+      "icon_id": "28322779",
+      "name": "投诉举报",
+      "font_class": "tousujubao",
+      "unicode": "e689",
+      "unicode_decimal": 59017
+    },
+    {
+      "icon_id": "28322754",
+      "name": "收藏_未收藏",
+      "font_class": "shoucang_weishoucang",
+      "unicode": "e685",
+      "unicode_decimal": 59013
+    },
+    {
+      "icon_id": "28322743",
+      "name": "收藏",
+      "font_class": "shoucang",
+      "unicode": "e684",
+      "unicode_decimal": 59012
+    },
+    {
+      "icon_id": "28322685",
+      "name": "深入了解",
+      "font_class": "shenrulejie",
+      "unicode": "e683",
+      "unicode_decimal": 59011
+    },
+    {
+      "icon_id": "28322638",
+      "name": "close",
+      "font_class": "close",
+      "unicode": "e680",
+      "unicode_decimal": 59008
+    },
+    {
+      "icon_id": "28322639",
+      "name": "close_heidi",
+      "font_class": "close_heidi",
+      "unicode": "e682",
+      "unicode_decimal": 59010
+    },
+    {
+      "icon_id": "28322560",
+      "name": "close_透明",
+      "font_class": "close_touming",
+      "unicode": "e681",
+      "unicode_decimal": 59009
+    },
+    {
+      "icon_id": "28322538",
+      "name": "关注_已关注",
+      "font_class": "guanzhu_yiguanzhu",
+      "unicode": "e67d",
+      "unicode_decimal": 59005
+    },
+    {
+      "icon_id": "28322539",
+      "name": "关注_加关注",
+      "font_class": "guanzhu_jiaguanzhu",
+      "unicode": "e67e",
+      "unicode_decimal": 59006
+    },
+    {
+      "icon_id": "28322540",
+      "name": "关注_未关注",
+      "font_class": "guanzhu_weiguanzhu",
+      "unicode": "e67f",
+      "unicode_decimal": 59007
+    },
+    {
+      "icon_id": "28322507",
+      "name": "收起",
+      "font_class": "shouqi",
+      "unicode": "e67a",
+      "unicode_decimal": 59002
+    },
+    {
+      "icon_id": "28322508",
+      "name": "右边",
+      "font_class": "youbian",
+      "unicode": "e67b",
+      "unicode_decimal": 59003
+    },
+    {
+      "icon_id": "28322509",
+      "name": "展开",
+      "font_class": "zhankai",
+      "unicode": "e67c",
+      "unicode_decimal": 59004
+    },
+    {
+      "icon_id": "28322455",
+      "name": "绿",
+      "font_class": "lv",
+      "unicode": "e679",
+      "unicode_decimal": 59001
+    },
+    {
+      "icon_id": "28322375",
+      "name": "banxuan",
+      "font_class": "banxuan",
+      "unicode": "e678",
+      "unicode_decimal": 59000
+    },
+    {
+      "icon_id": "28322366",
+      "name": "choose",
+      "font_class": "choose1",
+      "unicode": "e676",
+      "unicode_decimal": 58998
+    },
+    {
+      "icon_id": "28322212",
+      "name": "unchoose",
+      "font_class": "unchoose1",
+      "unicode": "e677",
+      "unicode_decimal": 58999
+    },
+    {
+      "icon_id": "28322120",
+      "name": "up",
+      "font_class": "up",
+      "unicode": "e674",
+      "unicode_decimal": 58996
+    },
+    {
+      "icon_id": "28322121",
+      "name": "down",
+      "font_class": "down",
+      "unicode": "e675",
+      "unicode_decimal": 58997
+    },
+    {
+      "icon_id": "28322075",
+      "name": "renling_未认领",
+      "font_class": "renling_weirenling",
+      "unicode": "e673",
+      "unicode_decimal": 58995
+    },
+    {
+      "icon_id": "28322055",
+      "name": "renling_已认领",
+      "font_class": "renling_yirenling",
+      "unicode": "e672",
+      "unicode_decimal": 58994
+    },
+    {
+      "icon_id": "28322001",
+      "name": "date_gray",
+      "font_class": "date_gray",
+      "unicode": "e66f",
+      "unicode_decimal": 58991
+    },
+    {
+      "icon_id": "28322002",
+      "name": "help",
+      "font_class": "help1",
+      "unicode": "e671",
+      "unicode_decimal": 58993
+    },
+    {
+      "icon_id": "28321992",
+      "name": "search",
+      "font_class": "search",
+      "unicode": "e66e",
+      "unicode_decimal": 58990
+    },
+    {
+      "icon_id": "28321991",
+      "name": "数据导出_小",
+      "font_class": "shujudaochu_xiao",
+      "unicode": "e66d",
+      "unicode_decimal": 58989
+    },
+    {
+      "icon_id": "28321848",
+      "name": "notice",
+      "font_class": "notice",
+      "unicode": "e664",
+      "unicode_decimal": 58980
+    },
+    {
+      "icon_id": "28321849",
+      "name": "share",
+      "font_class": "share",
+      "unicode": "e667",
+      "unicode_decimal": 58983
+    },
+    {
+      "icon_id": "28321850",
+      "name": "Setting",
+      "font_class": "Setting",
+      "unicode": "e66c",
+      "unicode_decimal": 58988
+    },
+    {
+      "icon_id": "28321829",
+      "name": "back",
+      "font_class": "back",
+      "unicode": "e663",
+      "unicode_decimal": 58979
+    },
+    {
+      "icon_id": "3767370",
+      "name": "收藏",
+      "font_class": "dingyue",
+      "unicode": "e607",
+      "unicode_decimal": 58887
+    },
+    {
+      "icon_id": "3767371",
+      "name": "搜索",
+      "font_class": "sousuo1",
+      "unicode": "e60d",
+      "unicode_decimal": 58893
+    },
+    {
+      "icon_id": "3767372",
+      "name": "我",
+      "font_class": "wo",
+      "unicode": "e614",
+      "unicode_decimal": 58900
+    },
+    {
+      "icon_id": "3767373",
+      "name": "微信",
+      "font_class": "weixin1",
+      "unicode": "e616",
+      "unicode_decimal": 58902
+    },
+    {
+      "icon_id": "3767374",
+      "name": "我-设置",
+      "font_class": "wo-shezhi",
+      "unicode": "e617",
+      "unicode_decimal": 58903
+    },
+    {
+      "icon_id": "3767375",
+      "name": "实验室",
+      "font_class": "shiyanshi1",
+      "unicode": "e643",
+      "unicode_decimal": 58947
+    },
+    {
+      "icon_id": "3767376",
+      "name": "我-通知",
+      "font_class": "wo-tongzhi",
+      "unicode": "e648",
+      "unicode_decimal": 58952
+    },
+    {
+      "icon_id": "3767378",
+      "name": "qq",
+      "font_class": "qq1",
+      "unicode": "e64a",
+      "unicode_decimal": 58954
+    },
+    {
+      "icon_id": "3767379",
+      "name": "我-我关注的企业",
+      "font_class": "wo-woguanzhudeqiye",
+      "unicode": "e64b",
+      "unicode_decimal": 58955
+    },
+    {
+      "icon_id": "3767380",
+      "name": "我-我关注的项目",
+      "font_class": "wo-woguanzhudexiangmu",
+      "unicode": "e64c",
+      "unicode_decimal": 58956
+    },
+    {
+      "icon_id": "3767381",
+      "name": "睁眼",
+      "font_class": "zhengyan",
+      "unicode": "e64d",
+      "unicode_decimal": 58957
+    },
+    {
+      "icon_id": "3767382",
+      "name": "闭眼",
+      "font_class": "biyan",
+      "unicode": "e64e",
+      "unicode_decimal": 58958
+    },
+    {
+      "icon_id": "3767383",
+      "name": "朋友圈",
+      "font_class": "pengyouquan1",
+      "unicode": "e64f",
+      "unicode_decimal": 58959
+    },
+    {
+      "icon_id": "3196981",
+      "name": "weixin",
+      "font_class": "weixin11",
+      "unicode": "e651",
+      "unicode_decimal": 58961
+    },
+    {
+      "icon_id": "12402520",
+      "name": "对号",
+      "font_class": "duihao",
+      "unicode": "e666",
+      "unicode_decimal": 58982
+    },
+    {
+      "icon_id": "12402523",
+      "name": "delete_gray",
+      "font_class": "delete_gray",
+      "unicode": "e669",
+      "unicode_decimal": 58985
+    },
+    {
+      "icon_id": "12402524",
+      "name": "审核中",
+      "font_class": "shenhezhong",
+      "unicode": "e66a",
+      "unicode_decimal": 58986
+    },
+    {
+      "icon_id": "12402525",
+      "name": "公对公转账",
+      "font_class": "gongduigongzhuanzhang",
+      "unicode": "e66b",
+      "unicode_decimal": 58987
+    },
+    {
+      "icon_id": "12733934",
+      "name": "角标",
+      "font_class": "jiaobiao",
+      "unicode": "e670",
+      "unicode_decimal": 58992
+    },
+    {
+      "icon_id": "28317698",
+      "name": "数据导出",
+      "font_class": "cloud-download",
+      "unicode": "e662",
+      "unicode_decimal": 58978
+    },
+    {
+      "icon_id": "28316603",
+      "name": "支付订单",
+      "font_class": "dingdan1",
+      "unicode": "e660",
+      "unicode_decimal": 58976
+    },
+    {
+      "icon_id": "12402733",
+      "name": "支付宝支付",
+      "font_class": "zhifubaozhifu",
+      "unicode": "e645",
+      "unicode_decimal": 58949
+    },
+    {
+      "icon_id": "12402734",
+      "name": "微信支付",
+      "font_class": "weixinzhifu",
+      "unicode": "e646",
+      "unicode_decimal": 58950
+    },
+    {
+      "icon_id": "6683833",
+      "name": "添加",
+      "font_class": "tianjia1",
+      "unicode": "e647",
+      "unicode_decimal": 58951
+    },
+    {
+      "icon_id": "6684307",
+      "name": "推荐角标",
+      "font_class": "tuijianjiaobiao",
+      "unicode": "e641",
+      "unicode_decimal": 58945
+    },
+    {
+      "icon_id": "6669260",
+      "name": "guanyu",
+      "font_class": "guanyu",
+      "unicode": "e601",
+      "unicode_decimal": 58881
+    },
+    {
+      "icon_id": "6669262",
+      "name": "rili",
+      "font_class": "rili",
+      "unicode": "e603",
+      "unicode_decimal": 58883
+    },
+    {
+      "icon_id": "6669263",
+      "name": "huangguan",
+      "font_class": "huangguan",
+      "unicode": "e604",
+      "unicode_decimal": 58884
+    },
+    {
+      "icon_id": "6669264",
+      "name": "lishidaochu",
+      "font_class": "lishidaochu",
+      "unicode": "e605",
+      "unicode_decimal": 58885
+    },
+    {
+      "icon_id": "6669265",
+      "name": "shaixuan",
+      "font_class": "shaixuan",
+      "unicode": "e606",
+      "unicode_decimal": 58886
+    },
+    {
+      "icon_id": "6669267",
+      "name": "shezhi",
+      "font_class": "shezhi",
+      "unicode": "e608",
+      "unicode_decimal": 58888
+    },
+    {
+      "icon_id": "6669268",
+      "name": "tianjia",
+      "font_class": "tianjia",
+      "unicode": "e609",
+      "unicode_decimal": 58889
+    },
+    {
+      "icon_id": "6669273",
+      "name": "xiugai",
+      "font_class": "xiugai",
+      "unicode": "e60e",
+      "unicode_decimal": 58894
+    },
+    {
+      "icon_id": "6669274",
+      "name": "wodedingdan",
+      "font_class": "wodedingdan",
+      "unicode": "e60f",
+      "unicode_decimal": 58895
+    },
+    {
+      "icon_id": "6669276",
+      "name": "xuanzhongjiao",
+      "font_class": "xuanzhongjiao",
+      "unicode": "e611",
+      "unicode_decimal": 58897
+    },
+    {
+      "icon_id": "6669277",
+      "name": "zhifuwancheng",
+      "font_class": "zhifuwancheng",
+      "unicode": "e612",
+      "unicode_decimal": 58898
+    },
+    {
+      "icon_id": "4765579",
+      "name": "关于剑鱼-反馈",
+      "font_class": "guanyujianyu-fankui",
+      "unicode": "e61b",
+      "unicode_decimal": 58907
+    },
+    {
+      "icon_id": "4765580",
+      "name": "关于剑鱼-帮助",
+      "font_class": "guanyujianyu-bangzhu",
+      "unicode": "e61c",
+      "unicode_decimal": 58908
+    },
+    {
+      "icon_id": "4765587",
+      "name": "朋友圈",
+      "font_class": "pengyouquan",
+      "unicode": "e623",
+      "unicode_decimal": 58915
+    },
+    {
+      "icon_id": "4765589",
+      "name": "筛选-默认",
+      "font_class": "shaixuan-moren",
+      "unicode": "e625",
+      "unicode_decimal": 58917
+    },
+    {
+      "icon_id": "4765590",
+      "name": "筛选-已选",
+      "font_class": "shaixuan-yixuan",
+      "unicode": "e626",
+      "unicode_decimal": 58918
+    },
+    {
+      "icon_id": "4765592",
+      "name": "实验室",
+      "font_class": "shiyanshi",
+      "unicode": "e628",
+      "unicode_decimal": 58920
+    },
+    {
+      "icon_id": "4765593",
+      "name": "使用帮助",
+      "font_class": "shiyongbangzhu",
+      "unicode": "e629",
+      "unicode_decimal": 58921
+    },
+    {
+      "icon_id": "4765598",
+      "name": "提示",
+      "font_class": "tishi",
+      "unicode": "e62e",
+      "unicode_decimal": 58926
+    },
+    {
+      "icon_id": "4765599",
+      "name": "提醒时间",
+      "font_class": "tixingshijian",
+      "unicode": "e62f",
+      "unicode_decimal": 58927
+    },
+    {
+      "icon_id": "4765604",
+      "name": "微信",
+      "font_class": "weixin",
+      "unicode": "e634",
+      "unicode_decimal": 58932
+    },
+    {
+      "icon_id": "4765610",
+      "name": "qq",
+      "font_class": "qq",
+      "unicode": "e63a",
+      "unicode_decimal": 58938
+    },
+    {
+      "icon_id": "4765612",
+      "name": "表格",
+      "font_class": "biaoge",
+      "unicode": "e63c",
+      "unicode_decimal": 58940
+    }
+  ]
+}

BIN
apps/mobile/src/assets/fonts/app/iconfont.ttf


BIN
apps/mobile/src/assets/fonts/app/iconfont.woff


BIN
apps/mobile/src/assets/fonts/app/iconfont.woff2


BIN
apps/mobile/src/assets/fonts/decrypt/1.0_pc.eot


BIN
apps/mobile/src/assets/fonts/decrypt/1.0_pc.ttf


+ 9 - 0
apps/mobile/src/assets/fonts/decrypt/font.css

@@ -0,0 +1,9 @@
+@font-face {
+  font-family: 'MyNewFont';
+  src: url('./1.0_pc.eot');
+  src: url('./1.0_pc.eot?#iefix') format('embedded-opentype'),
+    url("./1.0_pc.ttf") format("truetype");
+}
+.decrypt{
+  font-family: MyNewFont,'微软雅黑';
+}

+ 4 - 0
apps/mobile/src/assets/fonts/index.scss

@@ -0,0 +1,4 @@
+// https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=779944
+// app fonts
+@import './app/iconfont.css';
+@import './decrypt/font.css';

BIN
apps/mobile/src/assets/image/area-pack/arrow-rightx3.png


BIN
apps/mobile/src/assets/image/area-pack/buy-now.png


BIN
apps/mobile/src/assets/image/area-pack/messageCard@3x.png


BIN
apps/mobile/src/assets/image/area-pack/messageTitle@3x.png


BIN
apps/mobile/src/assets/image/bigmember/big_download_app.png


BIN
apps/mobile/src/assets/image/bigmember/data-report-dialog-header.png


BIN
apps/mobile/src/assets/image/data-supermarket/d-icon-1.png


BIN
apps/mobile/src/assets/image/data-supermarket/d-icon-2.png


BIN
apps/mobile/src/assets/image/data-supermarket/d-icon-3.png


BIN
apps/mobile/src/assets/image/data-supermarket/d-icon-4.png


BIN
apps/mobile/src/assets/image/data-supermarket/data-market-text.png


BIN
apps/mobile/src/assets/image/data-supermarket/header-banner.png


BIN
apps/mobile/src/assets/image/data-supermarket/hxys-bg.png


BIN
apps/mobile/src/assets/image/data-supermarket/hxys-text.png


BIN
apps/mobile/src/assets/image/data-supermarket/icon-1.png


BIN
apps/mobile/src/assets/image/dataExport/choose_right.png


BIN
apps/mobile/src/assets/image/dataExport/close.png


BIN
apps/mobile/src/assets/image/dataExport/qr.png


BIN
apps/mobile/src/assets/image/dataExport/wx_bg.png


BIN
apps/mobile/src/assets/image/dataExport/wx_icon.png


BIN
apps/mobile/src/assets/image/guide/bg.png


BIN
apps/mobile/src/assets/image/guide/wxOpen.png


BIN
apps/mobile/src/assets/image/home-temp/jy_newuserpage_bg.png


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно