From 47e89eb07e3ea3737bc81ccd3c6881c81a4a271e Mon Sep 17 00:00:00 2001 From: yyy9608 Date: Mon, 20 May 2024 17:28:28 +0800 Subject: [PATCH] first --- .editorconfig | 11 + .eslintignore | 12 + .eslintrc copy.js | 58 + .gitattributes | 208 + .gitignore | 16 + .prettierrc.js | 15 + CODE_OF_CONDUCT.md | 94 + LICENSE | 21 + README.md | 100 + config-overrides.js | 3 + config/webpack.config.js | 82 + env | 1 + package.json | 95 + paths.json | 8 + public/favicon.ico | Bin 0 -> 4286 bytes public/index.html | 57 + public/manifest.json | 15 + public/static/color.less | 9914 ++++++++++++ public/static/less.min.js | 17 + src-tauri/.gitignore | 3 + src-tauri/Cargo.lock | 3496 ++++ src-tauri/Cargo.toml | 26 + src-tauri/build.rs | 3 + src-tauri/icons/128x128.png | Bin 0 -> 11059 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 23137 bytes src-tauri/icons/32x32.png | Bin 0 -> 2225 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 9202 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 12530 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 13032 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 25943 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 2078 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 28507 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 3419 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 6027 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 7551 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 3971 bytes src-tauri/icons/icon.icns | Bin 0 -> 277003 bytes src-tauri/icons/icon.ico | Bin 0 -> 37710 bytes src-tauri/icons/icon.png | Bin 0 -> 49979 bytes src-tauri/src/main.rs | 8 + src-tauri/tauri.conf.json | 63 + src/App.tsx | 17 + src/api/index.ts | 13 + src/assets/css/public.less | 157 + src/assets/img/login-bg.svg | 69 + src/assets/img/logo.png | Bin 0 -> 1490 bytes src/assets/img/logo.svg | 1 + src/assets/js/publicFunc.ts | 456 + src/components/BreadCrumb/index.tsx | 42 + src/components/Header/Header.module.less | 29 + src/components/Header/index.tsx | 97 + src/components/Menu/Menu.module.less | 8 + src/components/Menu/index.tsx | 145 + src/components/MyIconfont/index.tsx | 7 + src/components/MySelect/index.tsx | 55 + src/components/MyTable/index.tsx | 287 + src/components/SearchForm/index.tsx | 77 + src/components/TabPanes/TabPanes.module.less | 8 + src/components/TabPanes/index.tsx | 319 + src/config/index.ts | 10 + src/index.tsx | 26 + .../SimpleTrade/api/admin-permission.ts | 26 + src/package/SimpleTrade/api/admin-user.ts | 33 + src/package/SimpleTrade/api/client.ts | 105 + src/package/SimpleTrade/api/index.ts | 40 + src/package/SimpleTrade/config/layout.ts | 68 + src/package/SimpleTrade/config/menu.ts | 117 + .../pages/admininvite/chart/data.ts | 53 + .../pages/admininvite/chart/index.tsx | 131 + .../pages/adminpermission/list/index.tsx | 268 + .../pages/adminupload/uploadapk/index.tsx | 43 + .../pages/adminuser/adminuser.less | 3 + .../pages/adminuser/edit/index.tsx | 211 + .../pages/adminuser/list/index.tsx | 250 + .../pages/client/mt4history/index.tsx | 61 + .../pages/client/mt4order/index.tsx | 110 + .../pages/client/mt4settlementorder/index.tsx | 47 + .../pages/client/recharge/index.tsx | 90 + .../SimpleTrade/pages/client/user/index.tsx | 236 + .../pages/client/withdraw/index.tsx | 128 + src/package/SimpleTrade/pages/home/index.css | 38 + src/package/SimpleTrade/pages/home/index.less | 47 + src/package/SimpleTrade/pages/home/index.tsx | 352 + src/package/SimpleTrade/pages/home/vector.png | Bin 0 -> 589 bytes src/package/SimpleTrade/route/routes.ts | 177 + src/package/SimpleTrade/types/enum.ts | 38 + src/pages/container/Home.module.less | 34 + src/pages/container/index.tsx | 136 + src/pages/login/index.tsx | 100 + src/pages/login/login.less | 36 + src/pages/public/errorPage/index.tsx | 13 + src/react-app-env.d.ts | 12 + src/route/routes.ts | 9 + src/store/actionTypes/index.ts | 27 + src/store/actions/index.ts | 7 + src/store/index.ts | 23 + src/store/reducers/index.ts | 21 + src/store/state/index.ts | 25 + src/test/App.test.jsx | 9 + src/types/store.d.ts | 7 + src/utils/axios.ts | 107 + src/utils/index.ts | 49 + src/utils/tableHook.ts | 49 + src/utils/userIdHook.ts | 26 + tsconfig.json | 52 + tslint.json | 23 + typings/global.d.ts | 18 + yarn.lock | 13420 ++++++++++++++++ 108 files changed, 33024 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc copy.js create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierrc.js create mode 100644 CODE_OF_CONDUCT.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config-overrides.js create mode 100644 config/webpack.config.js create mode 100644 env create mode 100644 package.json create mode 100644 paths.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/manifest.json create mode 100644 public/static/color.less create mode 100644 public/static/less.min.js create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/App.tsx create mode 100644 src/api/index.ts create mode 100644 src/assets/css/public.less create mode 100644 src/assets/img/login-bg.svg create mode 100644 src/assets/img/logo.png create mode 100644 src/assets/img/logo.svg create mode 100644 src/assets/js/publicFunc.ts create mode 100644 src/components/BreadCrumb/index.tsx create mode 100644 src/components/Header/Header.module.less create mode 100644 src/components/Header/index.tsx create mode 100644 src/components/Menu/Menu.module.less create mode 100644 src/components/Menu/index.tsx create mode 100644 src/components/MyIconfont/index.tsx create mode 100644 src/components/MySelect/index.tsx create mode 100644 src/components/MyTable/index.tsx create mode 100644 src/components/SearchForm/index.tsx create mode 100644 src/components/TabPanes/TabPanes.module.less create mode 100644 src/components/TabPanes/index.tsx create mode 100644 src/config/index.ts create mode 100644 src/index.tsx create mode 100644 src/package/SimpleTrade/api/admin-permission.ts create mode 100644 src/package/SimpleTrade/api/admin-user.ts create mode 100644 src/package/SimpleTrade/api/client.ts create mode 100644 src/package/SimpleTrade/api/index.ts create mode 100644 src/package/SimpleTrade/config/layout.ts create mode 100644 src/package/SimpleTrade/config/menu.ts create mode 100644 src/package/SimpleTrade/pages/admininvite/chart/data.ts create mode 100644 src/package/SimpleTrade/pages/admininvite/chart/index.tsx create mode 100644 src/package/SimpleTrade/pages/adminpermission/list/index.tsx create mode 100644 src/package/SimpleTrade/pages/adminupload/uploadapk/index.tsx create mode 100644 src/package/SimpleTrade/pages/adminuser/adminuser.less create mode 100644 src/package/SimpleTrade/pages/adminuser/edit/index.tsx create mode 100644 src/package/SimpleTrade/pages/adminuser/list/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/mt4history/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/mt4order/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/mt4settlementorder/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/recharge/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/user/index.tsx create mode 100644 src/package/SimpleTrade/pages/client/withdraw/index.tsx create mode 100644 src/package/SimpleTrade/pages/home/index.css create mode 100644 src/package/SimpleTrade/pages/home/index.less create mode 100644 src/package/SimpleTrade/pages/home/index.tsx create mode 100644 src/package/SimpleTrade/pages/home/vector.png create mode 100644 src/package/SimpleTrade/route/routes.ts create mode 100644 src/package/SimpleTrade/types/enum.ts create mode 100644 src/pages/container/Home.module.less create mode 100644 src/pages/container/index.tsx create mode 100644 src/pages/login/index.tsx create mode 100644 src/pages/login/login.less create mode 100644 src/pages/public/errorPage/index.tsx create mode 100644 src/react-app-env.d.ts create mode 100644 src/route/routes.ts create mode 100644 src/store/actionTypes/index.ts create mode 100644 src/store/actions/index.ts create mode 100644 src/store/index.ts create mode 100644 src/store/reducers/index.ts create mode 100644 src/store/state/index.ts create mode 100644 src/test/App.test.jsx create mode 100644 src/types/store.d.ts create mode 100644 src/utils/axios.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/tableHook.ts create mode 100644 src/utils/userIdHook.ts create mode 100644 tsconfig.json create mode 100644 tslint.json create mode 100644 typings/global.d.ts create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..af20abd --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +# 🎨 editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..468b05e --- /dev/null +++ b/.eslintignore @@ -0,0 +1,12 @@ +src/registerServiceWorker.js +src/**/test/** +config-overrides.js +/build +/config +src/serviceWorker.js +/test.jsx +react-app-env.d.ts +/typings +!.eslintrc.js +echarts-dark-theme.* +/public diff --git a/.eslintrc copy.js b/.eslintrc copy.js new file mode 100644 index 0000000..ab68648 --- /dev/null +++ b/.eslintrc copy.js @@ -0,0 +1,58 @@ +module.exports = { + extends: [ + 'eslint:all', + 'react-app', // react帮配置好了一些语法,譬如箭头函数 + 'airbnb', + 'plugin:prettier/recommended' // prettier配置 + ], + rules: { + 'import/no-extraneous-dependencies': 0, + 'import/extensions': 'off', + 'import/no-unresolved': 0, + 'default-param-last': 0, + 'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx', 'tsx'] }], // 关闭airbnb对于jsx必须写在jsx文件中的设置 + 'react/prop-types': 'off', // 关闭airbnb对于必须添加prop-types的校验 + 'react/destructuring-assignment': [ + 1, + 'always', + { + ignoreClassFields: false + } + ], + 'react/jsx-one-expression-per-line': 'off', // 关闭要求一个表达式必须换行的要求,和Prettier冲突了 + 'react/jsx-wrap-multilines': 0, // 关闭要求jsx属性中写jsx必须要加括号,和Prettier冲突了 + 'comma-dangle': ['error', 'never'], + 'react/jsx-first-prop-new-line': [1, 'multiline-multiprop'], + 'react/prefer-stateless-function': [0, { ignorePureComponents: true }], + 'jsx-a11y/no-static-element-interactions': 'off', // 关闭非交互元素加事件必须加 role + 'jsx-a11y/click-events-have-key-events': 'off', // 关闭click事件要求有对应键盘事件 + 'no-bitwise': 'off', // 不让用位操作符,不知道为啥,先关掉 + 'react/jsx-indent': [2, 2], + 'react/jsx-no-undef': [2, { allowGlobals: true }], + 'jsx-control-statements/jsx-use-if-tag': 0, + 'react/no-array-index-key': 0, + 'react/jsx-props-no-spreading': 0, + // 禁止使用 var + 'no-var': 'error', + semi: ['error', 'never'], + quotes: [2, 'single'], + // @fixable 必须使用 === 或 !==,禁止使用 == 或 !=,与 null 比较时除外 + eqeqeq: [ + 'warn', + 'always', + { + null: 'ignore' + } + ], + 'no-use-before-define': ['error', { functions: false }], + 'prettier/prettier': ['error', { parser: 'flow' }] + }, + overrides: [ + { + files: ['**/Mi/*.js', '**/Mi/*.jsx'], + rules: { + 'react/prop-types': 'error' // Mi 文件夹下的是系统组件,必须写prop-types + } + } + ] +} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..6dacc45 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,208 @@ +# Set the default behavior, in case people don't have core.autolf set. +* text eol=lf +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### + +# Auto detect +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto +# Source code +*.bash text eol=lf +*.bat text eol=lf +*.cmd text eol=lf +*.coffee text +*.css text +*.htm text diff=html +*.html text diff=html +*.inc text +*.ini text +*.js text +*.json text +*.jsx text +*.less text +*.ls text +*.map text -diff +*.od text +*.onlydata text +*.php text diff=php +*.pl text +*.ps1 text eol=lf +*.py text diff=python +*.rb text diff=ruby +*.sass text +*.scm text +*.scss text diff=css +*.sh text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text diff=html + +# Docker +*.dockerignore text +Dockerfile text + +# Documentation +*.ipynb text +*.markdown text +*.md text +*.mdwn text +*.mdown text +*.mkd text +*.mkdn text +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Templates +*.dot text +*.ejs text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.tmpl text +*.tpl text +*.twig text +*.vue text + +# Linters +.csslintrc text +.eslintrc text +.htmlhintrc text +.jscsrc text +.jshintrc text +.jshintignore text +.stylelintrc text + +# Configs +*.bowerrc text +*.cnf text +*.conf text +*.config text +.babelrc text +.browserslistrc text +.editorconfig text +.env text +.gitattributes text +.gitconfig text +.htaccess text +*.lock text -diff +package-lock.json text -diff +*.npmignore text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text + +# Heroku +Procfile text +.slugignore text + +# Graphics +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.gifv binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg binary +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary + +# Audio +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +# Video +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary + +# Archives +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary + +# Fonts +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary + +# Executables +*.exe binary +*.pyc binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a74148 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +/node_modules + +.idea +build + +.env.* +.env.development +.env.production +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..5011dac --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,15 @@ +module.exports = { + printWidth: 80, + tabWidth: 2, + trailingComma: 'none', //尾随逗号 + bracketSpacing: true, + jsxBracketSameLine: false, + arrowParens: 'always', + parser: 'typescript', + semi: false, + singleQuote: true, + jsxSingleQuote: false, + endOfLine: 'lf', + parser: 'babel', + proseWrap: 'always' +} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f15b9d1 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,94 @@ +# Citizen Code of Conduct + +## 1. Purpose + +A primary goal of React Antd Multi Tabs Admin is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in React Antd Multi Tabs Admin to help us create safe and positive experiences for everyone. + +## 2. Open [Source/Culture/Tech] Citizenship + +A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. + +## 3. Expected Behavior + +The following behaviors are expected and requested of all community members: + + * Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. + * Exercise consideration and respect in your speech and actions. + * Attempt collaboration before conflict. + * Refrain from demeaning, discriminatory, or harassing behavior and speech. + * Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. + * Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + +## 4. Unacceptable Behavior + +The following behaviors are considered harassment and are unacceptable within our community: + + * Violence, threats of violence or violent language directed against another person. + * Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. + * Posting or displaying sexually explicit or violent material. + * Posting or threatening to post other people's personally identifying information ("doxing"). + * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. + * Inappropriate photography or recording. + * Inappropriate physical contact. You should have someone's consent before touching them. + * Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. + * Deliberate intimidation, stalking or following (online or in person). + * Advocating for, or encouraging, any of the above behavior. + * Sustained disruption of community events, including talks and presentations. + +## 5. Weapons Policy + +No weapons will be allowed at React Antd Multi Tabs Admin events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter. + +## 6. Consequences of Unacceptable Behavior + +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. + +If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). + +## 7. Reporting Guidelines + +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. 582631730@qq.com. + + + +Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. + +## 8. Addressing Grievances + +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. + + + +## 9. Scope + +We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +## 10. Contact info + +582631730@qq.com + +## 11. License and attribution + +The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). + +Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). + +_Revision 2.3. Posted 6 March 2017._ + +_Revision 2.2. Posted 4 February 2016._ + +_Revision 2.1. Posted 23 June 2014._ + +_Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..55740d7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 bigfool-cn + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e9a934f --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# React Antd Admin 管理后台 + +react + antd + typescript 集成轻量级管理后台 + +## 注意 +node version require 16.19.0 +修改config中的配置 dev 测试,prod生成 + +## 功能 + - 多页标签 + - 动态权限 + - 主题配置 + +## 使用 +用户名:admin 密码:123456 + + +### 使用命令行 +```bash +npm install -g typescript + +yarn install + +yarn start + +cp env .env.development +cp env .env.production +``` +### Redux 的使用说明 +``` +# 在/src/store/actionTypes/index1.tsx 定义新字段,格式如下 +export default { + ..., + SET_ACTION: { + name: 'SET_ACTION', + field: 'action' + } +} + +# 在/src/store/state/index1.tsx 也定义新字段,格式如下 +interface StoreState { + ...; + action: string; +} +const initState: StoreState = { + ..., + action: '' +} + +# 在要使用的组件中 +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +export default connect( + (state) => state, + actions +)(ComponentName) + +# 然后在 props 就有 setStoreData 属性,可用来 dispatch +setStoreData('SET_ACTION', '') + +# 只需要定义 type 和 state,不需要写每个action,效率提高了木有有!!! +``` + +### 路由/菜单配置 +``` +# 所有路由写在 /src/route/routes.ts (包括菜单栏的路由) + 用于路由权限控制 + +# 左侧菜单路由写在 /src/config/menu.ts + 仅用于菜单栏展示 + +# 分两套的原因是,方便维护,如果不嫌麻烦,可以都写在 routes 里,用一个字段标识菜单路由即可 +``` + +### 关于换肤配置 +> 本框架是使用 less.js 实现动态切换主题,js文件在 /public/less.min.js +``` +# 主题配置文件在 /public/color.less + +引用了 antd 组件后,基本不需要自己额外自定义主题样式,因为主题文件里都有。 +但是!!! +如果自己写了自定义组件,切换主题后样式显示不正常, +则需要自己在 color.less 底部添加深浅主题对应的样式,具体参考主题文件内额外配置。 + +``` + +```bash +# 上传生产环境 +yarn deploy:prod:dc + +# 访问路径 +https://filefast.io/OTUxNDdiZW/#/login + +上传命令:yarn deploy:prod:dc +代码路径:/data/wwwroot/admin-filefast + +访问路径: +https://filefast.io/OTUxNDdiZW/#/login + +``` \ No newline at end of file diff --git a/config-overrides.js b/config-overrides.js new file mode 100644 index 0000000..4000ea5 --- /dev/null +++ b/config-overrides.js @@ -0,0 +1,3 @@ +const webpackConfig = require('./config/webpack.config') + +module.exports = webpackConfig diff --git a/config/webpack.config.js b/config/webpack.config.js new file mode 100644 index 0000000..00c8d50 --- /dev/null +++ b/config/webpack.config.js @@ -0,0 +1,82 @@ +//用于修改webpack默认配置 +const { override, addWebpackAlias, fixBabelImports, addLessLoader, addBabelPlugin } = require('customize-cra') +const CompressionWebpackPlugin = require('compression-webpack-plugin') +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer') + .BundleAnalyzerPlugin +const webpack = require('webpack') +const path = require('path') +const darkThemeVars = require('antd/dist/dark-theme'); + +// 分析打包大小 +const addAnalyze = () => (config) => { + let plugins = [new BundleAnalyzerPlugin({ analyzerPort: 7777 })] + config.plugins = [...config.plugins, ...plugins] + return config +} + +// 打包体积优化 +const addOptimization = () => (config) => { + if (process.env.NODE_ENV === 'production') { + config.optimization = { + splitChunks: { + chunks: 'all', + minSize: 30000, + maxSize: 0, + minChunks: 1, + maxAsyncRequests: 5, + maxInitialRequests: 3, + automaticNameDelimiter: '~', + name: true, + cacheGroups: { + vendors: { + test: /[\\/]node_modules[\\/]/, + priority: 10 + }, + default: { + minChunks: 2, + priority: -10, + reuseExistingChunk: true + } + } + } + } + + // 关闭sourceMap + config.devtool = false + // 添加js打包gzip配置 + config.plugins.push( + new CompressionWebpackPlugin({ + test: /\.js$|\.css$/, + threshold: 1024 + }), + new webpack.optimize.AggressiveMergingPlugin(), //合并块 + new webpack.optimize.ModuleConcatenationPlugin() + ) + } + return config +} + +module.exports = override( + // addAnalyze(), + // 配置路径别名 + addWebpackAlias({ + '@': path.resolve('src') + }), + addOptimization(), + // 针对antd 实现按需打包:根据import来打包 (使用babel-plugin-import) + fixBabelImports('import', { + libraryName: 'antd', + libraryDirectory: 'es', + style: true//自动打包相关的样式 默认为 style:'css' + }), + // 使用less-loader对源码重的less的变量进行重新制定,设置antd自定义主题 + addLessLoader({ + javascriptEnabled: true, + modifyVars: { + 'hack': `true;@import "${require.resolve('antd/lib/style/color/colorPalette.less')}";`, + ...darkThemeVars, + '@primary-color': '#6e41ff', + }, + localIdentName: '[local]--[hash:base64:5]' // use less-modules + }) +) diff --git a/env b/env new file mode 100644 index 0000000..1a6f907 --- /dev/null +++ b/env @@ -0,0 +1 @@ +REACT_APP_BASE_URL=http://14.29.101.215:30303/api/v1 \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..a5f3edb --- /dev/null +++ b/package.json @@ -0,0 +1,95 @@ +{ + "name": "react-antd-admin", + "version": "0.1.0", + "private": true, + "dependencies": { + "@ant-design/icons": "^4.0.6", + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.3.2", + "@testing-library/user-event": "^7.1.2", + "@types/axios": "^0.14.0", + "@types/jest": "^24.0.0", + "@types/node": "^12.0.0", + "@types/react": "^16.9.0", + "@types/react-dom": "^16.9.0", + "@types/react-redux": "^7.1.7", + "@types/react-router-dom": "^5.1.4", + "@types/redux-promise": "^0.5.28", + "antd": "4.2.0", + "axios": "^0.21.1", + "babel-plugin-import": "^1.12.2", + "classnames": "^2.2.6", + "connected-react-router": "^6.5.2", + "cross-env": "^7.0.2", + "dagre": "^0.8.5", + "dayjs": "^1.11.10", + "less": "^3.11.1", + "less-loader": "^5.0.0", + "moment": "^2.24.0", + "react": "^16.13.1", + "react-canvas-nest": "^1.0.10", + "react-dom": "^16.13.1", + "react-flow-renderer": "^10.3.17", + "react-redux": "^7.1.3", + "react-router-breadcrumbs-hoc": "^3.2.4", + "react-router-dom": "^5.1.2", + "react-scripts": "3.2.0", + "redux": "^4.0.4", + "redux-persist": "^6.0.0", + "redux-promise": "^0.6.0", + "typescript": "^3.8.3" + }, + "scripts": { + "start": "cross-env PORT=3000 react-app-rewired start", + "test": "react-app-rewired test", + "build": "react-app-rewired build", + "deploy:dev": "npm run build && scp -r ./build/* vps:/home/ubuntu/pzy/simple", + "deploy:prod": "npm run build && scp -r ./build/* metatrader_prod:/data/wwwroot/admin-simple" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "compression-webpack-plugin": "^3.0.1", + "customize-cra": "^0.8.0", + "eslint": "^6.8.0", + "eslint-config-airbnb": "^18.0.1", + "eslint-config-prettier": "^6.10.0", + "eslint-import-resolver-alias": "^1.1.2", + "eslint-import-resolver-webpack": "^0.11.1", + "eslint-plugin-html": "^6.0.0", + "eslint-plugin-import": "^2.20.1", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.2", + "eslint-plugin-react": "^7.18.3", + "eslint-plugin-react-hooks": "^2.3.0", + "husky": "^3.0.9", + "lint-staged": "^9.4.2", + "prettier": "1.18.2", + "react-app-rewired": "^2.1.5", + "redux-devtools": "^3.5.0", + "uglifyjs-webpack-plugin": "^2.2.0", + "webpack-bundle-analyzer": "^3.6.0" + }, + "homepage": ".", + "lint-staged": { + "*.{js,jsx}": "eslint" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + } +} diff --git a/paths.json b/paths.json new file mode 100644 index 0000000..5879100 --- /dev/null +++ b/paths.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "baseUrl": "src", + "paths": { + "@/*": ["*"] + } + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2b8baf4e73ed1dfd7d0a7c72901a544180b6cd3a GIT binary patch literal 4286 zcmeH}%}*0S7{=e-owYTBRihjbLrwhPV&Fo!SAhC18)4Q>~yaWLoLX9A3@M--*2QU>ST233|=L zzjGV;yP;hH#gJJ+?(RnZz~^6G{{o)DSMUief+Y~NC#a#8F^r`LpXF}qKV#;si)LPR zApSB)fMdY#Z1iIO5;(16a|#|i&cBM751_}$DKT^QdGvYTu=$iSy!R^9b#^H!4uws9DWTt z=0Abl??TKEFM1+>Kr^NdX?k=DYf$~*dkAZwM?XF3y`9GMW#m;8;<)E|?smHe7@MY7 zy))~#7R2#=!m~U25BW!355H7(=kz|vTYR4m1D>HTp!_ZIs|PjIGG^G+9>LFDFXEXJ zYewHU-#1C{0MP3u;CJOAcn^Mp+BI;DbJS4F7{<~gi8{2=Tad%6LC5FL|NBjVUx4>A zj#@OE8Jvr06|wYpO|R`X=7wC@PwF{nw3abCR(sHE!u9q_&pl5r00)%sZxUAgu?eZe`rANj3c0OkB6#tRiSroH2;J=mv~G4L3v@>y`b zYvq+|u3J8zVGa7g6OhK(N!C+l_f~X)9cUS&V@qe4UVZe|IeZLM#uQ*!Su1Mgl`X~N zB5$HT5gt>FK`cG!MNfJ++W%F7Voh^IVxHVziaBK>ixu6vNITgONsxj_ig3({tC(~4 TR?JCk#GF(iww@}qSEu|7P7z8$ literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..b7ae9ff --- /dev/null +++ b/public/index.html @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + React Antd Admin管理后台 + + + + + + +
+ + + + + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..1f2f141 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,15 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/static/color.less b/public/static/color.less new file mode 100644 index 0000000..0ddfb8d --- /dev/null +++ b/public/static/color.less @@ -0,0 +1,9914 @@ +@primary-color: #1890ff; +@link-color: #1890ff; +@success-color: #52c41a; +@warning-color: #faad14; +@error-color: #f5222d; +@heading-color: rgba(0, 0, 0, 0.85); +@text-color: rgba(0, 0, 0, 0.65); +@text-color-secondary: rgba(0, 0, 0, 0.45); +@disabled-color: rgba(0, 0, 0, 0.25); +@border-color-base: #d9d9d9; +@component-background: #fff; +@border-radius-base: 4px; +@layout-body-background: #fff; +@submenu-background: #fafafa; +//vars.less +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +.bezierEasingMixin() { +@functions: ~`(function() { + var NEWTON_ITERATIONS = 4; + var NEWTON_MIN_SLOPE = 0.001; + var SUBDIVISION_PRECISION = 0.0000001; + var SUBDIVISION_MAX_ITERATIONS = 10; + + var kSplineTableSize = 11; + var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); + + var float32ArraySupported = typeof Float32Array === 'function'; + + function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } + function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } + function C (aA1) { return 3.0 * aA1; } + + // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. + function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } + + // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. + function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } + + function binarySubdivide (aX, aA, aB, mX1, mX2) { + var currentX, currentT, i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + return currentT; + } + + function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) { + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + } + + var BezierEasing = function (mX1, mY1, mX2, mY2) { + if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { + throw new Error('bezier x values must be in [0, 1] range'); + } + + // Precompute samples table + var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + if (mX1 !== mY1 || mX2 !== mY2) { + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + + function getTForX (aX) { + var intervalStart = 0.0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + + // Interpolate to provide an initial guess for t + var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + + var initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + + return function BezierEasing (x) { + if (mX1 === mY1 && mX2 === mY2) { + return x; // linear + } + // Because JavaScript number are imprecise, we should guarantee the extremes are right. + if (x === 0) { + return 0; + } + if (x === 1) { + return 1; + } + return calcBezier(getTForX(x), mY1, mY2); + }; + }; + + this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18); + // less 3 requires a return + return ''; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.bezierEasingMixin(); + +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +.tinyColorMixin() { +@functions: ~`(function() { +// TinyColor v1.4.1 +// https://github.com/bgrins/TinyColor +// 2016-07-07, Brian Grinstead, MIT License +var trimLeft = /^\s+/, + trimRight = /\s+$/, + tinyCounter = 0, + mathRound = Math.round, + mathMin = Math.min, + mathMax = Math.max, + mathRandom = Math.random; + +function tinycolor (color, opts) { + + color = (color) ? color : ''; + opts = opts || { }; + + // If input is already a tinycolor, return itself + if (color instanceof tinycolor) { + return color; + } + // If we are called as a function, call using new instead + if (!(this instanceof tinycolor)) { + return new tinycolor(color, opts); + } + + var rgb = inputToRGB(color); + this._originalInput = color, + this._r = rgb.r, + this._g = rgb.g, + this._b = rgb.b, + this._a = rgb.a, + this._roundA = mathRound(100*this._a) / 100, + this._format = opts.format || rgb.format; + this._gradientType = opts.gradientType; + + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by inputToRgb + if (this._r < 1) { this._r = mathRound(this._r); } + if (this._g < 1) { this._g = mathRound(this._g); } + if (this._b < 1) { this._b = mathRound(this._b); } + + this._ok = rgb.ok; + this._tc_id = tinyCounter++; +} + +tinycolor.prototype = { + isDark: function() { + return this.getBrightness() < 128; + }, + isLight: function() { + return !this.isDark(); + }, + isValid: function() { + return this._ok; + }, + getOriginalInput: function() { + return this._originalInput; + }, + getFormat: function() { + return this._format; + }, + getAlpha: function() { + return this._a; + }, + getBrightness: function() { + //http://www.w3.org/TR/AERT#color-contrast + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }, + getLuminance: function() { + //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + var rgb = this.toRgb(); + var RsRGB, GsRGB, BsRGB, R, G, B; + RsRGB = rgb.r/255; + GsRGB = rgb.g/255; + BsRGB = rgb.b/255; + + if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} + if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} + if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} + return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); + }, + setAlpha: function(value) { + this._a = boundAlpha(value); + this._roundA = mathRound(100*this._a) / 100; + return this; + }, + toHsv: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; + }, + toHsvString: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); + return (this._a == 1) ? + "hsv(" + h + ", " + s + "%, " + v + "%)" : + "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; + }, + toHsl: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; + }, + toHslString: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); + return (this._a == 1) ? + "hsl(" + h + ", " + s + "%, " + l + "%)" : + "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; + }, + toHex: function(allow3Char) { + return rgbToHex(this._r, this._g, this._b, allow3Char); + }, + toHexString: function(allow3Char) { + return '#' + this.toHex(allow3Char); + }, + toHex8: function(allow4Char) { + return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); + }, + toHex8String: function(allow4Char) { + return '#' + this.toHex8(allow4Char); + }, + toRgb: function() { + return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; + }, + toRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : + "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; + }, + toPercentageRgb: function() { + return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; + }, + toPercentageRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : + "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; + }, + toName: function() { + if (this._a === 0) { + return "transparent"; + } + + if (this._a < 1) { + return false; + } + + return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; + }, + toFilter: function(secondColor) { + var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); + var secondHex8String = hex8String; + var gradientType = this._gradientType ? "GradientType = 1, " : ""; + + if (secondColor) { + var s = tinycolor(secondColor); + secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); + } + + return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; + }, + toString: function(format) { + var formatSet = !!format; + format = format || this._format; + + var formattedString = false; + var hasAlpha = this._a < 1 && this._a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); + + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === "rgb") { + formattedString = this.toRgbString(); + } + if (format === "prgb") { + formattedString = this.toPercentageRgbString(); + } + if (format === "hex" || format === "hex6") { + formattedString = this.toHexString(); + } + if (format === "hex3") { + formattedString = this.toHexString(true); + } + if (format === "hex4") { + formattedString = this.toHex8String(true); + } + if (format === "hex8") { + formattedString = this.toHex8String(); + } + if (format === "name") { + formattedString = this.toName(); + } + if (format === "hsl") { + formattedString = this.toHslString(); + } + if (format === "hsv") { + formattedString = this.toHsvString(); + } + + return formattedString || this.toHexString(); + }, + clone: function() { + return tinycolor(this.toString()); + }, + + _applyModification: function(fn, args) { + var color = fn.apply(null, [this].concat([].slice.call(args))); + this._r = color._r; + this._g = color._g; + this._b = color._b; + this.setAlpha(color._a); + return this; + }, + lighten: function() { + return this._applyModification(lighten, arguments); + }, + brighten: function() { + return this._applyModification(brighten, arguments); + }, + darken: function() { + return this._applyModification(darken, arguments); + }, + desaturate: function() { + return this._applyModification(desaturate, arguments); + }, + saturate: function() { + return this._applyModification(saturate, arguments); + }, + greyscale: function() { + return this._applyModification(greyscale, arguments); + }, + spin: function() { + return this._applyModification(spin, arguments); + }, + + _applyCombination: function(fn, args) { + return fn.apply(null, [this].concat([].slice.call(args))); + }, + analogous: function() { + return this._applyCombination(analogous, arguments); + }, + complement: function() { + return this._applyCombination(complement, arguments); + }, + monochromatic: function() { + return this._applyCombination(monochromatic, arguments); + }, + splitcomplement: function() { + return this._applyCombination(splitcomplement, arguments); + }, + triad: function() { + return this._applyCombination(triad, arguments); + }, + tetrad: function() { + return this._applyCombination(tetrad, arguments); + } +}; + +// If input is an object, force 1 into "1.0" to handle ratios properly +// String input requires "1.0" as input, so 1 will be treated as 1 +tinycolor.fromRatio = function(color, opts) { + if (typeof color == "object") { + var newColor = {}; + for (var i in color) { + if (color.hasOwnProperty(i)) { + if (i === "a") { + newColor[i] = color[i]; + } + else { + newColor[i] = convertToPercentage(color[i]); + } + } + } + color = newColor; + } + + return tinycolor(color, opts); +}; + +// Given a string or object, convert that input to RGB +// Possible string inputs: +// +// "red" +// "#f00" or "f00" +// "#ff0000" or "ff0000" +// "#ff000000" or "ff000000" +// "rgb 255 0 0" or "rgb (255, 0, 0)" +// "rgb 1.0 0 0" or "rgb (1, 0, 0)" +// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" +// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" +// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" +// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" +// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" +// +function inputToRGB(color) { + + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format = false; + + if (typeof color == "string") { + color = stringInputToObject(color); + } + + if (typeof color == "object") { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb = rgbToRgb(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = convertToPercentage(color.s); + v = convertToPercentage(color.v); + rgb = hsvToRgb(color.h, s, v); + ok = true; + format = "hsv"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = convertToPercentage(color.s); + l = convertToPercentage(color.l); + rgb = hslToRgb(color.h, s, l); + ok = true; + format = "hsl"; + } + + if (color.hasOwnProperty("a")) { + a = color.a; + } + } + + a = boundAlpha(a); + + return { + ok: ok, + format: color.format || format, + r: mathMin(255, mathMax(rgb.r, 0)), + g: mathMin(255, mathMax(rgb.g, 0)), + b: mathMin(255, mathMax(rgb.b, 0)), + a: a + }; +} + +// Conversion Functions +// -------------------- + +// rgbToHsl, rgbToHsv, hslToRgb, hsvToRgb modified from: +// + +// rgbToRgb +// Handle bounds / percentage checking to conform to CSS color spec +// +// *Assumes:* r, g, b in [0, 255] or [0, 1] +// *Returns:* { r, g, b } in [0, 255] +function rgbToRgb(r, g, b){ + return { + r: bound01(r, 255) * 255, + g: bound01(g, 255) * 255, + b: bound01(b, 255) * 255 + }; +} + +// rgbToHsl +// Converts an RGB color value to HSL. +// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] +// *Returns:* { h, s, l } in [0,1] +function rgbToHsl(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, l = (max + min) / 2; + + if(max == min) { + h = s = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + + h /= 6; + } + + return { h: h, s: s, l: l }; +} + +// hslToRgb +// Converts an HSL color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +function hslToRgb(h, s, l) { + var r, g, b; + + h = bound01(h, 360); + s = bound01(s, 100); + l = bound01(l, 100); + + function hue2rgb(p, q, t) { + if(t < 0) t += 1; + if(t > 1) t -= 1; + if(t < 1/6) return p + (q - p) * 6 * t; + if(t < 1/2) return q; + if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; + } + + if(s === 0) { + r = g = b = l; // achromatic + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHsv +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +function rgbToHsv(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if(max == min) { + h = 0; // achromatic + } + else { + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + h /= 6; + } + return { h: h, s: s, v: v }; +} + +// hsvToRgb +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] + function hsvToRgb(h, s, v) { + + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = Math.floor(h), + f = h - i, + p = v * (1 - s), + q = v * (1 - f * s), + t = v * (1 - (1 - f) * s), + mod = i % 6, + r = [v, q, p, p, t, v][mod], + g = [t, v, v, q, p, p][mod], + b = [p, p, t, v, v, q][mod]; + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHex +// Converts an RGB color to hex +// Assumes r, g, and b are contained in the set [0, 255] +// Returns a 3 or 6 character hex +function rgbToHex(r, g, b, allow3Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + // Return a 3 character hex if possible + if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + + return hex.join(""); +} + +// rgbaToHex +// Converts an RGBA color plus alpha transparency to hex +// Assumes r, g, b are contained in the set [0, 255] and +// a in [0, 1]. Returns a 4 or 8 character rgba hex +function rgbaToHex(r, g, b, a, allow4Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)), + pad2(convertDecimalToHex(a)) + ]; + + // Return a 4 character hex if possible + if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + + return hex.join(""); +} + +// rgbaToArgbHex +// Converts an RGBA color to an ARGB Hex8 string +// Rarely used, but required for "toFilter()" +function rgbaToArgbHex(r, g, b, a) { + + var hex = [ + pad2(convertDecimalToHex(a)), + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + return hex.join(""); +} + +// equals +// Can be called with any tinycolor input +tinycolor.equals = function (color1, color2) { + if (!color1 || !color2) { return false; } + return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); +}; + +tinycolor.random = function() { + return tinycolor.fromRatio({ + r: mathRandom(), + g: mathRandom(), + b: mathRandom() + }); +}; + +// Modification Functions +// ---------------------- +// Thanks to less.js for some of the basics here +// + +function desaturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s -= amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function saturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s += amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function greyscale(color) { + return tinycolor(color).desaturate(100); +} + +function lighten (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l += amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +function brighten(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var rgb = tinycolor(color).toRgb(); + rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); + rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); + rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); + return tinycolor(rgb); +} + +function darken (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l -= amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. +// Values outside of this range will be wrapped into this range. +function spin(color, amount) { + var hsl = tinycolor(color).toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return tinycolor(hsl); +} + +// Combination Functions +// --------------------- +// Thanks to jQuery xColor for some of the ideas behind these +// + +function complement(color) { + var hsl = tinycolor(color).toHsl(); + hsl.h = (hsl.h + 180) % 360; + return tinycolor(hsl); +} + +function triad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function tetrad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function splitcomplement(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), + tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) + ]; +} + +function analogous(color, results, slices) { + results = results || 6; + slices = slices || 30; + + var hsl = tinycolor(color).toHsl(); + var part = 360 / slices; + var ret = [tinycolor(color)]; + + for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { + hsl.h = (hsl.h + part) % 360; + ret.push(tinycolor(hsl)); + } + return ret; +} + +function monochromatic(color, results) { + results = results || 6; + var hsv = tinycolor(color).toHsv(); + var h = hsv.h, s = hsv.s, v = hsv.v; + var ret = []; + var modification = 1 / results; + + while (results--) { + ret.push(tinycolor({ h: h, s: s, v: v})); + v = (v + modification) % 1; + } + + return ret; +} + +// Utility Functions +// --------------------- + +tinycolor.mix = function(color1, color2, amount) { + amount = (amount === 0) ? 0 : (amount || 50); + + var rgb1 = tinycolor(color1).toRgb(); + var rgb2 = tinycolor(color2).toRgb(); + + var p = amount / 100; + + var rgba = { + r: ((rgb2.r - rgb1.r) * p) + rgb1.r, + g: ((rgb2.g - rgb1.g) * p) + rgb1.g, + b: ((rgb2.b - rgb1.b) * p) + rgb1.b, + a: ((rgb2.a - rgb1.a) * p) + rgb1.a + }; + + return tinycolor(rgba); +}; + +// Readability Functions +// --------------------- +// false +// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false +tinycolor.isReadable = function(color1, color2, wcag2) { + var readability = tinycolor.readability(color1, color2); + var wcag2Parms, out; + + out = false; + + wcag2Parms = validateWCAG2Parms(wcag2); + switch (wcag2Parms.level + wcag2Parms.size) { + case "AAsmall": + case "AAAlarge": + out = readability >= 4.5; + break; + case "AAlarge": + out = readability >= 3; + break; + case "AAAsmall": + out = readability >= 7; + break; + } + return out; + +}; + +// mostReadable +// Given a base color and a list of possible foreground or background +// colors for that base, returns the most readable color. +// Optionally returns Black or White if the most readable color is unreadable. +// *Example* +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" +tinycolor.mostReadable = function(baseColor, colorList, args) { + var bestColor = null; + var bestScore = 0; + var readability; + var includeFallbackColors, level, size ; + args = args || {}; + includeFallbackColors = args.includeFallbackColors ; + level = args.level; + size = args.size; + + for (var i= 0; i < colorList.length ; i++) { + readability = tinycolor.readability(baseColor, colorList[i]); + if (readability > bestScore) { + bestScore = readability; + bestColor = tinycolor(colorList[i]); + } + } + + if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { + return bestColor; + } + else { + args.includeFallbackColors=false; + return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); + } +}; + +// Big List of Colors +// ------------------ +// +var names = tinycolor.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" +}; + +// Make it easy to access colors via hexNames[hex] +var hexNames = tinycolor.hexNames = flip(names); + +// Utilities +// --------- + +// { 'name1': 'val1' } becomes { 'val1': 'name1' } +function flip(o) { + var flipped = { }; + for (var i in o) { + if (o.hasOwnProperty(i)) { + flipped[o[i]] = i; + } + } + return flipped; +} + +// Return a valid alpha value [0,1] with all invalid values being set to 1 +function boundAlpha(a) { + a = parseFloat(a); + + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + + return a; +} + +// Take input from [0, n] and return it as [0, 1] +function bound01(n, max) { + if (isOnePointZero(n)) { n = "100%"; } + + var processPercent = isPercentage(n); + n = mathMin(max, mathMax(0, parseFloat(n))); + + // Automatically convert percentage into number + if (processPercent) { + n = parseInt(n * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((Math.abs(n - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (n % max) / parseFloat(max); +} + +// Force a number between 0 and 1 +function clamp01(val) { + return mathMin(1, mathMax(0, val)); +} + +// Parse a base-16 hex value into a base-10 integer +function parseIntFromHex(val) { + return parseInt(val, 16); +} + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// +function isOnePointZero(n) { + return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; +} + +// Check to see if string passed in is a percentage +function isPercentage(n) { + return typeof n === "string" && n.indexOf('%') != -1; +} + +// Force a hex value to have 2 characters +function pad2(c) { + return c.length == 1 ? '0' + c : '' + c; +} + +// Replace a decimal with it's percentage value +function convertToPercentage(n) { + if (n <= 1) { + n = (n * 100) + "%"; + } + + return n; +} + +// Converts a decimal to a hex value +function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); +} +// Converts a hex value to a decimal +function convertHexToDecimal(h) { + return (parseIntFromHex(h) / 255); +} + +var matchers = (function() { + + // + var CSS_INTEGER = "[-\\+]?\\d+%?"; + + // + var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; + + // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. + var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; + + // Actual matching. + // Parentheses and commas are optional, but not required. + // Whitespace can take the place of commas or opening paren + var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + + return { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), + rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), + hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), + hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), + hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), + hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ + }; +})(); + +// isValidCSSUnit +// Take in a single string / number and check to see if it looks like a CSS unit +// (see matchers above for definition). +function isValidCSSUnit(color) { + return !!matchers.CSS_UNIT.exec(color); +} + +// stringInputToObject +// Permissive string parsing. Take in a number of formats, and output an object +// based on detected format. Returns { r, g, b } or { h, s, l } or { h, s, v} +function stringInputToObject(color) { + + color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase(); + var named = false; + if (names[color]) { + color = names[color]; + named = true; + } + else if (color == 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match; + if ((match = matchers.rgb.exec(color))) { + return { r: match[1], g: match[2], b: match[3] }; + } + if ((match = matchers.rgba.exec(color))) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + if ((match = matchers.hsl.exec(color))) { + return { h: match[1], s: match[2], l: match[3] }; + } + if ((match = matchers.hsla.exec(color))) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + if ((match = matchers.hsv.exec(color))) { + return { h: match[1], s: match[2], v: match[3] }; + } + if ((match = matchers.hsva.exec(color))) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + if ((match = matchers.hex8.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + a: convertHexToDecimal(match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex6.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + format: named ? "name" : "hex" + }; + } + if ((match = matchers.hex4.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + a: convertHexToDecimal(match[4] + '' + match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex3.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + format: named ? "name" : "hex" + }; + } + + return false; +} + +function validateWCAG2Parms(parms) { + // return valid WCAG2 parms for isReadable. + // If input parms are invalid, return {"level":"AA", "size":"small"} + var level, size; + parms = parms || {"level":"AA", "size":"small"}; + level = (parms.level || "AA").toUpperCase(); + size = (parms.size || "small").toLowerCase(); + if (level !== "AA" && level !== "AAA") { + level = "AA"; + } + if (size !== "small" && size !== "large") { + size = "small"; + } + return {"level":level, "size":size}; +} + +this.tinycolor = tinycolor; + +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.tinyColorMixin(); + +// We create a very complex algorithm which take the place of original tint/shade color system +// to make sure no one can understand it 👻 +// and create an entire color palette magicly by inputing just a single primary color. +// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin +.colorPaletteMixin() { +@functions: ~`(function() { + var hueStep = 2; + var saturationStep = 16; + var saturationStep2 = 5; + var brightnessStep1 = 5; + var brightnessStep2 = 15; + var lightColorCount = 5; + var darkColorCount = 4; + + var getHue = function(hsv, i, isLight) { + var hue; + if (hsv.h >= 60 && hsv.h <= 240) { + hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i; + } else { + hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i; + } + if (hue < 0) { + hue += 360; + } else if (hue >= 360) { + hue -= 360; + } + return Math.round(hue); + }; + var getSaturation = function(hsv, i, isLight) { + var saturation; + if (isLight) { + saturation = Math.round(hsv.s * 100) - saturationStep * i; + } else if (i === darkColorCount) { + saturation = Math.round(hsv.s * 100) + saturationStep; + } else { + saturation = Math.round(hsv.s * 100) + saturationStep2 * i; + } + if (saturation > 100) { + saturation = 100; + } + if (isLight && i === lightColorCount && saturation > 10) { + saturation = 10; + } + if (saturation < 6) { + saturation = 6; + } + return Math.round(saturation); + }; + var getValue = function(hsv, i, isLight) { + if (isLight) { + return Math.round(hsv.v * 100) + brightnessStep1 * i; + } + return Math.round(hsv.v * 100) - brightnessStep2 * i; + }; + + this.colorPalette = function(color, index) { + var isLight = index <= 6; + var hsv = tinycolor(color).toHsv(); + var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1; + return tinycolor({ + h: getHue(hsv, i, isLight), + s: getSaturation(hsv, i, isLight), + v: getValue(hsv, i, isLight), + }).toHexString(); + }; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.colorPaletteMixin(); + +// color palettes +@blue-base: #1890ff; +@blue-1: color(~`colorPalette('@{blue-6}', 1) `); +@blue-2: color(~`colorPalette('@{blue-6}', 2) `); +@blue-3: color(~`colorPalette('@{blue-6}', 3) `); +@blue-4: color(~`colorPalette('@{blue-6}', 4) `); +@blue-5: color(~`colorPalette('@{blue-6}', 5) `); +@blue-6: @blue-base; +@blue-7: color(~`colorPalette('@{blue-6}', 7) `); +@blue-8: color(~`colorPalette('@{blue-6}', 8) `); +@blue-9: color(~`colorPalette('@{blue-6}', 9) `); +@blue-10: color(~`colorPalette('@{blue-6}', 10) `); + +@purple-base: #722ed1; +@purple-1: color(~`colorPalette('@{purple-6}', 1) `); +@purple-2: color(~`colorPalette('@{purple-6}', 2) `); +@purple-3: color(~`colorPalette('@{purple-6}', 3) `); +@purple-4: color(~`colorPalette('@{purple-6}', 4) `); +@purple-5: color(~`colorPalette('@{purple-6}', 5) `); +@purple-6: @purple-base; +@purple-7: color(~`colorPalette('@{purple-6}', 7) `); +@purple-8: color(~`colorPalette('@{purple-6}', 8) `); +@purple-9: color(~`colorPalette('@{purple-6}', 9) `); +@purple-10: color(~`colorPalette('@{purple-6}', 10) `); + +@cyan-base: #13c2c2; +@cyan-1: color(~`colorPalette('@{cyan-6}', 1) `); +@cyan-2: color(~`colorPalette('@{cyan-6}', 2) `); +@cyan-3: color(~`colorPalette('@{cyan-6}', 3) `); +@cyan-4: color(~`colorPalette('@{cyan-6}', 4) `); +@cyan-5: color(~`colorPalette('@{cyan-6}', 5) `); +@cyan-6: @cyan-base; +@cyan-7: color(~`colorPalette('@{cyan-6}', 7) `); +@cyan-8: color(~`colorPalette('@{cyan-6}', 8) `); +@cyan-9: color(~`colorPalette('@{cyan-6}', 9) `); +@cyan-10: color(~`colorPalette('@{cyan-6}', 10) `); + +@green-base: #52c41a; +@green-1: color(~`colorPalette('@{green-6}', 1) `); +@green-2: color(~`colorPalette('@{green-6}', 2) `); +@green-3: color(~`colorPalette('@{green-6}', 3) `); +@green-4: color(~`colorPalette('@{green-6}', 4) `); +@green-5: color(~`colorPalette('@{green-6}', 5) `); +@green-6: @green-base; +@green-7: color(~`colorPalette('@{green-6}', 7) `); +@green-8: color(~`colorPalette('@{green-6}', 8) `); +@green-9: color(~`colorPalette('@{green-6}', 9) `); +@green-10: color(~`colorPalette('@{green-6}', 10) `); + +@magenta-base: #eb2f96; +@magenta-1: color(~`colorPalette('@{magenta-6}', 1) `); +@magenta-2: color(~`colorPalette('@{magenta-6}', 2) `); +@magenta-3: color(~`colorPalette('@{magenta-6}', 3) `); +@magenta-4: color(~`colorPalette('@{magenta-6}', 4) `); +@magenta-5: color(~`colorPalette('@{magenta-6}', 5) `); +@magenta-6: @magenta-base; +@magenta-7: color(~`colorPalette('@{magenta-6}', 7) `); +@magenta-8: color(~`colorPalette('@{magenta-6}', 8) `); +@magenta-9: color(~`colorPalette('@{magenta-6}', 9) `); +@magenta-10: color(~`colorPalette('@{magenta-6}', 10) `); + +// alias of magenta +@pink-base: #eb2f96; +@pink-1: color(~`colorPalette('@{pink-6}', 1) `); +@pink-2: color(~`colorPalette('@{pink-6}', 2) `); +@pink-3: color(~`colorPalette('@{pink-6}', 3) `); +@pink-4: color(~`colorPalette('@{pink-6}', 4) `); +@pink-5: color(~`colorPalette('@{pink-6}', 5) `); +@pink-6: @pink-base; +@pink-7: color(~`colorPalette('@{pink-6}', 7) `); +@pink-8: color(~`colorPalette('@{pink-6}', 8) `); +@pink-9: color(~`colorPalette('@{pink-6}', 9) `); +@pink-10: color(~`colorPalette('@{pink-6}', 10) `); + +@red-base: #f5222d; +@red-1: color(~`colorPalette('@{red-6}', 1) `); +@red-2: color(~`colorPalette('@{red-6}', 2) `); +@red-3: color(~`colorPalette('@{red-6}', 3) `); +@red-4: color(~`colorPalette('@{red-6}', 4) `); +@red-5: color(~`colorPalette('@{red-6}', 5) `); +@red-6: @red-base; +@red-7: color(~`colorPalette('@{red-6}', 7) `); +@red-8: color(~`colorPalette('@{red-6}', 8) `); +@red-9: color(~`colorPalette('@{red-6}', 9) `); +@red-10: color(~`colorPalette('@{red-6}', 10) `); + +@orange-base: #fa8c16; +@orange-1: color(~`colorPalette('@{orange-6}', 1) `); +@orange-2: color(~`colorPalette('@{orange-6}', 2) `); +@orange-3: color(~`colorPalette('@{orange-6}', 3) `); +@orange-4: color(~`colorPalette('@{orange-6}', 4) `); +@orange-5: color(~`colorPalette('@{orange-6}', 5) `); +@orange-6: @orange-base; +@orange-7: color(~`colorPalette('@{orange-6}', 7) `); +@orange-8: color(~`colorPalette('@{orange-6}', 8) `); +@orange-9: color(~`colorPalette('@{orange-6}', 9) `); +@orange-10: color(~`colorPalette('@{orange-6}', 10) `); + +@yellow-base: #fadb14; +@yellow-1: color(~`colorPalette('@{yellow-6}', 1) `); +@yellow-2: color(~`colorPalette('@{yellow-6}', 2) `); +@yellow-3: color(~`colorPalette('@{yellow-6}', 3) `); +@yellow-4: color(~`colorPalette('@{yellow-6}', 4) `); +@yellow-5: color(~`colorPalette('@{yellow-6}', 5) `); +@yellow-6: @yellow-base; +@yellow-7: color(~`colorPalette('@{yellow-6}', 7) `); +@yellow-8: color(~`colorPalette('@{yellow-6}', 8) `); +@yellow-9: color(~`colorPalette('@{yellow-6}', 9) `); +@yellow-10: color(~`colorPalette('@{yellow-6}', 10) `); + +@volcano-base: #fa541c; +@volcano-1: color(~`colorPalette('@{volcano-6}', 1) `); +@volcano-2: color(~`colorPalette('@{volcano-6}', 2) `); +@volcano-3: color(~`colorPalette('@{volcano-6}', 3) `); +@volcano-4: color(~`colorPalette('@{volcano-6}', 4) `); +@volcano-5: color(~`colorPalette('@{volcano-6}', 5) `); +@volcano-6: @volcano-base; +@volcano-7: color(~`colorPalette('@{volcano-6}', 7) `); +@volcano-8: color(~`colorPalette('@{volcano-6}', 8) `); +@volcano-9: color(~`colorPalette('@{volcano-6}', 9) `); +@volcano-10: color(~`colorPalette('@{volcano-6}', 10) `); + +@geekblue-base: #2f54eb; +@geekblue-1: color(~`colorPalette('@{geekblue-6}', 1) `); +@geekblue-2: color(~`colorPalette('@{geekblue-6}', 2) `); +@geekblue-3: color(~`colorPalette('@{geekblue-6}', 3) `); +@geekblue-4: color(~`colorPalette('@{geekblue-6}', 4) `); +@geekblue-5: color(~`colorPalette('@{geekblue-6}', 5) `); +@geekblue-6: @geekblue-base; +@geekblue-7: color(~`colorPalette('@{geekblue-6}', 7) `); +@geekblue-8: color(~`colorPalette('@{geekblue-6}', 8) `); +@geekblue-9: color(~`colorPalette('@{geekblue-6}', 9) `); +@geekblue-10: color(~`colorPalette('@{geekblue-6}', 10) `); + +@lime-base: #a0d911; +@lime-1: color(~`colorPalette('@{lime-6}', 1) `); +@lime-2: color(~`colorPalette('@{lime-6}', 2) `); +@lime-3: color(~`colorPalette('@{lime-6}', 3) `); +@lime-4: color(~`colorPalette('@{lime-6}', 4) `); +@lime-5: color(~`colorPalette('@{lime-6}', 5) `); +@lime-6: @lime-base; +@lime-7: color(~`colorPalette('@{lime-6}', 7) `); +@lime-8: color(~`colorPalette('@{lime-6}', 8) `); +@lime-9: color(~`colorPalette('@{lime-6}', 9) `); +@lime-10: color(~`colorPalette('@{lime-6}', 10) `); + +@gold-base: #faad14; +@gold-1: color(~`colorPalette('@{gold-6}', 1) `); +@gold-2: color(~`colorPalette('@{gold-6}', 2) `); +@gold-3: color(~`colorPalette('@{gold-6}', 3) `); +@gold-4: color(~`colorPalette('@{gold-6}', 4) `); +@gold-5: color(~`colorPalette('@{gold-6}', 5) `); +@gold-6: @gold-base; +@gold-7: color(~`colorPalette('@{gold-6}', 7) `); +@gold-8: color(~`colorPalette('@{gold-6}', 8) `); +@gold-9: color(~`colorPalette('@{gold-6}', 9) `); +@gold-10: color(~`colorPalette('@{gold-6}', 10) `); + +@preset-colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue, geekblue, + purple; + +@theme: default; + +// The prefix to use on all css classes from ant. +@ant-prefix: ant; + +// An override for the html selector for theme prefixes +@html-selector: html; + +// -------- Colors ----------- + +@info-color: @primary-color; + +@processing-color: @blue-6; + +@highlight-color: @red-5; + +@normal-color: #d9d9d9; +@white: #fff; +@black: #000; + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: color(~`colorPalette('@{primary-color}', 1) `); // replace tint(@primary-color, 90%) +@primary-2: color(~`colorPalette('@{primary-color}', 2) `); // replace tint(@primary-color, 80%) +@primary-3: color(~`colorPalette('@{primary-color}', 3) `); // unused +@primary-4: color(~`colorPalette('@{primary-color}', 4) `); // unused +@primary-5: color( + ~`colorPalette('@{primary-color}', 5) ` +); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) +@primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color +@primary-7: color(~`colorPalette('@{primary-color}', 7) `); // replace shade(@primary-color, 5%) +@primary-8: color(~`colorPalette('@{primary-color}', 8) `); // unused +@primary-9: color(~`colorPalette('@{primary-color}', 9) `); // unused +@primary-10: color(~`colorPalette('@{primary-color}', 10) `); // unused + +// Base Scaffolding Variables +// --- + +// Background color for `` +@body-background: #f5f5f5; +// Base background color for most components + +// Popover background color +@popover-background: @component-background; +@popover-customize-border-color: @border-color-split; +@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; +@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; + + +@text-color-inverse: @white; +@icon-color: inherit; +@icon-color-hover: fade(@black, 75%); + +@heading-color-dark: fade(@white, 100%); +@text-color-dark: fade(@white, 85%); +@text-color-secondary-dark: fade(@white, 65%); +@text-selection-bg: @primary-color; +@font-variant-base: tabular-nums; +@font-feature-settings-base: 'tnum'; +@font-size-base: 14px; +@font-size-lg: @font-size-base + 2px; +@font-size-sm: 12px; +@heading-1-size: ceil(@font-size-base * 2.71); +@heading-2-size: ceil(@font-size-base * 2.14); +@heading-3-size: ceil(@font-size-base * 1.71); +@heading-4-size: ceil(@font-size-base * 1.42); +// https://github.com/ant-design/ant-design/issues/20210 +@line-height-base: 1.5715; +@border-radius-base: 2px; +@border-radius-sm: @border-radius-base; + +// vertical paddings +@padding-lg: 24px; // containers +@padding-md: 16px; // small containers and buttons +@padding-sm: 12px; // Form controls and items +@padding-xs: 8px; // small items +@padding-xss: 4px; // more small + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// vertical margins +@margin-lg: 24px; // containers +@margin-md: 16px; // small containers and buttons +@margin-sm: 12px; // Form controls and items +@margin-xs: 8px; // small items +@margin-xss: 4px; // more small + +// height rules +@height-base: 32px; +@height-lg: 40px; +@height-sm: 24px; + +// The background colors for active and hover states for things like +// list items or MyTable cells. +@item-active-bg: @primary-1; +@item-hover-bg: #f5f5f5; + +// ICONFONT +@iconfont-css-prefix: anticon; + +// LINK + +@link-hover-color: color(~`colorPalette('@{link-color}', 5) `); +@link-active-color: color(~`colorPalette('@{link-color}', 7) `); +@link-decoration: none; +@link-hover-decoration: none; +@link-focus-decoration: none; +@link-focus-outline: 0; + +// Animation +@ease-base-out: cubic-bezier(0.7, 0.3, 0.1, 1); +@ease-base-in: cubic-bezier(0.9, 0, 0.3, 0.7); +@ease-out: cubic-bezier(0.215, 0.61, 0.355, 1); +@ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19); +@ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1); +@ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46); +@ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6); +@ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46); +@ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1); +@ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34); +@ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86); +@ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); +@ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06); +@ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1); + +// Border color + // base border outline a component +@border-color-split: hsv(0, 0, 94%); // split border inside a component +@border-color-inverse: @white; +@border-width-base: 1px; // width of the border for a component +@border-style-base: solid; // style of a components border + +// Outline +@outline-blur-size: 0; +@outline-width: 2px; +@outline-color: @primary-color; +@outline-fade: 20%; + +@background-color-light: hsv(0, 0, 98%); // background of Header and selected item +@background-color-base: hsv(0, 0, 96%); // Default grey background color + +// Disabled states + +@disabled-bg: @background-color-base; +@disabled-color-dark: fade(#fff, 35%); + +// Shadow +@shadow-color: rgba(0, 0, 0, 0.15); +@shadow-color-inverse: @component-background; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), + 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), + 0 12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); + +// Buttons +@btn-font-weight: 400; +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-sm: @border-radius-base; +@btn-border-width: @border-width-base; +@btn-border-style: @border-style-base; +@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); +@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + +@btn-primary-color: #fff; +@btn-primary-bg: @primary-color; + +@btn-default-color: @text-color; +@btn-default-bg: @component-background; +@btn-default-border: @border-color-base; + +@btn-danger-color: #fff; +@btn-danger-bg: @error-color; +@btn-danger-border: @error-color; + +@btn-disable-color: @disabled-color; +@btn-disable-bg: @disabled-bg; +@btn-disable-border: @border-color-base; + +@btn-default-ghost-color: @component-background; +@btn-default-ghost-bg: transparent; +@btn-default-ghost-border: @component-background; + +@btn-font-size-lg: @font-size-lg; +@btn-font-size-sm: @font-size-base; +@btn-padding-horizontal-base: @padding-md - 1px; +@btn-padding-horizontal-lg: @btn-padding-horizontal-base; +@btn-padding-horizontal-sm: @padding-xs - 1px; + +@btn-height-base: @height-base; +@btn-height-lg: @height-lg; +@btn-height-sm: @height-sm; + +@btn-circle-size: @btn-height-base; +@btn-circle-size-lg: @btn-height-lg; +@btn-circle-size-sm: @btn-height-sm; + +@btn-square-size: @btn-height-base; +@btn-square-size-lg: @btn-height-lg; +@btn-square-size-sm: @btn-height-sm; +@btn-square-only-icon-size: @font-size-base + 2px; +@btn-square-only-icon-size-sm: @font-size-base; +@btn-square-only-icon-size-lg: @btn-font-size-lg + 2px; + +@btn-group-border: @primary-5; + +@btn-link-ghost-color: @component-background; + +// Checkbox +@checkbox-size: 16px; +@checkbox-color: @primary-color; +@checkbox-check-color: #fff; +@checkbox-check-bg: @checkbox-check-color; +@checkbox-border-width: @border-width-base; +@checkbox-group-item-margin-right: 8px; + +// Descriptions +@descriptions-bg: #fafafa; +@descriptions-title-margin-bottom: 20px; +@descriptions-default-padding: @padding-md @padding-lg; +@descriptions-middle-padding: @padding-sm @padding-lg; +@descriptions-small-padding: @padding-xs @padding-md; +@descriptions-item-padding-bottom: @padding-md; + +// Dropdown +@dropdown-selected-color: @primary-color; +@dropdown-menu-submenu-disabled-bg: @component-background; + +// Empty +@empty-font-size: @font-size-base; + +// Radio +@radio-size: 16px; +@radio-top: 0px; +@radio-dot-color: @primary-color; +@radio-dot-disabled-color: fade(@black, 20%); +// solid text-color +@radtio-solid-checked-color: @component-background; +// Keep typo compatible +@radio-solid-checked-color: @radtio-solid-checked-color; + +// Radio buttons +@radio-button-bg: @btn-default-bg; +@radio-button-checked-bg: @btn-default-bg; +@radio-button-color: @btn-default-color; +@radio-button-hover-color: @primary-5; +@radio-button-active-color: @primary-7; +@radio-disabled-button-checked-bg: tint(@black, 90%); +@radio-disabled-button-checked-color: @text-color-inverse; +@radio-wrapper-margin-right: 8px; + +// Media queries breakpoints +// Extra small screen / phone +@screen-xs: 480px; +@screen-xs-min: @screen-xs; + +// Small screen / tablet +@screen-sm: 576px; +@screen-sm-min: @screen-sm; + +// Medium screen / desktop +@screen-md: 768px; +@screen-md-min: @screen-md; + +// Large screen / wide desktop +@screen-lg: 992px; +@screen-lg-min: @screen-lg; + +// Extra large screen / full hd +@screen-xl: 1200px; +@screen-xl-min: @screen-xl; + +// Extra extra large screen / large desktop +@screen-xxl: 1600px; +@screen-xxl-min: @screen-xxl; + +// provide a maximum +@screen-xs-max: (@screen-sm-min - 1px); +@screen-sm-max: (@screen-md-min - 1px); +@screen-md-max: (@screen-lg-min - 1px); +@screen-lg-max: (@screen-xl-min - 1px); +@screen-xl-max: (@screen-xxl-min - 1px); + +// Grid system +@grid-columns: 24; +@grid-gutter-width: 0; + +// Layout + +@layout-header-background: #001529; +@layout-header-height: 64px; +@layout-header-padding: 0 50px; +@layout-header-color: @text-color; +@layout-footer-padding: 24px 50px; +@layout-footer-background: @layout-body-background; +@layout-sider-background: @layout-header-background; +@layout-trigger-height: 48px; +@layout-trigger-background: #002140; +@layout-trigger-color: #fff; +@layout-zero-trigger-width: 36px; +@layout-zero-trigger-height: 42px; +// Layout light theme +@layout-sider-background-light: #fff; +@layout-trigger-background-light: #fff; +@layout-trigger-color-light: @text-color; + +// z-index list, order by `z-index` +@zindex-badge: auto; +@zindex-table-fixed: auto; +@zindex-affix: 10; +@zindex-back-top: 10; +@zindex-picker-panel: 10; +@zindex-popup-close: 10; +@zindex-modal: 1000; +@zindex-modal-mask: 1000; +@zindex-message: 1010; +@zindex-notification: 1010; +@zindex-popover: 1030; +@zindex-dropdown: 1050; +@zindex-picker: 1050; +@zindex-tooltip: 1060; + +// Animation +@animation-duration-slow: 0.3s; // Modal +@animation-duration-base: 0.2s; +@animation-duration-fast: 0.1s; // Tooltip + +//CollapsePanel +@collapse-panel-border-radius: @border-radius-base; + +//Dropdown +@dropdown-menu-bg: @component-background; +@dropdown-vertical-padding: 5px; +@dropdown-edge-child-vertical-padding: 4px; +@dropdown-font-size: @font-size-base; +@dropdown-line-height: 22px; + +// Form +// --- +@label-required-color: @highlight-color; +@label-color: @heading-color; +@form-warning-input-bg: @input-bg; +@form-item-margin-bottom: 24px; +@form-item-trailing-colon: true; +@form-vertical-label-padding: 0 0 8px; +@form-vertical-label-margin: 0; +@form-item-label-font-size: @font-size-base; +@form-item-label-height: @input-height-base; +@form-item-label-colon-margin-right: 8px; +@form-item-label-colon-margin-left: 2px; +@form-error-input-bg: @input-bg; + +// Input +// --- +@input-height-base: @height-base; +@input-height-lg: @height-lg; +@input-height-sm: @height-sm; +@input-padding-horizontal: @control-padding-horizontal - 1px; +@input-padding-horizontal-base: @input-padding-horizontal; +@input-padding-horizontal-sm: @control-padding-horizontal-sm - 1px; +@input-padding-horizontal-lg: @input-padding-horizontal; +@input-padding-vertical-base: max( + round((@input-height-base - @font-size-base * @line-height-base) / 2 * 10) / 10 - + @border-width-base, + 3px +); +@input-padding-vertical-sm: max( + round((@input-height-sm - @font-size-base * @line-height-base) / 2 * 10) / 10 - @border-width-base, + 0 +); +@input-padding-vertical-lg: ceil((@input-height-lg - @font-size-lg * @line-height-base) / 2 * 10) / + 10 - @border-width-base; +@input-placeholder-color: hsv(0, 0, 75%); +@input-color: @text-color; +@input-icon-color: @input-color; +@input-border-color: @border-color-base; +@input-bg: @component-background; +@input-number-hover-border-color: @input-hover-border-color; +@input-number-handler-active-bg: #f4f4f4; +@input-number-handler-hover-bg: @primary-5; +@input-number-handler-bg: @component-background; +@input-number-handler-border-color: @border-color-base; +@input-addon-bg: @background-color-light; +@input-hover-border-color: @primary-5; +@input-disabled-bg: @disabled-bg; +@input-outline-offset: 0 0; +@input-icon-hover-color: fade(@black, 85%); + +// Mentions +// --- +@mentions-dropdown-bg: @component-background; +@mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg; + +// Select +// --- +@select-border-color: @border-color-base; +@select-item-selected-font-weight: 600; +@select-dropdown-bg: @component-background; +@select-item-selected-bg: @primary-1; +@select-item-active-bg: @item-hover-bg; +@select-dropdown-vertical-padding: @dropdown-vertical-padding; +@select-dropdown-font-size: @dropdown-font-size; +@select-dropdown-line-height: @dropdown-line-height; +@select-dropdown-height: 32px; +@select-background: @component-background; +@select-clear-background: @select-background; +@select-selection-item-bg: @background-color-base; +@select-selection-item-border-color: @border-color-split; +@select-single-item-height-lg: 40px; +@select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2; // Normal 24px +@select-multiple-item-height-lg: 32px; +@select-multiple-item-spacing-half: ceil(@input-padding-vertical-base / 2); + +// Cascader +// --- +@cascader-bg: @component-background; +@cascader-item-selected-bg: @primary-1; +@cascader-menu-bg: @component-background; +@cascader-menu-border-color-split: @border-color-split; + +// Cascader +// ---- +@cascader-dropdown-vertical-padding: @dropdown-vertical-padding; +@cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding; +@cascader-dropdown-font-size: @dropdown-font-size; +@cascader-dropdown-line-height: @dropdown-line-height; + +// Anchor +// --- +@anchor-bg: @component-background; +@anchor-border-color: @border-color-split; +@anchor-link-padding: 7px 0 7px 16px; + +// Tooltip +// --- +// Tooltip max width +@tooltip-max-width: 250px; +// Tooltip text color +@tooltip-color: #fff; +// Tooltip background color +@tooltip-bg: rgba(0, 0, 0, 0.75); +// Tooltip arrow width +@tooltip-arrow-width: 5px; +// Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +// Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + +// Popover +// --- +// Popover body background color +@popover-bg: @component-background; +// Popover text color +@popover-color: @text-color; +// Popover maximum width +@popover-min-width: 177px; +@popover-min-height: 32px; +// Popover arrow width +@popover-arrow-width: 6px; +// Popover arrow color +@popover-arrow-color: @popover-bg; +// Popover outer arrow width +// Popover outer arrow color +@popover-arrow-outer-color: @popover-bg; +// Popover distance with trigger +@popover-distance: @popover-arrow-width + 4px; +@popover-padding-horizontal: @padding-md; + +// Modal +// -- +@modal-body-padding: @padding-lg; +@modal-header-bg: @component-background; +@modal-header-padding: @padding-md @padding-lg; +@modal-header-border-color-split: @border-color-split; +@modal-header-close-size: 56px; +@modal-content-bg: @component-background; +@modal-heading-color: @heading-color; +@modal-footer-bg: transparent; +@modal-footer-border-color-split: @border-color-split; +@modal-footer-padding-vertical: 10px; +@modal-footer-padding-horizontal: 16px; +@modal-mask-bg: fade(@black, 45%); +@modal-confirm-body-padding: 32px 32px 24px; + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: @background-color-base; +@progress-text-color: @text-color; +@progress-radius: 100px; +@progress-steps-item-bg: #f3f3f3; +@progress-text-font-size: 1em; +@progress-circle-text-font-size: 1em; +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-item-group-height: @line-height-base; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-popup-bg: @component-background; +@menu-item-color: @text-color; +@menu-highlight-color: @primary-color; +@menu-item-active-bg: @primary-1; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +@menu-icon-size: @font-size-base; +@menu-icon-size-lg: @font-size-lg; + +@menu-item-vertical-margin: 4px; +@menu-item-font-size: @font-size-base; +@menu-item-boundary-margin: 8px; +@menu-item-padding: 0 20px; +@menu-horizontal-line-height: 46px; +@menu-item-icon-margin-right: 10px; + +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; +@menu-dark-selected-item-icon-color: @white; +@menu-dark-selected-item-text-color: @white; +@menu-dark-item-hover-bg: transparent; +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-bg: @component-background; +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: #fafafa; +@table-row-hover-bg: @background-color-light; +@table-selected-row-color: inherit; +@table-selected-row-bg: @primary-1; +@table-body-selected-sort-bg: @table-selected-row-bg; +@table-selected-row-hover-bg: darken(@table-selected-row-bg, 2%); +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; +@table-padding-vertical-md: @table-padding-vertical * 3 / 4; +@table-padding-horizontal-md: @table-padding-horizontal / 2; +@table-padding-vertical-sm: @table-padding-vertical / 2; +@table-padding-horizontal-sm: @table-padding-horizontal / 2; +@table-border-radius-base: @border-radius-base; +@table-footer-bg: @background-color-light; +@table-footer-color: @heading-color; +@table-header-bg-sm: @table-header-bg; +// Sorter +// Legacy: `MyTable-Header-sort-active-bg` is used for hover not real active +@table-header-sort-active-bg: darken(@table-header-bg, 3%); +// Filter +@table-header-filter-active-bg: darken(@table-header-sort-active-bg, 5%); +@table-filter-btns-bg: inherit; +@table-filter-dropdown-bg: @component-background; +@table-expand-icon-bg: @component-background; +@table-selection-column-width: 60px; +@table-selection-extra-right: -10px; + +// Tag +// -- +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; +@tag-line-height: 20px; + +// TimePicker +// --- +@picker-bg: @component-background; +@picker-basic-cell-hover-color: @item-hover-bg; +@picker-basic-cell-active-with-range-color: @primary-1; +@picker-basic-cell-hover-with-range-color: lighten(@primary-color, 35%); +@picker-basic-cell-disabled-bg: @disabled-bg; +@picker-border-color: @border-color-split; +@picker-date-hover-range-border-color: lighten(@primary-color, 20%); +@picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color; +@picker-time-panel-cell-height: 28px; +@picker-panel-cell-height: 24px; +@picker-panel-cell-width: 36px; +@picker-text-height: 40px; +@picker-panel-without-time-cell-height: 66px; + +// Calendar +// --- +@calendar-bg: @component-background; +@calendar-input-bg: @input-bg; +@calendar-border-color: @border-color-inverse; +@calendar-item-active-bg: @item-active-bg; +@calendar-full-bg: @calendar-bg; +@calendar-full-panel-bg: @calendar-full-bg; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; +@badge-text-color: @component-background; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; +@rate-star-size: 20px; + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-font-size: @font-size-lg; +@card-head-font-size-sm: @font-size-base; +@card-head-padding: 16px; +@card-head-padding-sm: @card-head-padding / 2; +@card-head-height: 48px; +@card-head-height-sm: 36px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-base-sm: @card-padding-base / 2; +@card-actions-background: @background-color-light; +@card-actions-li-margin: 12px 0; +@card-skeleton-bg: #cfd8dc; +@card-background: @component-background; +@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), + 0 5px 12px 4px rgba(0, 0, 0, 0.09); +@card-radius: @border-radius-base; +@card-head-tabs-margin-bottom: -17px; + +// Comment +// --- +@comment-bg: inherit; +@comment-padding-base: @padding-md 0; +@comment-nest-indent: 44px; +@comment-font-size-base: @font-size-base; +@comment-font-size-sm: @font-size-sm; +@comment-author-name-color: @text-color-secondary; +@comment-author-time-color: #ccc; +@comment-action-color: @text-color-secondary; +@comment-action-hover-color: #595959; +@comment-actions-margin-bottom: inherit; +@comment-actions-margin-top: @margin-sm; +@comment-content-detail-p-margin-bottom: inherit; + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-card-horizontal-padding: (@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2 - + @border-width-base @padding-md; +@tabs-card-horizontal-padding-sm: 6px @padding-md; +@tabs-title-font-size: @font-size-base; +@tabs-title-font-size-lg: @font-size-lg; +@tabs-title-font-size-sm: @font-size-base; +@tabs-ink-bar-color: @primary-color; +@tabs-bar-margin: 0 0 @margin-md 0; +@tabs-horizontal-margin: 0 32px 0 0; +@tabs-horizontal-margin-rtl: 0 0 0 32px; +@tabs-horizontal-padding: @padding-sm 0; +@tabs-horizontal-padding-lg: @padding-md 0; +@tabs-horizontal-padding-sm: @padding-xs 0; +@tabs-vertical-padding: @padding-xs @padding-lg; +@tabs-vertical-margin: 0 0 @margin-md 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; +@tabs-card-gutter: 2px; +@tabs-card-tab-active-border-top: 2px solid transparent; + +// BackTop +// --- +@back-top-color: #fff; +@back-top-bg: @text-color-secondary; +@back-top-hover-bg: @text-color; + +// Avatar +// --- +@avatar-size-base: 32px; +@avatar-size-lg: 40px; +@avatar-size-sm: 24px; +@avatar-font-size-base: 18px; +@avatar-font-size-lg: 24px; +@avatar-font-size-sm: 14px; +@avatar-bg: #ccc; +@avatar-color: #fff; +@avatar-border-radius: @border-radius-base; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-min-width: 44px; +@switch-sm-min-width: 28px; +@switch-sm-checked-margin-left: -(@switch-sm-height - 3px); +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; +@switch-bg: @component-background; +@switch-shadow-color: fade(#00230b, 20%); +@switch-inner-margin: 0 24px 0 6px; + +// Pagination +// --- +@pagination-item-bg: @component-background; +@pagination-item-size: @height-base; +@pagination-item-size-sm: 24px; +@pagination-font-family: Arial; +@pagination-font-weight-active: 500; +@pagination-item-bg-active: @component-background; +@pagination-item-link-bg: @component-background; +@pagination-item-disabled-color-active: @white; +@pagination-item-disabled-bg-active: darken(@disabled-bg, 10%); +@pagination-item-input-bg: @component-background; +@pagination-mini-options-size-changer-top: 0px; + +// PageHeader +// --- +@page-header-padding: @padding-lg; +@page-header-padding-vertical: @padding-md; +@page-header-padding-breadcrumb: @padding-sm; +@page-header-content-padding-vertical: @padding-sm; +@page-header-back-color: #000; +@page-header-ghost-bg: inherit; +@page-header-heading-title: @heading-4-size; +@page-header-heading-sub-title: 14px; +@page-header-tabs-tab-font-size: 16px; + +// Breadcrumb +// --- +@breadcrumb-base-color: @text-color-secondary; +@breadcrumb-last-item-color: @text-color; +@breadcrumb-font-size: @font-size-base; +@breadcrumb-icon-font-size: @font-size-base; +@breadcrumb-link-color: @text-color-secondary; +@breadcrumb-link-color-hover: @primary-5; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 10px 6px 10px; +@slider-rail-background-color: @background-color-base; +@slider-rail-background-color-hover: #e1e1e1; +@slider-track-background-color: @primary-3; +@slider-track-background-color-hover: @primary-4; +@slider-handle-border-width: 2px; +@slider-handle-background-color: @component-background; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: tint(@primary-color, 20%); +@slider-handle-color-focus-shadow: fade(@primary-color, 12%); +@slider-handle-color-tooltip-open: @primary-color; +@slider-handle-size: 14px; +@slider-handle-margin-top: -5px; +@slider-handle-shadow: 0; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: tint(@primary-color, 50%); +@slider-disabled-color: @disabled-color; +@slider-disabled-background-color: @component-background; + +// Tree +// --- +@tree-bg: @component-background; +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; +@tree-node-hover-bg: @item-hover-bg; +@tree-node-selected-bg: @primary-2; + +// Collapse +// --- +@collapse-header-padding: @padding-sm @padding-md; +@collapse-header-padding-extra: 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; +@collapse-header-arrow-left: 16px; + +// Skeleton +// --- +@skeleton-color: #f2f2f2; +@skeleton-to-color: shade(@skeleton-color, 5%); +@skeleton-paragraph-margin-top: 28px; +@skeleton-paragraph-li-margin-top: @margin-md; +@skeleton-paragraph-li-height: 16px; +@skeleton-title-height: 16px; +@skeleton-title-paragraph-margin-top: @margin-lg; + +// Transfer +// --- +@transfer-header-height: 40px; +@transfer-item-height: @height-base; +@transfer-disabled-bg: @disabled-bg; +@transfer-list-height: 200px; +@transfer-item-hover-bg: @item-hover-bg; +@transfer-item-padding-vertical: 6px; +@transfer-list-search-icon-top: 12px; + +// Message +// --- +@message-notice-content-padding: 10px 16px; +@message-notice-content-bg: @component-background; +// Motion +// --- +@wave-animation-width: 6px; + +// Alert +// --- +@alert-success-border-color: ~`colorPalette('@{success-color}', 3) `; +@alert-success-bg-color: ~`colorPalette('@{success-color}', 1) `; +@alert-success-icon-color: @success-color; +@alert-info-border-color: ~`colorPalette('@{info-color}', 3) `; +@alert-info-bg-color: ~`colorPalette('@{info-color}', 1) `; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: ~`colorPalette('@{warning-color}', 3) `; +@alert-warning-bg-color: ~`colorPalette('@{warning-color}', 1) `; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: ~`colorPalette('@{error-color}', 3) `; +@alert-error-bg-color: ~`colorPalette('@{error-color}', 1) `; +@alert-error-icon-color: @error-color; +@alert-message-color: @heading-color; +@alert-text-color: @text-color; +@alert-close-color: @text-color-secondary; +@alert-close-hover-color: @icon-color-hover; +@alert-no-icon-padding-vertical: @padding-xs; +@alert-with-description-no-icon-padding-vertical: @padding-md - 1px; +@alert-with-description-padding-vertical: @padding-md - 1px; +@alert-with-description-padding: @alert-with-description-padding-vertical 15px + @alert-with-description-no-icon-padding-vertical - 1px 64px; +@alert-icon-top: 8px + @font-size-base * @line-height-base / 2 - @font-size-base / 2; +@alert-with-description-icon-size: 24px; +@alert-with-description-icon-top: @alert-with-description-padding-vertical; + +// List +// --- +@list-header-background: transparent; +@list-footer-background: transparent; +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-padding-sm: @padding-xs @padding-md; +@list-item-padding-lg: 16px 24px; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; +@list-customize-card-bg: @component-background; +@list-item-meta-description-font-size: @font-size-base; + +// Statistic +// --- +@statistic-title-font-size: @font-size-base; +@statistic-content-font-size: 24px; +@statistic-unit-font-size: 16px; +@statistic-font-family: @font-family; + +// Drawer +// --- +@drawer-header-padding: @padding-md @padding-lg; +@drawer-body-padding: @padding-lg; +@drawer-bg: @component-background; +@drawer-footer-padding-vertical: @modal-footer-padding-vertical; +@drawer-footer-padding-horizontal: @modal-footer-padding-horizontal; +@drawer-header-close-size: 56px; + +// Timeline +// --- +@timeline-width: 2px; +@timeline-color: @border-color-split; +@timeline-dot-border-width: 2px; +@timeline-dot-color: @primary-color; +@timeline-dot-bg: @component-background; +@timeline-item-padding-bottom: 20px; + +// Typography +// --- +@typography-title-font-weight: 600; +@typography-title-margin-top: 1.2em; +@typography-title-margin-bottom: 0.5em; + +// Upload +// --- +@upload-actions-color: @text-color-secondary; + +// Steps +// --- +@process-tail-color: @border-color-split; +@steps-nav-arrow-color: fade(@black, 25%); +@steps-background: @component-background; +@steps-icon-size: 32px; +@steps-icon-custom-size: @steps-icon-size; +@steps-icon-custom-top: 0px; +@steps-icon-custom-font-size: 24px; +@steps-icon-top: -1px; +@steps-icon-font-size: @font-size-lg; +@steps-icon-margin: 0 8px 0 0; +@steps-title-line-height: @height-base; +@steps-small-icon-size: 24px; +@steps-small-icon-margin: 0 8px 0 0; +@steps-dot-size: 8px; +@steps-dot-top: 2px; +@steps-current-dot-size: 10px; +@steps-desciption-max-width: 140px; +@steps-nav-content-max-width: auto; +@steps-vertical-icon-margin: 0 16px 0 0; + +// Notification +// --- +@notification-bg: @component-background; +@notification-padding-vertical: 16px; +@notification-padding-horizontal: 24px; + +// Result +// --- +@result-title-font-size: 24px; +@result-subtitle-font-size: @font-size-base; +@result-icon-font-size: 72px; +@result-extra-margin: 32px 0 0 0; + + // 全局主色 + // 链接色 + // 成功色 + // 警告色 + // 错误色 + // 标题色 + // 主文本色 + // 次文本色 + // 失效色 + // 边框色 + + + +// 自定义 +.webTheme{ + background: @primary-color !important; +} +.logo h1{ + color: @text-color; +} +.avart{ + background-color: @primary-color !important; +} +.ant-input{ + background: transparent !important; +} +.ant-menu-submenu-arrow::before,.ant-menu-submenu-arrow::after{ + background: @primary-color; + background-image:linear-gradient(to right, rgba(24, 144, 255, 1), rgba(24, 144, 255, 1)) !important; +} +input:-webkit-autofill{ + box-shadow: 0 0 0px 1000px rgb(232, 240, 254) inset !important; + -webkit-text-fill-color: #666 !important; +} +html { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + color: @text-color; + background-color: @body-background; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: @heading-color; +} +abbr[title], +abbr[data-original-title] { + border-bottom: 0; +} +a { + color: @link-color; + background-color: transparent; +} +a:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +a:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +a[disabled] { + color: @disabled-color; +} +img { + border-style: none; +} +table { + border-collapse: collapse; +} +caption { + color: @text-color-secondary; +} +input, +button, +select, +optgroup, +textarea { + color: inherit; +} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + border-style: none; +} +fieldset { + border: 0; +} +legend { + color: inherit; +} +mark { + background-color: #feffe6; +} +::selection { + color: @component-background; + background: @link-color; +} +.anticon { + color: inherit; +} +html { + --antd-wave-shadow-color: @link-color; +} +[ant-click-animating-without-extra-node='true']::after, +.ant-click-animating-node { + border-radius: inherit; + box-shadow: 0 0 0 0 @link-color; + box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); +} +.ant-alert { + color: @text-color; + border-radius: 2px; +} +.ant-alert-success { + background-color: color(~`colorPalette("@{success-color}", 1)`); + border: 1px solid color(~`colorPalette("@{success-color}", 3)`); +} +.ant-alert-success .ant-alert-icon { + color: @success-color; +} +.ant-alert-info { + background-color: color(~`colorPalette("@{link-color}", 1)`); + border: 1px solid color(~`colorPalette("@{link-color}", 3)`); +} +.ant-alert-info .ant-alert-icon { + color: @link-color; +} +.ant-alert-warning { + background-color: color(~`colorPalette("@{warning-color}", 1)`); + border: 1px solid color(~`colorPalette("@{warning-color}", 3)`); +} +.ant-alert-warning .ant-alert-icon { + color: @warning-color; +} +.ant-alert-error { + background-color: color(~`colorPalette("@{layout-body-background}", 4)`); + border: 1px solid color(~`colorPalette("@{error-color}", 3)`); +} +.ant-alert-error .ant-alert-icon { + color: @error-color; +} +.ant-alert-close-icon { + background-color: transparent; + border: none; +} +.ant-alert-close-icon .anticon-close { + color: @text-color-secondary; +} +.ant-alert-close-icon .anticon-close:hover { + color: rgba(0, 0, 0, 0.75); +} +.ant-alert-close-text { + color: @text-color-secondary; +} +.ant-alert-close-text:hover { + color: rgba(0, 0, 0, 0.75); +} +.ant-alert-with-description { + color: @text-color; + border-radius: 2px; +} +.ant-alert-with-description .ant-alert-message { + color: @heading-color; +} +.ant-alert-message { + color: @heading-color; +} +.ant-alert-banner { + border: 0; + border-radius: 0; +} +.ant-anchor { + color: @text-color; +} +.ant-anchor-wrapper { + background-color: @layout-body-background; +} +.ant-anchor-ink::before { + background-color: #f0f0f0; +} +.ant-anchor-ink-ball { + background-color: @layout-body-background; + border: 2px solid @link-color; + border-radius: 8px; +} +.ant-anchor-link-title { + color: @text-color; +} +.ant-anchor-link-active > .ant-anchor-link-title { + color: @link-color; +} +.ant-select-auto-complete { + color: @text-color; +} +.ant-avatar { + color: @text-color; + color: @component-background; + background: #ccc; + border-radius: 50%; +} +.ant-avatar-image { + background: transparent; +} +.ant-avatar-lg { + border-radius: 50%; +} +.ant-avatar-sm { + border-radius: 50%; +} +.ant-avatar-square { + border-radius: 2px; +} +.ant-back-top { + color: @text-color; +} +.ant-back-top-content { + color: @component-background; + background-color: @text-color-secondary; + border-radius: 20px; +} +.ant-back-top-content:hover { + background-color: @text-color; +} +.ant-badge { + color: @text-color; + color: unset; +} +.ant-badge-count { + color: @layout-body-background; + background: color(~`colorPalette("@{error-color}", 5)`); + border-radius: 10px; + box-shadow: 0 0 0 1px @layout-body-background; +} +.ant-badge-count a, +.ant-badge-count a:hover { + color: @layout-body-background; +} +.ant-badge-dot { + background: color(~`colorPalette("@{error-color}", 5)`); + border-radius: 100%; + box-shadow: 0 0 0 1px @layout-body-background; +} +.ant-badge-status-dot { + border-radius: 50%; +} +.ant-badge-status-success { + background-color: @success-color; +} +.ant-badge-status-processing { + background-color: @link-color; +} +.ant-badge-status-processing::after { + border: 1px solid @link-color; + border-radius: 50%; +} +.ant-badge-status-default { + background-color: @border-color-base; +} +.ant-badge-status-error { + background-color: @error-color; +} +.ant-badge-status-warning { + background-color: @warning-color; +} +.ant-badge-status-pink { + background: #eb2f96; +} +.ant-badge-status-magenta { + background: #eb2f96; +} +.ant-badge-status-red { + background: @error-color; +} +.ant-badge-status-volcano { + background: #fa541c; +} +.ant-badge-status-orange { + background: #fa8c16; +} +.ant-badge-status-yellow { + background: #fadb14; +} +.ant-badge-status-gold { + background: @warning-color; +} +.ant-badge-status-cyan { + background: #13c2c2; +} +.ant-badge-status-lime { + background: #a0d911; +} +.ant-badge-status-green { + background: @success-color; +} +.ant-badge-status-blue { + background: @link-color; +} +.ant-badge-status-geekblue { + background: #2f54eb; +} +.ant-badge-status-purple { + background: #722ed1; +} +.ant-badge-status-text { + color: @text-color; +} +.ant-breadcrumb { + color: @text-color; + color: @text-color-secondary; +} +.ant-breadcrumb a { + color: @text-color-secondary; +} +.ant-breadcrumb a:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-breadcrumb > span:last-child { + color: @text-color; +} +.ant-breadcrumb > span:last-child a { + color: @text-color; +} +.ant-breadcrumb-separator { + color: @text-color-secondary; +} +.ant-btn { + border: 1px solid transparent; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + border-radius: 2px; + color: @text-color; + background-color: @layout-body-background; + border-color: @border-color-base; +} +.ant-btn:not([disabled]):active { + box-shadow: none; +} +.ant-btn-lg { + border-radius: 2px; +} +.ant-btn-sm { + border-radius: 2px; +} +.ant-btn > a:only-child { + color: currentColor; +} +.ant-btn > a:only-child::after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn:hover > a:only-child, +.ant-btn:focus > a:only-child { + color: currentColor; +} +.ant-btn:hover > a:only-child::after, +.ant-btn:focus > a:only-child::after { + background: transparent; +} +.ant-btn:active, +.ant-btn.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn:active > a:only-child, +.ant-btn.active > a:only-child { + color: currentColor; +} +.ant-btn:active > a:only-child::after, +.ant-btn.active > a:only-child::after { + background: transparent; +} +.ant-btn-disabled, +.ant-btn.disabled, +.ant-btn[disabled], +.ant-btn-disabled:hover, +.ant-btn.disabled:hover, +.ant-btn[disabled]:hover, +.ant-btn-disabled:focus, +.ant-btn.disabled:focus, +.ant-btn[disabled]:focus, +.ant-btn-disabled:active, +.ant-btn.disabled:active, +.ant-btn[disabled]:active, +.ant-btn-disabled.active, +.ant-btn.disabled.active, +.ant-btn[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-disabled > a:only-child, +.ant-btn.disabled > a:only-child, +.ant-btn[disabled] > a:only-child, +.ant-btn-disabled:hover > a:only-child, +.ant-btn.disabled:hover > a:only-child, +.ant-btn[disabled]:hover > a:only-child, +.ant-btn-disabled:focus > a:only-child, +.ant-btn.disabled:focus > a:only-child, +.ant-btn[disabled]:focus > a:only-child, +.ant-btn-disabled:active > a:only-child, +.ant-btn.disabled:active > a:only-child, +.ant-btn[disabled]:active > a:only-child, +.ant-btn-disabled.active > a:only-child, +.ant-btn.disabled.active > a:only-child, +.ant-btn[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-disabled > a:only-child::after, +.ant-btn.disabled > a:only-child::after, +.ant-btn[disabled] > a:only-child::after, +.ant-btn-disabled:hover > a:only-child::after, +.ant-btn.disabled:hover > a:only-child::after, +.ant-btn[disabled]:hover > a:only-child::after, +.ant-btn-disabled:focus > a:only-child::after, +.ant-btn.disabled:focus > a:only-child::after, +.ant-btn[disabled]:focus > a:only-child::after, +.ant-btn-disabled:active > a:only-child::after, +.ant-btn.disabled:active > a:only-child::after, +.ant-btn[disabled]:active > a:only-child::after, +.ant-btn-disabled.active > a:only-child::after, +.ant-btn.disabled.active > a:only-child::after, +.ant-btn[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus, +.ant-btn:active, +.ant-btn.active { + background: @layout-body-background; +} +.ant-btn-primary { + color: @component-background; + background-color: @link-color; + border-color: @link-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +} +.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-primary > a:only-child::after { + background: transparent; +} +.ant-btn-primary:hover, +.ant-btn-primary:focus { + color: @component-background; + background-color: color(~`colorPalette("@{link-color}", 5)`); + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-primary:hover > a:only-child, +.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-primary:hover > a:only-child::after, +.ant-btn-primary:focus > a:only-child::after { + background: transparent; +} +.ant-btn-primary:active, +.ant-btn-primary.active { + color: @component-background; + background-color: color(~`colorPalette("@{link-color}", 7)`); + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-primary:active > a:only-child, +.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-primary:active > a:only-child::after, +.ant-btn-primary.active > a:only-child::after { + background: transparent; +} +.ant-btn-primary-disabled, +.ant-btn-primary.disabled, +.ant-btn-primary[disabled], +.ant-btn-primary-disabled:hover, +.ant-btn-primary.disabled:hover, +.ant-btn-primary[disabled]:hover, +.ant-btn-primary-disabled:focus, +.ant-btn-primary.disabled:focus, +.ant-btn-primary[disabled]:focus, +.ant-btn-primary-disabled:active, +.ant-btn-primary.disabled:active, +.ant-btn-primary[disabled]:active, +.ant-btn-primary-disabled.active, +.ant-btn-primary.disabled.active, +.ant-btn-primary[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-primary-disabled > a:only-child, +.ant-btn-primary.disabled > a:only-child, +.ant-btn-primary[disabled] > a:only-child, +.ant-btn-primary-disabled:hover > a:only-child, +.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-primary-disabled:focus > a:only-child, +.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-primary-disabled:active > a:only-child, +.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-primary-disabled.active > a:only-child, +.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-primary-disabled > a:only-child::after, +.ant-btn-primary.disabled > a:only-child::after, +.ant-btn-primary[disabled] > a:only-child::after, +.ant-btn-primary-disabled:hover > a:only-child::after, +.ant-btn-primary.disabled:hover > a:only-child::after, +.ant-btn-primary[disabled]:hover > a:only-child::after, +.ant-btn-primary-disabled:focus > a:only-child::after, +.ant-btn-primary.disabled:focus > a:only-child::after, +.ant-btn-primary[disabled]:focus > a:only-child::after, +.ant-btn-primary-disabled:active > a:only-child::after, +.ant-btn-primary.disabled:active > a:only-child::after, +.ant-btn-primary[disabled]:active > a:only-child::after, +.ant-btn-primary-disabled.active > a:only-child::after, +.ant-btn-primary.disabled.active > a:only-child::after, +.ant-btn-primary[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { + border-right-color: color(~`colorPalette("@{link-color}", 5)`); + border-left-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { + border-color: @border-color-base; +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { + border-right-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { + border-right-color: @border-color-base; +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child), +.ant-btn-group .ant-btn-primary + .ant-btn-primary { + border-left-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], +.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { + border-left-color: @border-color-base; +} +.ant-btn-ghost { + color: @text-color; + background-color: transparent; + border-color: @border-color-base; +} +.ant-btn-ghost > a:only-child { + color: currentColor; +} +.ant-btn-ghost > a:only-child::after { + background: transparent; +} +.ant-btn-ghost:hover, +.ant-btn-ghost:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-ghost:hover > a:only-child, +.ant-btn-ghost:focus > a:only-child { + color: currentColor; +} +.ant-btn-ghost:hover > a:only-child::after, +.ant-btn-ghost:focus > a:only-child::after { + background: transparent; +} +.ant-btn-ghost:active, +.ant-btn-ghost.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-ghost:active > a:only-child, +.ant-btn-ghost.active > a:only-child { + color: currentColor; +} +.ant-btn-ghost:active > a:only-child::after, +.ant-btn-ghost.active > a:only-child::after { + background: transparent; +} +.ant-btn-ghost-disabled, +.ant-btn-ghost.disabled, +.ant-btn-ghost[disabled], +.ant-btn-ghost-disabled:hover, +.ant-btn-ghost.disabled:hover, +.ant-btn-ghost[disabled]:hover, +.ant-btn-ghost-disabled:focus, +.ant-btn-ghost.disabled:focus, +.ant-btn-ghost[disabled]:focus, +.ant-btn-ghost-disabled:active, +.ant-btn-ghost.disabled:active, +.ant-btn-ghost[disabled]:active, +.ant-btn-ghost-disabled.active, +.ant-btn-ghost.disabled.active, +.ant-btn-ghost[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-ghost-disabled > a:only-child, +.ant-btn-ghost.disabled > a:only-child, +.ant-btn-ghost[disabled] > a:only-child, +.ant-btn-ghost-disabled:hover > a:only-child, +.ant-btn-ghost.disabled:hover > a:only-child, +.ant-btn-ghost[disabled]:hover > a:only-child, +.ant-btn-ghost-disabled:focus > a:only-child, +.ant-btn-ghost.disabled:focus > a:only-child, +.ant-btn-ghost[disabled]:focus > a:only-child, +.ant-btn-ghost-disabled:active > a:only-child, +.ant-btn-ghost.disabled:active > a:only-child, +.ant-btn-ghost[disabled]:active > a:only-child, +.ant-btn-ghost-disabled.active > a:only-child, +.ant-btn-ghost.disabled.active > a:only-child, +.ant-btn-ghost[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-ghost-disabled > a:only-child::after, +.ant-btn-ghost.disabled > a:only-child::after, +.ant-btn-ghost[disabled] > a:only-child::after, +.ant-btn-ghost-disabled:hover > a:only-child::after, +.ant-btn-ghost.disabled:hover > a:only-child::after, +.ant-btn-ghost[disabled]:hover > a:only-child::after, +.ant-btn-ghost-disabled:focus > a:only-child::after, +.ant-btn-ghost.disabled:focus > a:only-child::after, +.ant-btn-ghost[disabled]:focus > a:only-child::after, +.ant-btn-ghost-disabled:active > a:only-child::after, +.ant-btn-ghost.disabled:active > a:only-child::after, +.ant-btn-ghost[disabled]:active > a:only-child::after, +.ant-btn-ghost-disabled.active > a:only-child::after, +.ant-btn-ghost.disabled.active > a:only-child::after, +.ant-btn-ghost[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-dashed { + color: @text-color; + background-color: @layout-body-background; + border-color: @border-color-base; + border-style: dashed; +} +.ant-btn-dashed > a:only-child { + color: currentColor; +} +.ant-btn-dashed > a:only-child::after { + background: transparent; +} +.ant-btn-dashed:hover, +.ant-btn-dashed:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-dashed:hover > a:only-child, +.ant-btn-dashed:focus > a:only-child { + color: currentColor; +} +.ant-btn-dashed:hover > a:only-child::after, +.ant-btn-dashed:focus > a:only-child::after { + background: transparent; +} +.ant-btn-dashed:active, +.ant-btn-dashed.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-dashed:active > a:only-child, +.ant-btn-dashed.active > a:only-child { + color: currentColor; +} +.ant-btn-dashed:active > a:only-child::after, +.ant-btn-dashed.active > a:only-child::after { + background: transparent; +} +.ant-btn-dashed-disabled, +.ant-btn-dashed.disabled, +.ant-btn-dashed[disabled], +.ant-btn-dashed-disabled:hover, +.ant-btn-dashed.disabled:hover, +.ant-btn-dashed[disabled]:hover, +.ant-btn-dashed-disabled:focus, +.ant-btn-dashed.disabled:focus, +.ant-btn-dashed[disabled]:focus, +.ant-btn-dashed-disabled:active, +.ant-btn-dashed.disabled:active, +.ant-btn-dashed[disabled]:active, +.ant-btn-dashed-disabled.active, +.ant-btn-dashed.disabled.active, +.ant-btn-dashed[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-dashed-disabled > a:only-child, +.ant-btn-dashed.disabled > a:only-child, +.ant-btn-dashed[disabled] > a:only-child, +.ant-btn-dashed-disabled:hover > a:only-child, +.ant-btn-dashed.disabled:hover > a:only-child, +.ant-btn-dashed[disabled]:hover > a:only-child, +.ant-btn-dashed-disabled:focus > a:only-child, +.ant-btn-dashed.disabled:focus > a:only-child, +.ant-btn-dashed[disabled]:focus > a:only-child, +.ant-btn-dashed-disabled:active > a:only-child, +.ant-btn-dashed.disabled:active > a:only-child, +.ant-btn-dashed[disabled]:active > a:only-child, +.ant-btn-dashed-disabled.active > a:only-child, +.ant-btn-dashed.disabled.active > a:only-child, +.ant-btn-dashed[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dashed-disabled > a:only-child::after, +.ant-btn-dashed.disabled > a:only-child::after, +.ant-btn-dashed[disabled] > a:only-child::after, +.ant-btn-dashed-disabled:hover > a:only-child::after, +.ant-btn-dashed.disabled:hover > a:only-child::after, +.ant-btn-dashed[disabled]:hover > a:only-child::after, +.ant-btn-dashed-disabled:focus > a:only-child::after, +.ant-btn-dashed.disabled:focus > a:only-child::after, +.ant-btn-dashed[disabled]:focus > a:only-child::after, +.ant-btn-dashed-disabled:active > a:only-child::after, +.ant-btn-dashed.disabled:active > a:only-child::after, +.ant-btn-dashed[disabled]:active > a:only-child::after, +.ant-btn-dashed-disabled.active > a:only-child::after, +.ant-btn-dashed.disabled.active > a:only-child::after, +.ant-btn-dashed[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-danger { + color: @component-background; + background-color: @error-color; + border-color: @error-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +} +.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-danger > a:only-child::after { + background: transparent; +} +.ant-btn-danger:hover, +.ant-btn-danger:focus { + color: @component-background; + background-color: color(~`colorPalette("@{error-color}", 5)`); + border-color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-btn-danger:hover > a:only-child, +.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-danger:hover > a:only-child::after, +.ant-btn-danger:focus > a:only-child::after { + background: transparent; +} +.ant-btn-danger:active, +.ant-btn-danger.active { + color: @component-background; + background-color: color(~`colorPalette("@{error-color}", 7)`); + border-color: color(~`colorPalette("@{error-color}", 7)`); +} +.ant-btn-danger:active > a:only-child, +.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-danger:active > a:only-child::after, +.ant-btn-danger.active > a:only-child::after { + background: transparent; +} +.ant-btn-danger-disabled, +.ant-btn-danger.disabled, +.ant-btn-danger[disabled], +.ant-btn-danger-disabled:hover, +.ant-btn-danger.disabled:hover, +.ant-btn-danger[disabled]:hover, +.ant-btn-danger-disabled:focus, +.ant-btn-danger.disabled:focus, +.ant-btn-danger[disabled]:focus, +.ant-btn-danger-disabled:active, +.ant-btn-danger.disabled:active, +.ant-btn-danger[disabled]:active, +.ant-btn-danger-disabled.active, +.ant-btn-danger.disabled.active, +.ant-btn-danger[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-danger-disabled > a:only-child, +.ant-btn-danger.disabled > a:only-child, +.ant-btn-danger[disabled] > a:only-child, +.ant-btn-danger-disabled:hover > a:only-child, +.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-danger-disabled:focus > a:only-child, +.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-danger-disabled:active > a:only-child, +.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-danger-disabled.active > a:only-child, +.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-danger-disabled > a:only-child::after, +.ant-btn-danger.disabled > a:only-child::after, +.ant-btn-danger[disabled] > a:only-child::after, +.ant-btn-danger-disabled:hover > a:only-child::after, +.ant-btn-danger.disabled:hover > a:only-child::after, +.ant-btn-danger[disabled]:hover > a:only-child::after, +.ant-btn-danger-disabled:focus > a:only-child::after, +.ant-btn-danger.disabled:focus > a:only-child::after, +.ant-btn-danger[disabled]:focus > a:only-child::after, +.ant-btn-danger-disabled:active > a:only-child::after, +.ant-btn-danger.disabled:active > a:only-child::after, +.ant-btn-danger[disabled]:active > a:only-child::after, +.ant-btn-danger-disabled.active > a:only-child::after, +.ant-btn-danger.disabled.active > a:only-child::after, +.ant-btn-danger[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-link { + color: @link-color; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.ant-btn-link > a:only-child { + color: currentColor; +} +.ant-btn-link > a:only-child::after { + background: transparent; +} +.ant-btn-link:hover, +.ant-btn-link:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-link:hover > a:only-child, +.ant-btn-link:focus > a:only-child { + color: currentColor; +} +.ant-btn-link:hover > a:only-child::after, +.ant-btn-link:focus > a:only-child::after { + background: transparent; +} +.ant-btn-link:active, +.ant-btn-link.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-link:active > a:only-child, +.ant-btn-link.active > a:only-child { + color: currentColor; +} +.ant-btn-link:active > a:only-child::after, +.ant-btn-link.active > a:only-child::after { + background: transparent; +} +.ant-btn-link-disabled, +.ant-btn-link.disabled, +.ant-btn-link[disabled], +.ant-btn-link-disabled:hover, +.ant-btn-link.disabled:hover, +.ant-btn-link[disabled]:hover, +.ant-btn-link-disabled:focus, +.ant-btn-link.disabled:focus, +.ant-btn-link[disabled]:focus, +.ant-btn-link-disabled:active, +.ant-btn-link.disabled:active, +.ant-btn-link[disabled]:active, +.ant-btn-link-disabled.active, +.ant-btn-link.disabled.active, +.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-link-disabled > a:only-child, +.ant-btn-link.disabled > a:only-child, +.ant-btn-link[disabled] > a:only-child, +.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-link-disabled:active > a:only-child, +.ant-btn-link.disabled:active > a:only-child, +.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-link-disabled.active > a:only-child, +.ant-btn-link.disabled.active > a:only-child, +.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-link-disabled > a:only-child::after, +.ant-btn-link.disabled > a:only-child::after, +.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-link:hover, +.ant-btn-link:focus, +.ant-btn-link:active { + border-color: transparent; +} +.ant-btn-link-disabled, +.ant-btn-link.disabled, +.ant-btn-link[disabled], +.ant-btn-link-disabled:hover, +.ant-btn-link.disabled:hover, +.ant-btn-link[disabled]:hover, +.ant-btn-link-disabled:focus, +.ant-btn-link.disabled:focus, +.ant-btn-link[disabled]:focus, +.ant-btn-link-disabled:active, +.ant-btn-link.disabled:active, +.ant-btn-link[disabled]:active, +.ant-btn-link-disabled.active, +.ant-btn-link.disabled.active, +.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.ant-btn-link-disabled > a:only-child, +.ant-btn-link.disabled > a:only-child, +.ant-btn-link[disabled] > a:only-child, +.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-link-disabled:active > a:only-child, +.ant-btn-link.disabled:active > a:only-child, +.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-link-disabled.active > a:only-child, +.ant-btn-link.disabled.active > a:only-child, +.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-link-disabled > a:only-child::after, +.ant-btn-link.disabled > a:only-child::after, +.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous { + color: @error-color; + background-color: @layout-body-background; + border-color: @error-color; +} +.ant-btn-dangerous > a:only-child { + color: currentColor; +} +.ant-btn-dangerous > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous:hover, +.ant-btn-dangerous:focus { + color: color(~`colorPalette("@{error-color}", 5)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-btn-dangerous:hover > a:only-child, +.ant-btn-dangerous:focus > a:only-child { + color: currentColor; +} +.ant-btn-dangerous:hover > a:only-child::after, +.ant-btn-dangerous:focus > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous:active, +.ant-btn-dangerous.active { + color: color(~`colorPalette("@{error-color}", 7)`); + background-color: @layout-body-background; + border-color: color(~`colorPalette("@{error-color}", 7)`); +} +.ant-btn-dangerous:active > a:only-child, +.ant-btn-dangerous.active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous:active > a:only-child::after, +.ant-btn-dangerous.active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous-disabled, +.ant-btn-dangerous.disabled, +.ant-btn-dangerous[disabled], +.ant-btn-dangerous-disabled:hover, +.ant-btn-dangerous.disabled:hover, +.ant-btn-dangerous[disabled]:hover, +.ant-btn-dangerous-disabled:focus, +.ant-btn-dangerous.disabled:focus, +.ant-btn-dangerous[disabled]:focus, +.ant-btn-dangerous-disabled:active, +.ant-btn-dangerous.disabled:active, +.ant-btn-dangerous[disabled]:active, +.ant-btn-dangerous-disabled.active, +.ant-btn-dangerous.disabled.active, +.ant-btn-dangerous[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-dangerous-disabled > a:only-child, +.ant-btn-dangerous.disabled > a:only-child, +.ant-btn-dangerous[disabled] > a:only-child, +.ant-btn-dangerous-disabled:hover > a:only-child, +.ant-btn-dangerous.disabled:hover > a:only-child, +.ant-btn-dangerous[disabled]:hover > a:only-child, +.ant-btn-dangerous-disabled:focus > a:only-child, +.ant-btn-dangerous.disabled:focus > a:only-child, +.ant-btn-dangerous[disabled]:focus > a:only-child, +.ant-btn-dangerous-disabled:active > a:only-child, +.ant-btn-dangerous.disabled:active > a:only-child, +.ant-btn-dangerous[disabled]:active > a:only-child, +.ant-btn-dangerous-disabled.active > a:only-child, +.ant-btn-dangerous.disabled.active > a:only-child, +.ant-btn-dangerous[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous-disabled > a:only-child::after, +.ant-btn-dangerous.disabled > a:only-child::after, +.ant-btn-dangerous[disabled] > a:only-child::after, +.ant-btn-dangerous-disabled:hover > a:only-child::after, +.ant-btn-dangerous.disabled:hover > a:only-child::after, +.ant-btn-dangerous[disabled]:hover > a:only-child::after, +.ant-btn-dangerous-disabled:focus > a:only-child::after, +.ant-btn-dangerous.disabled:focus > a:only-child::after, +.ant-btn-dangerous[disabled]:focus > a:only-child::after, +.ant-btn-dangerous-disabled:active > a:only-child::after, +.ant-btn-dangerous.disabled:active > a:only-child::after, +.ant-btn-dangerous[disabled]:active > a:only-child::after, +.ant-btn-dangerous-disabled.active > a:only-child::after, +.ant-btn-dangerous.disabled.active > a:only-child::after, +.ant-btn-dangerous[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-primary { + color: @component-background; + background-color: @error-color; + border-color: @error-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +} +.ant-btn-dangerous.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-primary > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-primary:hover, +.ant-btn-dangerous.ant-btn-primary:focus { + color: @component-background; + background-color: color(~`colorPalette("@{error-color}", 5)`); + border-color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child, +.ant-btn-dangerous.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-primary:active, +.ant-btn-dangerous.ant-btn-primary.active { + color: @component-background; + background-color: color(~`colorPalette("@{error-color}", 7)`); + border-color: color(~`colorPalette("@{error-color}", 7)`); +} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child, +.ant-btn-dangerous.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-primary-disabled, +.ant-btn-dangerous.ant-btn-primary.disabled, +.ant-btn-dangerous.ant-btn-primary[disabled], +.ant-btn-dangerous.ant-btn-primary-disabled:hover, +.ant-btn-dangerous.ant-btn-primary.disabled:hover, +.ant-btn-dangerous.ant-btn-primary[disabled]:hover, +.ant-btn-dangerous.ant-btn-primary-disabled:focus, +.ant-btn-dangerous.ant-btn-primary.disabled:focus, +.ant-btn-dangerous.ant-btn-primary[disabled]:focus, +.ant-btn-dangerous.ant-btn-primary-disabled:active, +.ant-btn-dangerous.ant-btn-primary.disabled:active, +.ant-btn-dangerous.ant-btn-primary[disabled]:active, +.ant-btn-dangerous.ant-btn-primary-disabled.active, +.ant-btn-dangerous.ant-btn-primary.disabled.active, +.ant-btn-dangerous.ant-btn-primary[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-dangerous.ant-btn-primary-disabled > a:only-child, +.ant-btn-dangerous.ant-btn-primary.disabled > a:only-child, +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child, +.ant-btn-dangerous.ant-btn-primary-disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-dangerous.ant-btn-primary-disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-dangerous.ant-btn-primary-disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-dangerous.ant-btn-primary-disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-primary-disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary-disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary-disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary-disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary-disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary.disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-primary[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link { + color: @error-color; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.ant-btn-dangerous.ant-btn-link > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link:hover, +.ant-btn-dangerous.ant-btn-link:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link:focus > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link:active, +.ant-btn-dangerous.ant-btn-link.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-dangerous.ant-btn-link:active > a:only-child, +.ant-btn-dangerous.ant-btn-link.active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link-disabled, +.ant-btn-dangerous.ant-btn-link.disabled, +.ant-btn-dangerous.ant-btn-link[disabled], +.ant-btn-dangerous.ant-btn-link-disabled:hover, +.ant-btn-dangerous.ant-btn-link.disabled:hover, +.ant-btn-dangerous.ant-btn-link[disabled]:hover, +.ant-btn-dangerous.ant-btn-link-disabled:focus, +.ant-btn-dangerous.ant-btn-link.disabled:focus, +.ant-btn-dangerous.ant-btn-link[disabled]:focus, +.ant-btn-dangerous.ant-btn-link-disabled:active, +.ant-btn-dangerous.ant-btn-link.disabled:active, +.ant-btn-dangerous.ant-btn-link[disabled]:active, +.ant-btn-dangerous.ant-btn-link-disabled.active, +.ant-btn-dangerous.ant-btn-link.disabled.active, +.ant-btn-dangerous.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-dangerous.ant-btn-link-disabled > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link-disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link:hover, +.ant-btn-dangerous.ant-btn-link:focus { + color: color(~`colorPalette("@{error-color}", 5)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link:focus > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link:active { + color: color(~`colorPalette("@{error-color}", 7)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-dangerous.ant-btn-link:active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after { + background: transparent; +} +.ant-btn-dangerous.ant-btn-link-disabled, +.ant-btn-dangerous.ant-btn-link.disabled, +.ant-btn-dangerous.ant-btn-link[disabled], +.ant-btn-dangerous.ant-btn-link-disabled:hover, +.ant-btn-dangerous.ant-btn-link.disabled:hover, +.ant-btn-dangerous.ant-btn-link[disabled]:hover, +.ant-btn-dangerous.ant-btn-link-disabled:focus, +.ant-btn-dangerous.ant-btn-link.disabled:focus, +.ant-btn-dangerous.ant-btn-link[disabled]:focus, +.ant-btn-dangerous.ant-btn-link-disabled:active, +.ant-btn-dangerous.ant-btn-link.disabled:active, +.ant-btn-dangerous.ant-btn-link[disabled]:active, +.ant-btn-dangerous.ant-btn-link-disabled.active, +.ant-btn-dangerous.ant-btn-link.disabled.active, +.ant-btn-dangerous.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: transparent; + border-color: transparent; + box-shadow: none; +} +.ant-btn-dangerous.ant-btn-link-disabled > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child, +.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dangerous.ant-btn-link-disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-icon-only { + border-radius: 2px; +} +.ant-btn-icon-only.ant-btn-lg { + border-radius: 2px; +} +.ant-btn-icon-only.ant-btn-sm { + border-radius: 2px; +} +.ant-btn-round { + border-radius: 32px; +} +.ant-btn-round.ant-btn-lg { + border-radius: 40px; +} +.ant-btn-round.ant-btn-sm { + border-radius: 24px; +} +.ant-btn-circle, +.ant-btn-circle-outline { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-lg, +.ant-btn-circle-outline.ant-btn-lg { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-sm, +.ant-btn-circle-outline.ant-btn-sm { + border-radius: 50%; +} +.ant-btn::before { + background: @layout-body-background; + border-radius: inherit; +} +.ant-btn-group-lg > .ant-btn, +.ant-btn-group-lg > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group-sm > .ant-btn, +.ant-btn-group-sm > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { + border-left-color: transparent; +} +.ant-btn-group .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn:only-child { + border-radius: 2px; +} +.ant-btn-group > span:only-child > .ant-btn { + border-radius: 2px; +} +.ant-btn-group > .ant-btn:first-child:not(:last-child), +.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.ant-btn-group > .ant-btn:last-child:not(:first-child), +.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-btn-group-sm > .ant-btn:only-child { + border-radius: 2px; +} +.ant-btn-group-sm > span:only-child > .ant-btn { + border-radius: 2px; +} +.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), +.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), +.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child), +.ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child), +.ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), +.ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), +.ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-btn-background-ghost { + color: @layout-body-background; + background: transparent !important; + border-color: @layout-body-background; +} +.ant-btn-background-ghost.ant-btn-primary { + color: @link-color; + background-color: transparent; + border-color: @link-color; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:hover, +.ant-btn-background-ghost.ant-btn-primary:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:active, +.ant-btn-background-ghost.ant-btn-primary.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary-disabled, +.ant-btn-background-ghost.ant-btn-primary.disabled, +.ant-btn-background-ghost.ant-btn-primary[disabled], +.ant-btn-background-ghost.ant-btn-primary-disabled:hover, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, +.ant-btn-background-ghost.ant-btn-primary-disabled:focus, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, +.ant-btn-background-ghost.ant-btn-primary-disabled:active, +.ant-btn-background-ghost.ant-btn-primary.disabled:active, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active, +.ant-btn-background-ghost.ant-btn-primary-disabled.active, +.ant-btn-background-ghost.ant-btn-primary.disabled.active, +.ant-btn-background-ghost.ant-btn-primary[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-primary-disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-primary-disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary-disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary-disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary-disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary-disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary-disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary-disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary-disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary-disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger { + color: @error-color; + background-color: transparent; + border-color: @error-color; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:hover, +.ant-btn-background-ghost.ant-btn-danger:focus { + color: color(~`colorPalette("@{error-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:active, +.ant-btn-background-ghost.ant-btn-danger.active { + color: color(~`colorPalette("@{error-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{error-color}", 7)`); +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger-disabled, +.ant-btn-background-ghost.ant-btn-danger.disabled, +.ant-btn-background-ghost.ant-btn-danger[disabled], +.ant-btn-background-ghost.ant-btn-danger-disabled:hover, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, +.ant-btn-background-ghost.ant-btn-danger-disabled:focus, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, +.ant-btn-background-ghost.ant-btn-danger-disabled:active, +.ant-btn-background-ghost.ant-btn-danger.disabled:active, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active, +.ant-btn-background-ghost.ant-btn-danger-disabled.active, +.ant-btn-background-ghost.ant-btn-danger.disabled.active, +.ant-btn-background-ghost.ant-btn-danger[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-danger-disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-danger-disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger-disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger-disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger-disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger-disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger-disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger-disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger-disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger-disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous { + color: @error-color; + background-color: transparent; + border-color: @error-color; +} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous:hover, +.ant-btn-background-ghost.ant-btn-dangerous:focus { + color: color(~`colorPalette("@{error-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous:active, +.ant-btn-background-ghost.ant-btn-dangerous.active { + color: color(~`colorPalette("@{error-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{error-color}", 7)`); +} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous-disabled, +.ant-btn-background-ghost.ant-btn-dangerous.disabled, +.ant-btn-background-ghost.ant-btn-dangerous[disabled], +.ant-btn-background-ghost.ant-btn-dangerous-disabled:hover, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:hover, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:focus, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:focus, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:active, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:active, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active, +.ant-btn-background-ghost.ant-btn-dangerous-disabled.active, +.ant-btn-background-ghost.ant-btn-dangerous.disabled.active, +.ant-btn-background-ghost.ant-btn-dangerous[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-dangerous-disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous-disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous-disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous-disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous-disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link { + color: @error-color; + background-color: transparent; + border-color: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus { + color: color(~`colorPalette("@{error-color}", 5)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.active { + color: color(~`colorPalette("@{error-color}", 7)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:hover, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:hover, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:focus, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:focus, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled.active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled.active, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-link { + color: @link-color; + background-color: transparent; + border-color: transparent; + color: @layout-body-background; +} +.ant-btn-background-ghost.ant-btn-link > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-link > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-link:hover, +.ant-btn-background-ghost.ant-btn-link:focus { + color: color(~`colorPalette("@{link-color}", 5)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-background-ghost.ant-btn-link:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-link:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-link:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link:focus > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-link:active, +.ant-btn-background-ghost.ant-btn-link.active { + color: color(~`colorPalette("@{link-color}", 7)`); + background-color: transparent; + border-color: transparent; +} +.ant-btn-background-ghost.ant-btn-link:active > a:only-child, +.ant-btn-background-ghost.ant-btn-link.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-link:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.active > a:only-child::after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-link-disabled, +.ant-btn-background-ghost.ant-btn-link.disabled, +.ant-btn-background-ghost.ant-btn-link[disabled], +.ant-btn-background-ghost.ant-btn-link-disabled:hover, +.ant-btn-background-ghost.ant-btn-link.disabled:hover, +.ant-btn-background-ghost.ant-btn-link[disabled]:hover, +.ant-btn-background-ghost.ant-btn-link-disabled:focus, +.ant-btn-background-ghost.ant-btn-link.disabled:focus, +.ant-btn-background-ghost.ant-btn-link[disabled]:focus, +.ant-btn-background-ghost.ant-btn-link-disabled:active, +.ant-btn-background-ghost.ant-btn-link.disabled:active, +.ant-btn-background-ghost.ant-btn-link[disabled]:active, +.ant-btn-background-ghost.ant-btn-link-disabled.active, +.ant-btn-background-ghost.ant-btn-link.disabled.active, +.ant-btn-background-ghost.ant-btn-link[disabled].active { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-link-disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-link.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-link[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-link-disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-link.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-link[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-link-disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-link.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-link[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-link-disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-link.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-link[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-link-disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-link.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-link[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-link-disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.disabled > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link[disabled] > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link-disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.disabled:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link[disabled]:hover > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link-disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.disabled:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link[disabled]:focus > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link-disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.disabled:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link[disabled]:active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link-disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link.disabled.active > a:only-child::after, +.ant-btn-background-ghost.ant-btn-link[disabled].active > a:only-child::after { + background: transparent; +} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary { + border-right-color: color(~`colorPalette("@{link-color}", 5)`); + border-left-color: @border-color-base; +} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { + border-right-color: @border-color-base; + border-left-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-picker-calendar { + color: @text-color; + background: @layout-body-background; +} +.ant-picker-calendar .ant-picker-panel { + background: @layout-body-background; + border: 0; + border-top: 1px solid #f0f0f0; + border-radius: 0; +} +.ant-picker-calendar-mini { + border-radius: 2px; +} +.ant-picker-calendar-mini .ant-picker-panel { + border-radius: 0 0 2px 2px; +} +.ant-picker-calendar-full .ant-picker-panel { + background: @layout-body-background; + border: 0; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date { + background: #f5f5f5; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value { + color: @link-color; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date { + border: 0; + border-top: 2px solid #f0f0f0; + border-radius: 0; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content { + color: @text-color; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today { + border-color: @link-color; +} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value { + color: @text-color; +} +.ant-card { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-card-hoverable:hover { + border-color: transparent; + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); +} +.ant-card-bordered { + border: 1px solid #f0f0f0; +} +.ant-card-head { + color: @heading-color; + background: transparent; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-tabs{ + background: #fff !important; +} +.ant-card-head .ant-tabs { + color: @text-color; +} +.ant-card-head .ant-tabs-bar { + border-bottom: 1px solid #f0f0f0; +} +.ant-card-extra { + color: @text-color; +} +.ant-card-grid { + border: 0; + border-radius: 0; + box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset; +} +.ant-card-grid-hoverable:hover { + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); +} +.ant-card-cover img { + border-radius: 2px 2px 0 0; +} +.ant-card-actions { + background: #fafafa; + border-top: 1px solid #f0f0f0; +} +.ant-card-actions > li { + color: @text-color-secondary; +} +.ant-card-actions > li > span:hover { + color: @link-color; +} +.ant-card-actions > li > span a:not(.ant-btn), +.ant-card-actions > li > span > .anticon { + color: @text-color-secondary; +} +.ant-card-actions > li > span a:not(.ant-btn):hover, +.ant-card-actions > li > span > .anticon:hover { + color: @link-color; +} +.ant-card-actions > li:not(:last-child) { + border-right: 1px solid #f0f0f0; +} +.ant-card-type-inner .ant-card-head { + background: #fafafa; +} +.ant-card-meta-title { + color: @heading-color; +} +.ant-card-meta-description { + color: @text-color-secondary; +} +.ant-card-loading-block { + background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2)); + background-size: 600% 600%; + border-radius: 2px; +} +.ant-card { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-card-hoverable:hover { + border-color: transparent; + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); +} +.ant-card-bordered { + border: 1px solid #f0f0f0; +} +.ant-card-head { + color: @heading-color; + background: transparent; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-card-head .ant-tabs { + color: @text-color; +} +.ant-card-head .ant-tabs-bar { + border-bottom: 1px solid #f0f0f0; +} +.ant-card-extra { + color: @text-color; +} +.ant-card-grid { + border: 0; + border-radius: 0; + box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset; +} +.ant-card-grid-hoverable:hover { + box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); +} +.ant-card-cover img { + border-radius: 2px 2px 0 0; +} +.ant-card-actions { + background: #fafafa; + border-top: 1px solid #f0f0f0; +} +.ant-card-actions > li { + color: @text-color-secondary; +} +.ant-card-actions > li > span:hover { + color: @link-color; +} +.ant-card-actions > li > span a:not(.ant-btn), +.ant-card-actions > li > span > .anticon { + color: @text-color-secondary; +} +.ant-card-actions > li > span a:not(.ant-btn):hover, +.ant-card-actions > li > span > .anticon:hover { + color: @link-color; +} +.ant-card-actions > li:not(:last-child) { + border-right: 1px solid #f0f0f0; +} +.ant-card-type-inner .ant-card-head { + background: #fafafa; +} +.ant-card-meta-title { + color: @heading-color; +} +.ant-card-meta-description { + color: @text-color-secondary; +} +.ant-card-loading-block { + background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2)); + background-size: 600% 600%; + border-radius: 2px; +} +.ant-carousel { + color: @text-color; +} +.ant-carousel .slick-slider { + -webkit-tap-highlight-color: transparent; +} +.ant-carousel .slick-vertical .slick-slide { + border: 1px solid transparent; +} +.ant-carousel .slick-prev, +.ant-carousel .slick-next { + color: transparent; + background: transparent; + border: 0; +} +.ant-carousel .slick-prev:hover, +.ant-carousel .slick-next:hover, +.ant-carousel .slick-prev:focus, +.ant-carousel .slick-next:focus { + color: transparent; + background: transparent; +} +.ant-carousel .slick-dots li button { + color: transparent; + background: @layout-body-background; + border: 0; + border-radius: 1px; +} +.ant-carousel .slick-dots li.slick-active button { + background: @layout-body-background; +} +.ant-cascader { + color: @text-color; +} +.ant-cascader-input.ant-input { + background-color: transparent !important; +} +.ant-cascader-picker { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; +} +.ant-cascader-picker-with-value .ant-cascader-picker-label { + color: transparent; +} +.ant-cascader-picker-disabled { + color: @disabled-color; + background: #f5f5f5; +} +.ant-cascader-picker:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-cascader-picker-borderless .ant-cascader-input { + border-color: transparent !important; + box-shadow: none !important; +} +.ant-cascader-picker-show-search.ant-cascader-picker-focused { + color: @disabled-color; +} +.ant-cascader-picker-clear { + color: @disabled-color; + background: @layout-body-background; +} +.ant-cascader-picker-clear:hover { + color: @text-color-secondary; +} +.ant-cascader-picker-arrow { + color: @disabled-color; +} +.ant-cascader-picker-label:hover + .ant-cascader-input { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-cascader-picker-label:hover + .ant-cascader-input { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-cascader-menus { + background: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-cascader-menu { + border-right: 1px solid #f0f0f0; +} +.ant-cascader-menu:first-child { + border-radius: 2px 0 0 2px; +} +.ant-cascader-menu:last-child { + border-right-color: transparent; + border-radius: 0 2px 2px 0; +} +.ant-cascader-menu:only-child { + border-radius: 2px; +} +.ant-cascader-menu-item:hover { + background: #f5f5f5; +} +.ant-cascader-menu-item-disabled { + color: @disabled-color; +} +.ant-cascader-menu-item-disabled:hover { + background: transparent; +} +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, +.ant-cascader-menu-item-loading-icon { + color: @text-color-secondary; +} +.ant-cascader-menu-item .ant-cascader-menu-item-keyword { + color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-cascader-menu-rtl { + border-right: none; + border-left: 1px solid #f0f0f0; +} +.ant-cascader-menu-rtl:last-child { + border-left-color: transparent; + border-radius: 0 0 4px 4px; +} +.ant-checkbox { + color: @text-color; +} +.ant-checkbox-wrapper:hover .ant-checkbox-inner, +.ant-checkbox:hover .ant-checkbox-inner, +.ant-checkbox-input:focus + .ant-checkbox-inner { + border-color: @link-color; +} +.ant-checkbox-checked::after { + border: 1px solid @link-color; + border-radius: 2px; +} +.ant-checkbox-inner { + background-color: @component-background; + border: 1px solid @border-color-base; + border-radius: 2px; + border-collapse: separate; +} +.ant-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-checkbox-checked .ant-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-checkbox-checked .ant-checkbox-inner { + background-color: @link-color; + border-color: @link-color; +} +.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { + border-color: @disabled-color; +} +.ant-checkbox-disabled .ant-checkbox-inner { + background-color: #f5f5f5; + border-color: #d9d9d9 !important; +} +.ant-checkbox-disabled .ant-checkbox-inner::after { + border-color: #f5f5f5; + border-collapse: separate; +} +.ant-checkbox-disabled + span { + color: @disabled-color; +} +.ant-checkbox-wrapper { + color: @text-color; +} +.ant-checkbox-group { + color: @text-color; +} +.ant-checkbox-indeterminate .ant-checkbox-inner { + background-color: @component-background; + border-color: @border-color-base; +} +.ant-checkbox-indeterminate .ant-checkbox-inner::after { + background-color: @link-color; + border: 0; +} +.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after { + background-color: @disabled-color; + border-color: @disabled-color; +} +.ant-collapse { + color: @text-color; + background-color: #fafafa; + border: 1px solid @border-color-base; + border-bottom: 0; + border-radius: 2px; +} +.ant-collapse > .ant-collapse-item { + border-bottom: 1px solid @border-color-base; +} +.ant-collapse > .ant-collapse-item:last-child, +.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { + border-radius: 0 0 2px 2px; +} +.ant-collapse > .ant-collapse-item > .ant-collapse-header { + color: @heading-color; +} +.ant-collapse > .ant-collapse-item > .ant-collapse-header .ant-collapse-arrow { + color: inherit; +} +.ant-collapse-content { + color: @text-color; + background-color: @layout-body-background; + border-top: 1px solid @border-color-base; +} +.ant-collapse-item:last-child > .ant-collapse-content { + border-radius: 0 0 2px 2px; +} +.ant-collapse-borderless { + background-color: #fafafa; + border: 0; +} +.ant-collapse-borderless > .ant-collapse-item { + border-bottom: 1px solid @border-color-base; +} +.ant-collapse-borderless > .ant-collapse-item:last-child, +.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { + border-radius: 0; +} +.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { + background-color: transparent; + border-top: 0; +} +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { + color: @disabled-color; +} +.ant-comment { + background-color: inherit; +} +.ant-comment-avatar img { + border-radius: 50%; +} +.ant-comment-content-author-name { + color: @text-color-secondary; +} +.ant-comment-content-author-name > * { + color: @text-color-secondary; +} +.ant-comment-content-author-name > *:hover { + color: @text-color-secondary; +} +.ant-comment-content-author-time { + color: #ccc; +} +.ant-comment-actions > li { + color: @text-color-secondary; +} +.ant-comment-actions > li > span { + color: @text-color-secondary; +} +.ant-comment-actions > li > span:hover { + color: #595959; +} +.ant-picker-panel { + background: @layout-body-background; + border: 1px solid #f0f0f0; + border-radius: 2px; +} +.ant-picker-panel-focused { + border-color: @link-color; +} +.ant-picker-header { + color: @heading-color; + border-bottom: 1px solid #f0f0f0; +} +.ant-picker-header button { + color: @disabled-color; + background: transparent; + border: 0; +} +.ant-picker-header > button:hover { + color: @text-color; +} +.ant-picker-header-view button { + color: inherit; +} +.ant-picker-header-view button:hover { + color: @link-color; +} +.ant-picker-prev-icon::before, +.ant-picker-next-icon::before, +.ant-picker-super-prev-icon::before, +.ant-picker-super-next-icon::before { + border: 0 solid currentColor; + border-width: 1.5px 0 0 1.5px; +} +.ant-picker-super-prev-icon::after, +.ant-picker-super-next-icon::after { + border: 0 solid currentColor; + border-width: 1.5px 0 0 1.5px; +} +.ant-picker-content { + border-collapse: collapse; +} +.ant-picker-content th { + color: @text-color; +} +.ant-picker-cell { + color: @disabled-color; +} +.ant-picker-cell-in-view { + color: @text-color; +} +.ant-picker-cell .ant-picker-cell-inner { + border-radius: 2px; +} +.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, +.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner { + background: #f5f5f5; +} +.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before { + border: 1px solid @link-color; + border-radius: 2px; +} +.ant-picker-cell-in-view.ant-picker-cell-in-range::before { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, +.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, +.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner { + color: @component-background; + background: @link-color; +} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before, +.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after { + border-top: 1px dashed #7ec1ff; + border-bottom: 1px dashed #7ec1ff; +} +.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before, +.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before, +.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before, +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before, +.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before, +.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before, +.ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before { + background: #cbe6ff; +} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner { + border-radius: 2px 0 0 2px; +} +.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner { + border-radius: 0 2px 2px 0; +} +.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after, +.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after { + background: #cbe6ff; +} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { + border-left: 1px dashed #7ec1ff; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, +.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { + border-right: 1px dashed #7ec1ff; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-picker-cell-disabled .ant-picker-cell-inner { + color: @disabled-color; + background: transparent; +} +.ant-picker-cell-disabled::before { + background: #f5f5f5; +} +.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before { + border-color: @disabled-color; +} +.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner, +.ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner, +.ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner, +.ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner { + background: #f5f5f5; +} +.ant-picker-footer { + border-bottom: 1px solid transparent; +} +.ant-picker-panel .ant-picker-footer { + border-top: 1px solid #f0f0f0; +} +.ant-picker-footer-extra:not(:last-child) { + border-bottom: 1px solid #f0f0f0; +} +.ant-picker-today-btn { + color: @link-color; +} +.ant-picker-today-btn:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-picker-today-btn:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-picker-year-panel .ant-picker-cell-range-hover-start::after, +.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, +.ant-picker-month-panel .ant-picker-cell-range-hover-start::after { + border-left: 1px dashed #7ec1ff; + border-radius: 2px 0 0 2px; +} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after, +.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, +.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after { + border-right: 1px dashed #7ec1ff; + border-radius: 0 2px 2px 0; +} +.ant-picker-year-panel .ant-picker-cell-range-hover-end::after, +.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, +.ant-picker-month-panel .ant-picker-cell-range-hover-end::after { + border-right: 1px dashed #7ec1ff; + border-radius: 0 2px 2px 0; +} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after, +.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, +.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after { + border-left: 1px dashed #7ec1ff; + border-radius: 2px 0 0 2px; +} +.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner, +.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner, +.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner { + background: transparent !important; +} +.ant-picker-week-panel-row:hover td { + background: #f5f5f5; +} +.ant-picker-week-panel-row-selected td, +.ant-picker-week-panel-row-selected:hover td { + background: @link-color; +} +.ant-picker-week-panel-row-selected td.ant-picker-cell-week, +.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week { + color: rgba(255, 255, 255, 0.5); +} +.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before, +.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before { + border-color: @component-background; +} +.ant-picker-week-panel-row-selected td .ant-picker-cell-inner, +.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner { + color: @component-background; +} +.ant-picker-datetime-panel .ant-picker-time-panel { + border-left: 1px solid #f0f0f0; +} +.ant-picker-time-panel-column:not(:first-child) { + border-left: 1px solid #f0f0f0; +} +.ant-picker-time-panel-column-active { + background: rgba(230, 247, 255, 0.2); +} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner { + color: @text-color; + border-radius: 0; +} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover { + background: #f5f5f5; +} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner { + color: @disabled-color; + background: transparent; +} +.ant-picker { + color: @text-color; + background: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-picker:hover, +.ant-picker-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-picker:hover, +.ant-input-rtl .ant-picker-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-picker-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-picker-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-picker.ant-picker-disabled { + background: #f5f5f5; + border-color: @border-color-base; +} +.ant-picker.ant-picker-disabled .ant-picker-suffix { + color: @disabled-color; +} +.ant-picker.ant-picker-borderless { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; +} +.ant-picker-input > input { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; + background: transparent; + border: 0; +} +.ant-picker-input > input::placeholder { + color: #bfbfbf; +} +.ant-picker-input > input:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-picker-input > input:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-picker-input > input:focus, +.ant-picker-input > input-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-picker-input > input:focus, +.ant-input-rtl .ant-picker-input > input-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-picker-input > input-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-picker-input > input-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-picker-input > input[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-picker-input > input[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-picker-input > input:focus { + box-shadow: none; +} +.ant-picker-input > input[disabled] { + background: transparent; +} +.ant-picker-suffix { + color: @disabled-color; +} +.ant-picker-clear { + color: @text-color-secondary; + background: @layout-body-background; +} +.ant-picker-clear:hover { + color: @disabled-color; +} +.ant-picker-separator { + color: @disabled-color; +} +.ant-picker-focused .ant-picker-separator { + color: @text-color-secondary; +} +.ant-picker-range .ant-picker-active-bar { + background: @link-color; +} +.ant-picker-dropdown { + color: @text-color; +} +.ant-picker-ranges .ant-picker-preset > .ant-tag-blue { + color: @link-color; + background: color(~`colorPalette("@{link-color}", 1)`); + border-color: color(~`colorPalette("@{link-color}", 3)`); +} +.ant-picker-range-arrow { + box-shadow: 2px -2px 6px rgba(0, 0, 0, 0.06); +} +.ant-picker-range-arrow::after { + border: 5px solid #f0f0f0; + border-color: #f0f2f5 #f0f2f5 transparent transparent; +} +.ant-picker-panel-container { + background: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-picker-panel-container .ant-picker-panel { + background: transparent; + border-width: 0 0 1px 0; + border-radius: 0; +} +.ant-picker-panel-container .ant-picker-panel-focused { + border-color: #f0f0f0; +} +.ant-picker-cell .ant-picker-cell-inner { + border-radius: 2px; +} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after { + border-right: 1px dashed #7ec1ff; + border-left: none; + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { + border-right: none; + border-left: 1px dashed #7ec1ff; + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after { + border-right: 1px dashed #7ec1ff; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after { + border-left: 1px dashed #7ec1ff; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.ant-descriptions-title { + color: @heading-color; +} +.ant-descriptions-view { + border-radius: 2px; +} +.ant-descriptions-row:last-child { + border-bottom: none; +} +.ant-descriptions-item-label { + color: @heading-color; +} +.ant-descriptions-item-content { + color: @text-color; +} +.ant-descriptions-bordered .ant-descriptions-view { + border: 1px solid #f0f0f0; +} +.ant-descriptions-bordered .ant-descriptions-item-label, +.ant-descriptions-bordered .ant-descriptions-item-content { + border-right: 1px solid #f0f0f0; +} +.ant-descriptions-bordered .ant-descriptions-item-label:last-child, +.ant-descriptions-bordered .ant-descriptions-item-content:last-child { + border-right: none; +} +.ant-descriptions-bordered .ant-descriptions-item-label { + background-color: #fafafa; +} +.ant-descriptions-bordered .ant-descriptions-row { + border-bottom: 1px solid #f0f0f0; +} +.ant-descriptions-bordered .ant-descriptions-row:last-child { + border-bottom: none; +} +.ant-divider { + color: @text-color; + background: #f0f0f0; +} +.ant-divider-horizontal.ant-divider-with-text { + color: @heading-color; + background: transparent; +} +.ant-divider-horizontal.ant-divider-with-text::before, +.ant-divider-horizontal.ant-divider-with-text::after { + border-top: 1px solid #f0f0f0; +} +.ant-divider-dashed { + background: none; + border-color: #f0f0f0; + border-style: dashed; + border-width: 1px 0 0; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed { + border-top: 0; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before, +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after { + border-style: dashed none none; +} +.ant-divider-vertical.ant-divider-dashed { + border-width: 0 0 0 1px; +} +.ant-divider-plain.ant-divider-with-text { + color: @text-color; +} +.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03); +} +.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03); +} +.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03); +} +.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +} +.ant-drawer-title { + color: @heading-color; +} +.ant-drawer-content { + background-color: @layout-body-background; + background-clip: padding-box; + border: 0; +} +.ant-drawer-close { + color: @text-color-secondary; + background: transparent; + border: 0; +} +.ant-drawer-close:focus, +.ant-drawer-close:hover { + color: rgba(0, 0, 0, 0.75); +} +.ant-drawer-header { + color: @text-color; + background: @layout-body-background; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-drawer-header-no-title { + color: @text-color; + background: @layout-body-background; +} +.ant-drawer-footer { + border-top: 1px solid #f0f0f0; +} +.ant-drawer-mask { + background-color: @text-color-secondary; +} +.ant-drawer-open-content { + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-drawer .ant-picker-clear { + background: @layout-body-background; +} +.ant-dropdown { + color: @text-color; +} +.ant-dropdown-menu { + background-color: @layout-body-background; + background-clip: padding-box; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-dropdown-menu-item-group-title { + color: @text-color-secondary; +} +.ant-dropdown-menu-submenu-popup { + background: transparent; + box-shadow: none; +} +.ant-dropdown-menu-item, +.ant-dropdown-menu-submenu-title { + color: @text-color; +} +.ant-dropdown-menu-item > a, +.ant-dropdown-menu-submenu-title > a { + color: @text-color; +} +.ant-dropdown-menu-item > a:hover, +.ant-dropdown-menu-submenu-title > a:hover { + color: @text-color; +} +.ant-dropdown-menu-item-selected, +.ant-dropdown-menu-submenu-title-selected, +.ant-dropdown-menu-item-selected > a, +.ant-dropdown-menu-submenu-title-selected > a { + color: @link-color; + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-dropdown-menu-item:hover, +.ant-dropdown-menu-submenu-title:hover { + background-color: #f5f5f5; +} +.ant-dropdown-menu-item-disabled, +.ant-dropdown-menu-submenu-title-disabled { + color: @disabled-color; +} +.ant-dropdown-menu-item-disabled:hover, +.ant-dropdown-menu-submenu-title-disabled:hover { + color: @disabled-color; + background-color: @layout-body-background; +} +.ant-dropdown-menu-item-divider, +.ant-dropdown-menu-submenu-title-divider { + background-color: #f0f0f0; +} +.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon, +.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: @text-color-secondary; +} +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: @disabled-color; + background-color: @layout-body-background; +} +.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title { + color: @link-color; +} +.ant-dropdown-menu-dark, +.ant-dropdown-menu-dark .ant-dropdown-menu { + background: #001529; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover { + color: @component-background; + background: transparent; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { + color: @component-background; + background: @link-color; +} +.ant-empty-normal { + color: @disabled-color; +} +.ant-empty-small { + color: @disabled-color; +} +.ant-form { + color: @text-color; +} +.ant-form legend { + color: @text-color-secondary; + border: 0; + border-bottom: 1px solid @border-color-base; +} +.ant-form output { + color: @text-color; +} +.ant-form-item { + color: @text-color; +} +.ant-form-item-label > label { + color: @heading-color; +} +.ant-form-item-label > label.ant-form-item-required::before { + color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-form-item-explain, +.ant-form-item-extra { + color: @text-color-secondary; +} +.ant-form-item .ant-upload { + background: transparent; +} +.ant-form-item .ant-upload.ant-upload-drag { + background: #fafafa; +} +.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon { + color: @success-color; +} +.ant-form-item-has-warning .ant-form-item-explain, +.ant-form-item-has-warning .ant-form-item-split { + color: @warning-color; +} +.ant-form-item-has-warning .ant-input, +.ant-form-item-has-warning .ant-input-affix-wrapper, +.ant-form-item-has-warning .ant-input:hover, +.ant-form-item-has-warning .ant-input-affix-wrapper:hover { + background-color: @layout-body-background; + border-color: @warning-color; +} +.ant-form-item-has-warning .ant-input:focus, +.ant-form-item-has-warning .ant-input-affix-wrapper:focus, +.ant-form-item-has-warning .ant-input-focused, +.ant-form-item-has-warning .ant-input-affix-wrapper-focused { + border-color: color(~`colorPalette("@{warning-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); +} +.ant-form-item-has-warning .ant-input:not([disabled]):hover, +.ant-form-item-has-warning .ant-input-affix-wrapper:not([disabled]):hover { + border-color: @warning-color; +} +.ant-form-item-has-warning .ant-input-affix-wrapper input:focus { + box-shadow: none !important; +} +.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: color(~`colorPalette("@{warning-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); +} +.ant-form-item-has-warning .ant-input-prefix { + color: @warning-color; +} +.ant-form-item-has-warning .ant-input-group-addon { + color: @warning-color; + background-color: @layout-body-background; + border-color: @warning-color; +} +.ant-form-item-has-warning .has-feedback { + color: @warning-color; +} +.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon { + color: @warning-color; +} +.ant-form-item-has-warning .ant-select:not(.ant-select-borderless) .ant-select-selector { + border-color: #faad14 !important; +} +.ant-form-item-has-warning .ant-select:not(.ant-select-borderless).ant-select-open .ant-select-selector, +.ant-form-item-has-warning .ant-select:not(.ant-select-borderless).ant-select-focused .ant-select-selector { + border-color: color(~`colorPalette("@{warning-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); +} +.ant-form-item-has-warning .ant-input-number, +.ant-form-item-has-warning .ant-picker { + border-color: @warning-color; +} +.ant-form-item-has-warning .ant-input-number-focused, +.ant-form-item-has-warning .ant-picker-focused, +.ant-form-item-has-warning .ant-input-number:focus, +.ant-form-item-has-warning .ant-picker:focus { + border-color: color(~`colorPalette("@{warning-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); +} +.ant-form-item-has-warning .ant-input-number:not([disabled]):hover, +.ant-form-item-has-warning .ant-picker:not([disabled]):hover { + border-color: @warning-color; +} +.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{warning-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); +} +.ant-form-item-has-error .ant-form-item-explain, +.ant-form-item-has-error .ant-form-item-split { + color: @error-color; +} +.ant-form-item-has-error .ant-input, +.ant-form-item-has-error .ant-input-affix-wrapper, +.ant-form-item-has-error .ant-input:hover, +.ant-form-item-has-error .ant-input-affix-wrapper:hover { + background-color: @layout-body-background; + border-color: @error-color; +} +.ant-form-item-has-error .ant-input:focus, +.ant-form-item-has-error .ant-input-affix-wrapper:focus, +.ant-form-item-has-error .ant-input-focused, +.ant-form-item-has-error .ant-input-affix-wrapper-focused { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-input:not([disabled]):hover, +.ant-form-item-has-error .ant-input-affix-wrapper:not([disabled]):hover { + border-color: @error-color; +} +.ant-form-item-has-error .ant-input-affix-wrapper input:focus { + box-shadow: none !important; +} +.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-input-prefix { + color: @error-color; +} +.ant-form-item-has-error .ant-input-group-addon { + color: @error-color; + background-color: @layout-body-background; + border-color: @error-color; +} +.ant-form-item-has-error .has-feedback { + color: @error-color; +} +.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon { + color: @error-color; +} +.ant-form-item-has-error .ant-select:not(.ant-select-borderless) .ant-select-selector { + border-color: #f5222d !important; +} +.ant-form-item-has-error .ant-select:not(.ant-select-borderless).ant-select-open .ant-select-selector, +.ant-form-item-has-error .ant-select:not(.ant-select-borderless).ant-select-focused .ant-select-selector { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + border: 0; +} +.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus { + border-color: @error-color; +} +.ant-form-item-has-error .ant-input-number, +.ant-form-item-has-error .ant-picker { + border-color: @error-color; +} +.ant-form-item-has-error .ant-input-number-focused, +.ant-form-item-has-error .ant-picker-focused, +.ant-form-item-has-error .ant-input-number:focus, +.ant-form-item-has-error .ant-picker:focus { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-input-number:not([disabled]):hover, +.ant-form-item-has-error .ant-picker:not([disabled]):hover { + border-color: @error-color; +} +.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor, +.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover { + border-color: @error-color; +} +.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, +.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{error-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); +} +.ant-form-item-has-error .ant-transfer-list { + border-color: @error-color; +} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]) { + border-color: @border-color-base; +} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-form-item-has-error-leave .ant-form-item-explain { + color: @error-color; +} +.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon { + color: @link-color; +} +.ant-form { + color: @text-color; +} +.ant-form legend { + color: @text-color-secondary; + border: 0; + border-bottom: 1px solid @border-color-base; +} +.ant-form output { + color: @text-color; +} +.ant-form-item { + color: @text-color; +} +.ant-form-item-label > label { + color: @heading-color; +} +.ant-form-item-label > label.ant-form-item-required::before { + color: color(~`colorPalette("@{error-color}", 5)`); +} +.ant-form-item-explain, +.ant-form-item-extra { + color: @text-color-secondary; +} +.ant-input-number { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input-number::placeholder { + color: #bfbfbf; +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-input-number:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-number:focus, +.ant-input-number-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-input-number:focus, +.ant-input-rtl .ant-input-number-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-number-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-number-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-number[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-number[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-number-handler { + color: @text-color-secondary; +} +.ant-input-number-handler:active { + background: #f4f4f4; +} +.ant-input-number-handler:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler:hover .ant-input-number-handler-down-inner { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-input-number-handler-up-inner, +.ant-input-number-handler-down-inner { + color: inherit; + color: @text-color-secondary; +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-number-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-input-number-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-number-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-number-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-number-input { + background-color: transparent; + border: 0; + border-radius: 2px; +} +.ant-input-number-input::placeholder { + color: #bfbfbf; +} +.ant-input-number-handler-wrap { + background: @layout-body-background; + border-left: 1px solid @border-color-base; + border-radius: 0 2px 2px 0; +} +.ant-input-number-handler-up { + border-top-right-radius: 2px; +} +.ant-input-number-handler-down { + border-top: 1px solid @border-color-base; + border-bottom-right-radius: 2px; +} +.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { + color: @disabled-color; +} +.ant-input-number-rtl .ant-input-number-handler-wrap { + border-right: 1px solid @border-color-base; + border-left: 0; + border-radius: 2px 0 0 2px; +} +.ant-input { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input::placeholder { + color: #bfbfbf; +} +.ant-input:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-input:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input:focus, +.ant-input-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-input:focus, +.ant-input-rtl .ant-input-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-group { + color: @text-color; + border-collapse: separate; + border-spacing: 0; +} +.ant-input-group-addon:not(:first-child):not(:last-child), +.ant-input-group-wrap:not(:first-child):not(:last-child), +.ant-input-group > .ant-input:not(:first-child):not(:last-child) { + border-radius: 0; +} +.ant-input-group .ant-input:focus { + border-right-width: 1px; +} +.ant-input-group .ant-input:hover { + border-right-width: 1px; +} +.ant-input-group-addon { + color: @text-color; + background-color: #fafafa; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + background-color: inherit; + border: 1px solid transparent; + box-shadow: none; +} +.ant-input-group-addon .ant-select-open .ant-select-selector, +.ant-input-group-addon .ant-select-focused .ant-select-selector { + color: @link-color; +} +.ant-input-group > .ant-input:first-child, +.ant-input-group-addon:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, +.ant-input-group-addon:first-child .ant-select .ant-select-selector { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group-addon:first-child { + border-right: 0; +} +.ant-input-group-addon:last-child { + border-left: 0; +} +.ant-input-group > .ant-input:last-child, +.ant-input-group-addon:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, +.ant-input-group-addon:last-child .ant-select .ant-select-selector { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group .ant-input-affix-wrapper:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group .ant-input-affix-wrapper:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { + border-right-width: 1px; +} +.ant-input-group.ant-input-group-compact > * { + border-radius: 0; +} +.ant-input-group.ant-input-group-compact > *:not(:last-child) { + border-right-width: 1px; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { + border-right-width: 1px; + border-radius: 0; +} +.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-right-width: 1px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-input-group > .ant-input-rtl:first-child, +.ant-input-group-rtl .ant-input-group-addon:first-child { + border-radius: 2px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group-rtl .ant-input-group-addon:first-child { + border-right: 1px solid @border-color-base; + border-left: 0; +} +.ant-input-group-rtl .ant-input-group-addon:last-child { + border-right: 0; + border-left: 1px solid @border-color-base; +} +.ant-input-group-rtl .ant-input-group > .ant-input:last-child, +.ant-input-group-rtl .ant-input-group-addon:last-child { + border-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) { + border-left-width: 1px; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-left-width: 1px; + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-input-password-icon { + color: @text-color-secondary; +} +.ant-input-password-icon:hover { + color: @heading-color; +} +.ant-input-affix-wrapper { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input-affix-wrapper::placeholder { + color: #bfbfbf; +} +.ant-input-affix-wrapper:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-input-affix-wrapper:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-affix-wrapper:focus, +.ant-input-affix-wrapper-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-input-affix-wrapper:focus, +.ant-input-rtl .ant-input-affix-wrapper-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-affix-wrapper-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-affix-wrapper-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-affix-wrapper[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-affix-wrapper[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-affix-wrapper-disabled .ant-input[disabled] { + background: transparent; +} +.ant-input-affix-wrapper > input.ant-input { + border: none; +} +.ant-input-affix-wrapper > input.ant-input:focus { + box-shadow: none; +} +.ant-input-clear-icon { + color: @disabled-color; +} +.ant-input-clear-icon:hover { + color: @text-color-secondary; +} +.ant-input-clear-icon:active { + color: @text-color; +} +.ant-input-affix-wrapper-textarea-with-clear-btn { + border: 0 !important; +} +.ant-input-textarea-clear-icon { + color: @disabled-color; +} +.ant-input-textarea-clear-icon:hover { + color: @text-color-secondary; +} +.ant-input-textarea-clear-icon:active { + color: @text-color; +} +.ant-input { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input::placeholder { + color: #bfbfbf; +} +.ant-input:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-input:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input:focus, +.ant-input-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-input:focus, +.ant-input-rtl .ant-input-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-input-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-input[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-input-group { + color: @text-color; + border-collapse: separate; + border-spacing: 0; +} +.ant-input-group-addon:not(:first-child):not(:last-child), +.ant-input-group-wrap:not(:first-child):not(:last-child), +.ant-input-group > .ant-input:not(:first-child):not(:last-child) { + border-radius: 0; +} +.ant-input-group .ant-input:focus { + border-right-width: 1px; +} +.ant-input-group .ant-input:hover { + border-right-width: 1px; +} +.ant-input-group-addon { + color: @text-color; + background-color: #fafafa; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + background-color: inherit; + border: 1px solid transparent; + box-shadow: none; +} +.ant-input-group-addon .ant-select-open .ant-select-selector, +.ant-input-group-addon .ant-select-focused .ant-select-selector { + color: @link-color; +} +.ant-input-group > .ant-input:first-child, +.ant-input-group-addon:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, +.ant-input-group-addon:first-child .ant-select .ant-select-selector { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group-addon:first-child { + border-right: 0; +} +.ant-input-group-addon:last-child { + border-left: 0; +} +.ant-input-group > .ant-input:last-child, +.ant-input-group-addon:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, +.ant-input-group-addon:last-child .ant-select .ant-select-selector { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group .ant-input-affix-wrapper:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group .ant-input-affix-wrapper:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { + border-right-width: 1px; +} +.ant-input-group.ant-input-group-compact > * { + border-radius: 0; +} +.ant-input-group.ant-input-group-compact > *:not(:last-child) { + border-right-width: 1px; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input, +.ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input { + border-right-width: 1px; + border-radius: 0; +} +.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; +} +.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-right-width: 1px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; +} +.ant-input-group > .ant-input-rtl:first-child, +.ant-input-group-rtl .ant-input-group-addon:first-child { + border-radius: 2px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-group-rtl .ant-input-group-addon:first-child { + border-right: 1px solid @border-color-base; + border-left: 0; +} +.ant-input-group-rtl .ant-input-group-addon:last-child { + border-right: 0; + border-left: 1px solid @border-color-base; +} +.ant-input-group-rtl .ant-input-group > .ant-input:last-child, +.ant-input-group-rtl .ant-input-group-addon:last-child { + border-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) { + border-left-width: 1px; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 0; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 0; +} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-left-width: 1px; + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-input-password-icon { + color: @text-color-secondary; +} +.ant-input-password-icon:hover { + color: @heading-color; +} +.ant-input-search-icon { + color: @text-color-secondary; +} +.ant-input-search-icon:hover { + color: @heading-color; +} +.ant-input-search-icon::before { + border-left: 1px solid @border-color-base; +} +.ant-input-search-enter-button input { + border-right: 0; +} +.ant-input-search-enter-button input:hover, +.ant-input-search-enter-button input:focus { + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-input-search-enter-button.ant-input-affix-wrapper { + border-right: 0; +} +.ant-input-search-enter-button + .ant-input-group-addon, +.ant-input-search-enter-button input + .ant-input-group-addon { + border: 0; +} +.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button, +.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-input-search-rtl .ant-input-search-icon::before { + border-left: none; +} +.ant-input-search-rtl .ant-input-search-icon::after { + border-right: 1px solid @border-color-base; +} +.ant-input-search-rtl.ant-input-search-enter-button input { + border: 1px solid @border-color-base; + border-left: 0; +} +.ant-input-search-enter-button input:hover, +.ant-input-search-enter-button input:focus { + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-input-search-rtl.ant-input-search-enter-button + .ant-input-group-addon .ant-input-search-button, +.ant-input-search-rtl.ant-input-search-enter-button input + .ant-input-group-addon .ant-input-search-button { + border-top-left-radius: 2px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 2px; +} +.ant-layout { + background: @component-background; +} +.ant-layout-header { + color: @text-color; + background: #fff; +} +.ant-layout-footer { + color: @text-color; + background: @component-background; +} +.ant-layout-sider { + background: #fff; +} +.ant-layout-sider-trigger { + color: @component-background; + background: #002140; +} +.ant-layout-sider-zero-width-trigger { + color: @component-background; + background: #001529; + border-radius: 0 2px 2px 0; +} +.ant-layout-sider-zero-width-trigger:hover { + background: #192c3e; +} +.ant-layout-sider-zero-width-trigger-right { + border-radius: 2px 0 0 2px; +} +.ant-layout-sider-light { + background: @component-background; +} +.ant-layout-sider-light .ant-layout-sider-trigger { + color: @text-color; + background: @component-background; +} +.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { + color: @text-color; + background: @component-background; +} +.ant-list { + color: @text-color; +} +.ant-list-empty-text { + color: @disabled-color; +} +.ant-list-item-content { + color: @text-color; +} +.ant-list-item-meta-title { + color: @text-color; +} +.ant-list-item-meta-title > a { + color: @text-color; +} +.ant-list-item-meta-title > a:hover { + color: @link-color; +} +.ant-list-item-meta-description { + color: @text-color-secondary; +} +.ant-list-item-action > li { + color: @text-color-secondary; +} +.ant-list-item-action-split { + background-color: #f0f0f0; +} +.ant-list-header { + background: transparent; +} +.ant-list-footer { + background: transparent; +} +.ant-list-empty { + color: @text-color-secondary; +} +.ant-list-split .ant-list-item { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-split .ant-list-item:last-child { + border-bottom: none; +} +.ant-list-split .ant-list-header { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-split.ant-list-empty .ant-list-footer { + border-top: 1px solid #f0f0f0; +} +.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-vertical .ant-list-item-meta-title { + color: @heading-color; +} +.ant-list-grid .ant-col > .ant-list-item { + border-bottom: none; +} +.ant-list { + color: @text-color; +} +.ant-list-empty-text { + color: @disabled-color; +} +.ant-list-item-content { + color: @text-color; +} +.ant-list-item-meta-title { + color: @text-color; +} +.ant-list-item-meta-title > a { + color: @text-color; +} +.ant-list-item-meta-title > a:hover { + color: @link-color; +} +.ant-list-item-meta-description { + color: @text-color-secondary; +} +.ant-list-item-action > li { + color: @text-color-secondary; +} +.ant-list-item-action-split { + background-color: #f0f0f0; +} +.ant-list-header { + background: transparent; +} +.ant-list-footer { + background: transparent; +} +.ant-list-empty { + color: @text-color-secondary; +} +.ant-list-split .ant-list-item { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-split .ant-list-item:last-child { + border-bottom: none; +} +.ant-list-split .ant-list-header { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-split.ant-list-empty .ant-list-footer { + border-top: 1px solid #f0f0f0; +} +.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child { + border-bottom: 1px solid #f0f0f0; +} +.ant-list-vertical .ant-list-item-meta-title { + color: @heading-color; +} +.ant-list-grid .ant-col > .ant-list-item { + border-bottom: none; +} +.ant-list-bordered { + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-mentions { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-mentions::placeholder { + color: #bfbfbf; +} +.ant-mentions:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-mentions:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-mentions:focus, +.ant-mentions-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-mentions:focus, +.ant-input-rtl .ant-mentions-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-mentions-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-mentions-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-mentions[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-mentions[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-mentions-disabled > textarea { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-mentions-disabled > textarea:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-mentions-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-mentions-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-mentions > textarea { + border: none; +} +.ant-mentions > textarea::placeholder { + color: #bfbfbf; +} +.ant-mentions-measure { + color: transparent; +} +.ant-mentions-dropdown { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-mentions-dropdown-menu-item { + color: @text-color; +} +.ant-mentions-dropdown-menu-item:hover { + background-color: #f5f5f5; +} +.ant-mentions-dropdown-menu-item:first-child { + border-radius: 2px 2px 0 0; +} +.ant-mentions-dropdown-menu-item:last-child { + border-radius: 0 0 2px 2px; +} +.ant-mentions-dropdown-menu-item-disabled { + color: @disabled-color; +} +.ant-mentions-dropdown-menu-item-disabled:hover { + color: @disabled-color; + background-color: @layout-body-background; +} +.ant-mentions-dropdown-menu-item-selected { + color: @text-color; + background-color: #fafafa; +} +.ant-mentions-dropdown-menu-item-active { + background-color: #f5f5f5; +} +.ant-menu { + color: @text-color; + background: @layout-body-background; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-menu-item-group-title { + color: @text-color-secondary; +} +.ant-menu-submenu-selected { + color: @link-color; +} +.ant-menu-item:active, +.ant-menu-submenu-title:active { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-menu-item > a { + color: @text-color; +} +.ant-menu-item > a:hover { + color: @link-color; +} +.ant-menu-item > a::before { + background-color: transparent; +} +.ant-menu-item > .ant-badge > a { + color: @text-color; +} +.ant-menu-item > .ant-badge > a:hover { + color: @link-color; +} +.ant-menu-item-divider { + background-color: #f0f0f0; +} +.ant-menu-item:hover, +.ant-menu-item-active, +.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, +.ant-menu-submenu-active, +.ant-menu-submenu-title:hover { + color: @link-color; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { + background-color: transparent; +} +.ant-menu-item-selected { + color: @link-color; +} +.ant-menu-item-selected > a, +.ant-menu-item-selected > a:hover { + color: @link-color; +} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-menu-inline, +.ant-menu-vertical, +.ant-menu-vertical-left { + border-right: 1px solid #f0f0f0; +} +.ant-menu-vertical-right { + border-left: 1px solid #f0f0f0; +} +.ant-menu-vertical.ant-menu-sub, +.ant-menu-vertical-left.ant-menu-sub, +.ant-menu-vertical-right.ant-menu-sub { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item::after, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after { + border-right: 0; +} +.ant-menu > .ant-menu-item-divider { + background-color: #f0f0f0; +} +.ant-menu-submenu-popup { + border-radius: 2px; + box-shadow: none; +} +.ant-menu-submenu > .ant-menu { + background-color: @submenu-background; + border-radius: 2px; +} +.ant-menu-submenu-popup > .ant-menu { + background-color: @layout-body-background; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::after { + border-radius: 2px; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::after, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::after, +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::before, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow::before { + background: linear-gradient(to right, #1890ff, #1890ff); +} +.ant-menu-vertical .ant-menu-submenu-selected, +.ant-menu-vertical-left .ant-menu-submenu-selected, +.ant-menu-vertical-right .ant-menu-submenu-selected { + color: @link-color; +} +.ant-menu-vertical .ant-menu-submenu-selected > a, +.ant-menu-vertical-left .ant-menu-submenu-selected > a, +.ant-menu-vertical-right .ant-menu-submenu-selected > a { + color: @link-color; +} +.ant-menu-horizontal { + border: 0; + border-bottom: 1px solid #f0f0f0; + box-shadow: none; +} +.ant-menu-horizontal > .ant-menu-item, +.ant-menu-horizontal > .ant-menu-submenu { + border-bottom: 2px solid transparent; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-submenu:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu-active, +.ant-menu-horizontal > .ant-menu-item-open, +.ant-menu-horizontal > .ant-menu-submenu-open, +.ant-menu-horizontal > .ant-menu-item-selected, +.ant-menu-horizontal > .ant-menu-submenu-selected { + color: @link-color; + border-bottom: 2px solid @link-color; +} +.ant-menu-horizontal > .ant-menu-item > a { + color: @text-color; +} +.ant-menu-horizontal > .ant-menu-item > a:hover { + color: @link-color; +} +.ant-menu-horizontal > .ant-menu-item-selected > a { + color: @link-color; +} +.ant-menu-vertical .ant-menu-item::after, +.ant-menu-vertical-left .ant-menu-item::after, +.ant-menu-vertical-right .ant-menu-item::after, +.ant-menu-inline .ant-menu-item::after { + border-right: 3px solid @link-color; +} +.ant-menu-inline-collapsed-tooltip a { + color: rgba(255, 255, 255, 0.85); +} +.ant-menu-root.ant-menu-vertical, +.ant-menu-root.ant-menu-vertical-left, +.ant-menu-root.ant-menu-vertical-right, +.ant-menu-root.ant-menu-inline { + box-shadow: none; +} +.ant-menu-sub.ant-menu-inline { + border: 0; + border-radius: 0; + box-shadow: none; +} +.ant-menu-item-disabled, +.ant-menu-submenu-disabled { + color: rgba(0, 0, 0, 0.25) !important; + background: none; + border-color: transparent !important; +} +.ant-menu-item-disabled > a, +.ant-menu-submenu-disabled > a { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { + background: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu.ant-menu-dark, +.ant-menu-dark .ant-menu-sub { + color: rgba(255, 255, 255, 0.65); + background: #001529; +} +.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, +.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before { + background: @component-background; +} +.ant-menu-dark.ant-menu-submenu-popup { + background: transparent; +} +.ant-menu-dark .ant-menu-inline.ant-menu-sub { + background: #000c17; +} +.ant-menu-dark.ant-menu-horizontal { + border-bottom: 0; +} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, +.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { + border-color: #001529; + border-bottom: 0; +} +.ant-menu-dark .ant-menu-item, +.ant-menu-dark .ant-menu-item-group-title, +.ant-menu-dark .ant-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-menu-dark.ant-menu-inline, +.ant-menu-dark.ant-menu-vertical, +.ant-menu-dark.ant-menu-vertical-left, +.ant-menu-dark.ant-menu-vertical-right { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item, +.ant-menu-dark.ant-menu-vertical .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item::after, +.ant-menu-dark.ant-menu-vertical .ant-menu-item::after, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item:hover, +.ant-menu-dark .ant-menu-item-active, +.ant-menu-dark .ant-menu-submenu-active, +.ant-menu-dark .ant-menu-submenu-open, +.ant-menu-dark .ant-menu-submenu-selected, +.ant-menu-dark .ant-menu-submenu-title:hover { + color: @component-background; + background-color: transparent; +} +.ant-menu-dark .ant-menu-item:hover > a, +.ant-menu-dark .ant-menu-item-active > a, +.ant-menu-dark .ant-menu-submenu-active > a, +.ant-menu-dark .ant-menu-submenu-open > a, +.ant-menu-dark .ant-menu-submenu-selected > a, +.ant-menu-dark .ant-menu-submenu-title:hover > a { + color: @component-background; +} +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow::before { + background: @component-background; +} +.ant-menu-dark .ant-menu-item:hover { + background-color: transparent; +} +.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected { + background-color: @link-color; +} +.ant-menu-dark .ant-menu-item-selected { + color: @component-background; + border-right: 0; +} +.ant-menu-dark .ant-menu-item-selected::after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item-selected > a, +.ant-menu-dark .ant-menu-item-selected > a:hover { + color: @component-background; +} +.ant-menu-dark .ant-menu-item-selected .anticon { + color: @component-background; +} +.ant-menu-dark .ant-menu-item-selected .anticon + span { + color: @component-background; +} +.ant-menu.ant-menu-dark .ant-menu-item-selected, +.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { + background-color: @link-color; +} +.ant-menu-dark .ant-menu-item-disabled, +.ant-menu-dark .ant-menu-submenu-disabled, +.ant-menu-dark .ant-menu-item-disabled > a, +.ant-menu-dark .ant-menu-submenu-disabled > a { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after { + background: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-rtl.ant-menu-inline, +.ant-menu-rtl.ant-menu-vertical { + border-right: none; + border-left: 1px solid #f0f0f0; +} +.ant-menu-rtl.ant-menu-dark .ant-menu-inline, +.ant-menu-rtl.ant-menu-dark .ant-menu-vertical { + border-left: none; +} +.ant-message { + color: @text-color; +} +.ant-message-notice-content { + background: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-message-success .anticon { + color: @success-color; +} +.ant-message-error .anticon { + color: @error-color; +} +.ant-message-warning .anticon { + color: @warning-color; +} +.ant-message-info .anticon, +.ant-message-loading .anticon { + color: @link-color; +} +.ant-modal { + color: @text-color; +} +.ant-modal-title { + color: @heading-color; +} +.ant-modal-content { + background-color: @layout-body-background; + background-clip: padding-box; + border: 0; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-modal-close { + color: @text-color-secondary; + background: transparent; + border: 0; +} +.ant-modal-close:focus, +.ant-modal-close:hover { + color: rgba(0, 0, 0, 0.75); +} +.ant-modal-header { + color: @text-color; + background: @layout-body-background; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-modal-footer { + background: transparent; + border-top: 1px solid #f0f0f0; + border-radius: 0 0 2px 2px; +} +.ant-modal-mask { + background-color: @text-color-secondary; +} +.ant-modal-confirm-body .ant-modal-confirm-title { + color: @heading-color; +} +.ant-modal-confirm-body .ant-modal-confirm-content { + color: @text-color; +} +.ant-modal-confirm-error .ant-modal-confirm-body > .anticon { + color: @error-color; +} +.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon, +.ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon { + color: @warning-color; +} +.ant-modal-confirm-info .ant-modal-confirm-body > .anticon { + color: @link-color; +} +.ant-modal-confirm-success .ant-modal-confirm-body > .anticon { + color: @success-color; +} +.ant-notification { + color: @text-color; +} +.ant-notification-hook-holder, +.ant-notification-notice { + background: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-notification-hook-holder > .ant-notification-notice { + box-shadow: none; +} +.ant-notification-notice-message { + color: @heading-color; +} +.ant-notification-notice-message-single-line-auto-margin { + background-color: transparent; +} +.anticon.ant-notification-notice-icon-success { + color: @success-color; +} +.anticon.ant-notification-notice-icon-info { + color: @link-color; +} +.anticon.ant-notification-notice-icon-warning { + color: @warning-color; +} +.anticon.ant-notification-notice-icon-error { + color: @error-color; +} +.ant-notification-notice-close { + color: @text-color-secondary; +} +.ant-notification-notice-close:hover { + color: rgba(0, 0, 0, 0.67); +} +.ant-notification { + color: @text-color; +} +.ant-notification-hook-holder, +.ant-notification-notice { + background: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-notification-hook-holder > .ant-notification-notice { + box-shadow: none; +} +.ant-notification-notice-message { + color: @heading-color; +} +.ant-notification-notice-message-single-line-auto-margin { + background-color: transparent; +} +.anticon.ant-notification-notice-icon-success { + color: @success-color; +} +.anticon.ant-notification-notice-icon-info { + color: @link-color; +} +.anticon.ant-notification-notice-icon-warning { + color: @warning-color; +} +.anticon.ant-notification-notice-icon-error { + color: @error-color; +} +.ant-notification-notice-close { + color: @text-color-secondary; +} +.ant-notification-notice-close:hover { + color: rgba(0, 0, 0, 0.67); +} +.ant-page-header { + color: @text-color; + background-color: @layout-body-background; +} +.ant-page-header-ghost { + background-color: inherit; +} +.ant-page-header-back-button { + color: @link-color; + color: #000; +} +.ant-page-header-back-button:focus, +.ant-page-header-back-button:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-page-header-back-button:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-page-header-heading-title { + color: @heading-color; +} +.ant-page-header-heading-sub-title { + color: @text-color-secondary; +} +.ant-page-header-footer .ant-tabs-bar { + border-bottom: 0; +} +.ant-pagination { + color: @text-color; +} +.ant-pagination-item { + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-pagination-item a { + color: @text-color; +} +.ant-pagination-item:focus, +.ant-pagination-item:hover { + border-color: @link-color; +} +.ant-pagination-item:focus a, +.ant-pagination-item:hover a { + color: @link-color; +} +.ant-pagination-item-active { + background: @layout-body-background; + border-color: @link-color; +} +.ant-pagination-item-active a { + color: @link-color; +} +.ant-pagination-item-active:focus, +.ant-pagination-item-active:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-pagination-item-active:focus a, +.ant-pagination-item-active:hover a { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { + color: @link-color; +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { + color: @disabled-color; +} +.ant-pagination-prev, +.ant-pagination-next, +.ant-pagination-jump-prev, +.ant-pagination-jump-next { + color: @text-color; + border-radius: 2px; +} +.ant-pagination-prev a, +.ant-pagination-next a { + color: @text-color; +} +.ant-pagination-prev:hover a, +.ant-pagination-next:hover a { + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-next .ant-pagination-item-link { + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-pagination-prev:focus .ant-pagination-item-link, +.ant-pagination-next:focus .ant-pagination-item-link, +.ant-pagination-prev:hover .ant-pagination-item-link, +.ant-pagination-next:hover .ant-pagination-item-link { + color: @link-color; + border-color: @link-color; +} +.ant-pagination-disabled a, +.ant-pagination-disabled:hover a, +.ant-pagination-disabled:focus a, +.ant-pagination-disabled .ant-pagination-item-link, +.ant-pagination-disabled:hover .ant-pagination-item-link, +.ant-pagination-disabled:focus .ant-pagination-item-link { + color: @disabled-color; + border-color: @border-color-base; +} +.ant-pagination-options-quick-jumper input { + color: @text-color; + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-pagination-options-quick-jumper input::placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input:hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-pagination-options-quick-jumper input:hover { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-pagination-options-quick-jumper input:focus, +.ant-pagination-options-quick-jumper input-focused { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-pagination-options-quick-jumper input:focus, +.ant-input-rtl .ant-pagination-options-quick-jumper input-focused { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-pagination-options-quick-jumper input-disabled { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-pagination-options-quick-jumper input-disabled:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-pagination-options-quick-jumper input[disabled] { + color: @disabled-color; + background-color: #f5f5f5; +} +.ant-pagination-options-quick-jumper input[disabled]:hover { + border-color: @border-color-base; + border-right-width: 1px !important; +} +.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { + border: 0; +} +.ant-pagination-simple .ant-pagination-simple-pager input { + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-pagination-simple .ant-pagination-simple-pager input:hover { + border-color: @link-color; +} +.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) { + background: transparent; + border-color: transparent; +} +.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link { + background: transparent; + border-color: transparent; +} +.ant-pagination.ant-pagination-disabled .ant-pagination-item { + background: #f5f5f5; + border-color: @border-color-base; +} +.ant-pagination.ant-pagination-disabled .ant-pagination-item a { + color: @disabled-color; + background: transparent; + border: none; +} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active { + background: #dbdbdb; + border-color: transparent; +} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a { + color: @component-background; +} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-link, +.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:hover, +.ant-pagination.ant-pagination-disabled .ant-pagination-item-link:focus { + color: @text-color-secondary; + background: #f5f5f5; + border-color: @border-color-base; +} +.ant-popover { + color: @text-color; +} +.ant-popover::after { + background: rgba(255, 255, 255, 0.01); +} +.ant-popover-inner { + background-color: @layout-body-background; + background-clip: padding-box; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); + box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) ; +} +.ant-popover-title { + color: @heading-color; + border-bottom: 1px solid #f0f0f0; +} +.ant-popover-inner-content { + color: @text-color; +} +.ant-popover-message { + color: @text-color; +} +.ant-popover-message > .anticon { + color: @warning-color; +} +.ant-popover-arrow { + background: transparent; + border-style: solid; + border-width: 4.24264069px; +} +.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow { + border-top-color: transparent; + border-right-color: @layout-body-background; + border-bottom-color: @layout-body-background; + border-left-color: transparent; + box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow { + border-top-color: transparent; + border-right-color: transparent; + border-bottom-color: @layout-body-background; + border-left-color: @layout-body-background; + box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow { + border-top-color: @layout-body-background; + border-right-color: transparent; + border-bottom-color: transparent; + border-left-color: @layout-body-background; + box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06); +} +.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow { + border-top-color: @layout-body-background; + border-right-color: @layout-body-background; + border-bottom-color: transparent; + border-left-color: transparent; + box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); +} +.ant-progress { + color: @text-color; +} +.ant-progress-steps-item { + background: #f3f3f3; +} +.ant-progress-inner { + background-color: #f5f5f5; + border-radius: 100px; +} +.ant-progress-success-bg, +.ant-progress-bg { + background-color: @link-color; + border-radius: 100px; +} +.ant-progress-success-bg { + background-color: @success-color; +} +.ant-progress-text { + color: @text-color-secondary; +} +.ant-progress-status-active .ant-progress-bg::before { + background: @layout-body-background; + border-radius: 10px; +} +.ant-progress-status-exception .ant-progress-bg { + background-color: @error-color; +} +.ant-progress-status-exception .ant-progress-text { + color: @error-color; +} +.ant-progress-status-success .ant-progress-bg { + background-color: @success-color; +} +.ant-progress-status-success .ant-progress-text { + color: @success-color; +} +.ant-progress-circle .ant-progress-inner { + background-color: transparent; +} +.ant-progress-circle .ant-progress-text { + color: @text-color; +} +.ant-progress-circle.ant-progress-status-exception .ant-progress-text { + color: @error-color; +} +.ant-progress-circle.ant-progress-status-success .ant-progress-text { + color: @success-color; +} +.ant-radio-group { + color: @text-color; +} +.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper { + border-left: none; +} +.ant-radio-wrapper { + color: @text-color; +} +.ant-radio { + color: @text-color; +} +.ant-radio-wrapper:hover .ant-radio, +.ant-radio:hover .ant-radio-inner, +.ant-radio-input:focus + .ant-radio-inner { + border-color: @link-color; +} +.ant-radio-input:focus + .ant-radio-inner { + box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08); +} +.ant-radio-checked::after { + border: 1px solid @link-color; + border-radius: 50%; +} +.ant-radio-inner { + background-color: @layout-body-background; + border-color: @border-color-base; + border-style: solid; + border-width: 1px; + border-radius: 100px; +} +.ant-radio-inner::after { + background-color: @link-color; + border-top: 0; + border-left: 0; + border-radius: 8px; +} +.ant-radio-checked .ant-radio-inner { + border-color: @link-color; +} +.ant-radio-disabled .ant-radio-inner { + background-color: #f5f5f5; + border-color: #d9d9d9 !important; +} +.ant-radio-disabled .ant-radio-inner::after { + background-color: rgba(0, 0, 0, 0.2); +} +.ant-radio-disabled + span { + color: @disabled-color; +} +.ant-radio-button-wrapper { + color: @text-color; + background: @layout-body-background; + border: 1px solid @border-color-base; + border-top-width: 1.02px; + border-left-width: 0; +} +.ant-radio-button-wrapper a { + color: @text-color; +} +.ant-radio-button-wrapper:not(:first-child)::before { + background-color: @border-color-base; +} +.ant-radio-button-wrapper:first-child { + border-left: 1px solid @border-color-base; + border-radius: 2px 0 0 2px; +} +.ant-radio-button-wrapper:last-child { + border-radius: 0 2px 2px 0; +} +.ant-radio-button-wrapper:first-child:last-child { + border-radius: 2px; +} +.ant-radio-button-wrapper:hover { + color: @link-color; +} +.ant-radio-button-wrapper:focus-within { + box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08); +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { + color: @link-color; + background: @layout-body-background; + border-color: @link-color; +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before { + background-color: @link-color; +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child { + border-color: @link-color; +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { + color: color(~`colorPalette("@{link-color}", 5)`); + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before { + background-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { + color: color(~`colorPalette("@{link-color}", 7)`); + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before { + background-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { + box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08); +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { + color: @layout-body-background; + background: @link-color; + border-color: @link-color; +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { + color: @layout-body-background; + background: color(~`colorPalette("@{link-color}", 5)`); + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { + color: @layout-body-background; + background: color(~`colorPalette("@{link-color}", 7)`); + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within { + box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08); +} +.ant-radio-button-wrapper-disabled { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; +} +.ant-radio-button-wrapper-disabled:first-child, +.ant-radio-button-wrapper-disabled:hover { + color: @disabled-color; + background-color: #f5f5f5; + border-color: @border-color-base; +} +.ant-radio-button-wrapper-disabled:first-child { + border-left-color: @border-color-base; +} +.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { + color: @component-background; + background-color: #e6e6e6; + border-color: @border-color-base; + box-shadow: none; +} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl { + border-right-width: 0; + border-left-width: 1px; +} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child { + border-right: 1px solid @border-color-base; + border-radius: 0 2px 2px 0; +} +.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child { + border-right-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child { + border-radius: 2px 0 0 2px; +} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child { + border-right-color: @border-color-base; +} +.ant-rate { + color: @text-color; + color: #fadb14; +} +.ant-rate-star { + color: inherit; +} +.ant-rate-star-first, +.ant-rate-star-second { + color: #f0f0f0; +} +.ant-rate-star-half .ant-rate-star-first, +.ant-rate-star-full .ant-rate-star-second { + color: inherit; +} +.ant-result-success .ant-result-icon > .anticon { + color: @success-color; +} +.ant-result-error .ant-result-icon > .anticon { + color: @error-color; +} +.ant-result-info .ant-result-icon > .anticon { + color: @link-color; +} +.ant-result-warning .ant-result-icon > .anticon { + color: @warning-color; +} +.ant-result-title { + color: @heading-color; +} +.ant-result-subtitle { + color: @text-color-secondary; +} +.ant-result-content { + background-color: #fafafa; +} +.ant-select { + color: @text-color; +} +.ant-select:not(.ant-select-disabled):hover .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-arrow { + color: inherit; + color: @disabled-color; +} +.ant-select-clear { + color: @disabled-color; + background: @layout-body-background; +} +.ant-select-clear:hover { + color: @text-color-secondary; +} +.ant-select-dropdown { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-select-item-empty { + color: @text-color; +} +.ant-select-item { + color: @text-color; +} +.ant-select-item-group { + color: @text-color-secondary; +} +.ant-select-item-option-active:not(.ant-select-item-option-disabled) { + background-color: #f5f5f5; +} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) { + color: @text-color; + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state { + color: @link-color; +} +.ant-select-item-option-disabled { + color: @disabled-color; +} +.ant-select-borderless .ant-select-selector { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; +} +.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-select-focused.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-select-focused.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + color: @disabled-color; + background: #f5f5f5; +} +.ant-select-focused.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-select-focused.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + color: @disabled-color; + background: #f5f5f5; +} +.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { + background: transparent; + border: none; +} +.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { + background: transparent; + border: none; +} +.ant-select-multiple .ant-select-selector { + background-color: @layout-body-background; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-select-focused.ant-select-multiple .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-select-focused.ant-select-multiple .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-disabled.ant-select-multiple .ant-select-selector { + color: @disabled-color; + background: #f5f5f5; +} +.ant-select-focused.ant-select-multiple .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-input-rtl .ant-select-focused.ant-select-multiple .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-disabled.ant-select-multiple .ant-select-selector { + color: @disabled-color; + background: #f5f5f5; +} +.ant-select-multiple .ant-select-selector .ant-select-selection-search-input { + background: transparent; + border: none; +} +.ant-select-multiple .ant-select-selector .ant-select-selection-search-input { + background: transparent; + border: none; +} +.ant-select-multiple .ant-select-selection-item { + background: #f5f5f5; + border: 1px solid #f0f0f0; + border-radius: 2px; +} +.ant-select-multiple .ant-select-selection-item-remove { + color: inherit; + color: @text-color-secondary; +} +.ant-select-multiple .ant-select-selection-item-remove:hover { + color: rgba(0, 0, 0, 0.75); +} +.ant-select { + color: @text-color; +} +.ant-select:not(.ant-select-disabled):hover .ant-select-selector { + border-color: color(~`colorPalette("@{link-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector { + border-right-width: 0; + border-left-width: 1px !important; +} +.ant-select-arrow { + color: inherit; + color: @disabled-color; +} +.ant-select-clear { + color: @disabled-color; + background: @layout-body-background; +} +.ant-select-clear:hover { + color: @text-color-secondary; +} +.ant-select-dropdown { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-select-item-empty { + color: @text-color; +} +.ant-select-item { + color: @text-color; +} +.ant-select-item-group { + color: @text-color-secondary; +} +.ant-select-item-option-active:not(.ant-select-item-option-disabled) { + background-color: #f5f5f5; +} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) { + color: @text-color; + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state { + color: @link-color; +} +.ant-select-item-option-disabled { + color: @disabled-color; +} +.ant-select-borderless .ant-select-selector { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; +} +.ant-skeleton-header .ant-skeleton-avatar { + background: #f2f2f2; +} +.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-content .ant-skeleton-title { + background: #f2f2f2; +} +.ant-skeleton-content .ant-skeleton-paragraph > li { + background: #f2f2f2; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-button { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-input { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton-element .ant-skeleton-button { + background: #f2f2f2; + border-radius: 2px; +} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round { + border-radius: 32px; +} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round { + border-radius: 40px; +} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round { + border-radius: 24px; +} +.ant-skeleton-element .ant-skeleton-avatar { + background: #f2f2f2; +} +.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-element .ant-skeleton-input { + background: #f2f2f2; +} +.ant-slider { + color: @text-color; +} +.ant-slider-rail { + background-color: #f5f5f5; + border-radius: 2px; +} +.ant-slider-track { + background-color: color(~`colorPalette("@{link-color}", 3)`); + border-radius: 2px; +} +.ant-slider-handle { + background-color: @layout-body-background; + border: solid 2px color(~`colorPalette("@{link-color}", 3)`); + border-radius: 50%; + box-shadow: 0; +} +.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging { + border-color: #46a6ff; + box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12); +} +.ant-slider-handle:focus { + border-color: #46a6ff; + box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12); +} +.ant-slider-handle.ant-tooltip-open { + border-color: @link-color; +} +.ant-slider:hover .ant-slider-rail { + background-color: #e1e1e1; +} +.ant-slider:hover .ant-slider-track { + background-color: color(~`colorPalette("@{link-color}", 4)`); +} +.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { + border-color: color(~`colorPalette("@{link-color}", 4)`); +} +.ant-slider-mark-text { + color: @text-color-secondary; +} +.ant-slider-mark-text-active { + color: @text-color; +} +.ant-slider-step { + background: transparent; +} +.ant-slider-dot { + background-color: @layout-body-background; + border: 2px solid #f0f0f0; + border-radius: 50%; +} +.ant-slider-dot-active { + border-color: #8cc8ff; +} +.ant-slider-disabled .ant-slider-track { + background-color: rgba(0, 0, 0, 0.25) !important; +} +.ant-slider-disabled .ant-slider-handle, +.ant-slider-disabled .ant-slider-dot { + background-color: @layout-body-background; + border-color: rgba(0, 0, 0, 0.25) !important; + box-shadow: none; +} +.ant-spin { + color: @text-color; + color: @link-color; +} +.ant-spin-container::after { + background: @layout-body-background; +} +.ant-spin-tip { + color: @text-color-secondary; +} +.ant-spin-dot-item { + background-color: @link-color; + border-radius: 100%; +} +.ant-statistic { + color: @text-color; +} +.ant-statistic-title { + color: @text-color-secondary; +} +.ant-statistic-content { + color: @heading-color; +} +.ant-steps { + color: @text-color; +} +.ant-steps-item-icon { + border: 1px solid @disabled-color; + border-radius: 32px; +} +.ant-steps-item-icon > .ant-steps-icon { + color: @link-color; +} +.ant-steps-item-tail::after { + background: #f0f0f0; + border-radius: 1px; +} +.ant-steps-item-title { + color: @text-color; +} +.ant-steps-item-title::after { + background: #f0f0f0; +} +.ant-steps-item-subtitle { + color: @text-color-secondary; +} +.ant-steps-item-description { + color: @text-color-secondary; +} +.ant-steps-item-wait .ant-steps-item-icon { + background-color: @layout-body-background; + border-color: @disabled-color; +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { + color: @disabled-color; +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @disabled-color; +} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { + color: @text-color-secondary; +} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { + background-color: #f0f0f0; +} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { + color: @text-color-secondary; +} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after { + background-color: #f0f0f0; +} +.ant-steps-item-process .ant-steps-item-icon { + background-color: @layout-body-background; + border-color: @link-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @link-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @link-color; +} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { + color: @heading-color; +} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { + background-color: #f0f0f0; +} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { + color: @text-color; +} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after { + background-color: #f0f0f0; +} +.ant-steps-item-process .ant-steps-item-icon { + background: @link-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @component-background; +} +.ant-steps-item-finish .ant-steps-item-icon { + background-color: @layout-body-background; + border-color: @link-color; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { + color: @link-color; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @link-color; +} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { + color: @text-color; +} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { + background-color: @link-color; +} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { + color: @text-color-secondary; +} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after { + background-color: @link-color; +} +.ant-steps-item-error .ant-steps-item-icon { + background-color: @layout-body-background; + border-color: @error-color; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { + color: @error-color; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @error-color; +} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title { + color: @error-color; +} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after { + background-color: #f0f0f0; +} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description { + color: @error-color; +} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after { + background-color: #f0f0f0; +} +.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after { + background: @error-color; +} +.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, +.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, +.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description { + color: @link-color; +} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon { + border-color: @link-color; +} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon { + color: @link-color; +} +.ant-steps-item-custom .ant-steps-item-icon { + background: none; + border: 0; +} +.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @link-color; +} +.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon { + background: none; +} +.ant-steps-small .ant-steps-item-icon { + border-radius: 24px; +} +.ant-steps-small .ant-steps-item-description { + color: @text-color-secondary; +} +.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { + background: none; + border: 0; + border-radius: 0; +} +.ant-steps-dot .ant-steps-item-icon, +.ant-steps-dot.ant-steps-small .ant-steps-item-icon { + background: transparent; + border: 0; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, +.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot { + border-radius: 100px; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, +.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after { + background: rgba(0, 0, 0, 0.001); +} +.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon { + background: none; +} +.ant-steps-navigation .ant-steps-item::after { + border: 1px solid @disabled-color; + border-bottom: none; + border-left: none; +} +.ant-steps-navigation .ant-steps-item::before { + background-color: @link-color; +} +.ant-switch { + color: @text-color; + background-color: @disabled-color; + border: 1px solid transparent; + border-radius: 100px; +} +.ant-switch-inner { + color: @component-background; +} +.ant-switch-loading-icon, +.ant-switch::after { + background-color: @layout-body-background; + border-radius: 18px; +} +.ant-switch::after { + box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); +} +.ant-switch-loading-icon { + background: transparent; +} +.ant-switch-loading .ant-switch-loading-icon { + color: @text-color; +} +.ant-switch-checked.ant-switch-loading .ant-switch-loading-icon { + color: @link-color; +} +.ant-switch:focus { + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-switch:focus:hover { + box-shadow: none; +} +.ant-switch-checked { + background-color: @link-color; +} +.ant-table { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-table table { + border-radius: 2px 2px 0 0; + border-collapse: separate; + border-spacing: 0; +} +.ant-table-footer { + color: @heading-color; + background: #fafafa; +} +.ant-table-thead > tr > th { + color: @heading-color; + background: #fafafa; + border-bottom: 1px solid #f0f0f0; +} +.ant-table-thead > tr:not(:last-child) > th[colspan] { + border-bottom: 0; +} +.ant-table-tbody > tr > td { + border-bottom: 1px solid #f0f0f0; + background: #fff; +} +.ant-table-tbody > tr.ant-table-row:hover > td { + background: #fafafa; +} +.ant-table-tbody > tr.ant-table-row-selected > td { + background: color(~`colorPalette("@{link-color}", 1)`); + border-color: rgba(0, 0, 0, 0.03); +} +.ant-table-tbody > tr.ant-table-row-selected:hover > td { + background: #dcf4ff; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table td { + background: transparent; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td { + border-bottom: 0; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child { + border-radius: 0; +} +.ant-table tfoot > tr > th, +.ant-table tfoot > tr > td { + border-bottom: 1px solid #f0f0f0; +} +.ant-table-thead th.ant-table-column-has-sorters:hover { + background: #f2f2f2; +} +.ant-table-thead th.ant-table-column-has-sorters:hover .ant-table-filter-trigger-container { + background: #f7f7f7; +} +.ant-table-thead th.ant-table-column-sort { + background: #f5f5f5; +} +td.ant-table-column-sort { + background: #fafafa; +} +.ant-table-column-sorter { + color: #bfbfbf; +} +.ant-table-column-sorter-up.active, +.ant-table-column-sorter-down.active { + color: @link-color; +} +.ant-table-filter-trigger-container-open, +.ant-table-filter-trigger-container:hover, +.ant-table-thead th.ant-table-column-has-sorters:hover .ant-table-filter-trigger-container:hover { + background: #e5e5e5; +} +.ant-table-filter-trigger { + color: #bfbfbf; +} +.ant-table-filter-trigger-container-open .ant-table-filter-trigger, +.ant-table-filter-trigger:hover { + color: @text-color-secondary; +} +.ant-table-filter-trigger.active { + color: @link-color; +} +.ant-table-filter-dropdown { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-table-filter-dropdown .ant-dropdown-menu { + border: 0; + box-shadow: none; +} +.ant-table-filter-dropdown-btns { + background-color: inherit; + border-top: 1px solid #f0f0f0; +} +.ant-table-selection-extra .anticon { + color: #bfbfbf; +} +.ant-table-selection-extra .anticon:hover { + color: #a6a6a6; +} +.ant-table-row-expand-icon { + color: @link-color; + color: inherit; + background: @layout-body-background; + border: 1px solid #f0f0f0; + border-radius: 2px; +} +.ant-table-row-expand-icon:focus, +.ant-table-row-expand-icon:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-table-row-expand-icon:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-table-row-expand-icon:focus, +.ant-table-row-expand-icon:hover, +.ant-table-row-expand-icon:active { + border-color: currentColor; +} +.ant-table-row-expand-icon::before, +.ant-table-row-expand-icon::after { + background: currentColor; +} +.ant-table-row-expand-icon-spaced { + background: transparent; + border: 0; +} +tr.ant-table-expanded-row > td, +tr.ant-table-expanded-row:hover > td { + background: #fbfbfb; +} +.ant-table-tbody > tr.ant-table-placeholder:hover > td { + background: @layout-body-background; +} +.ant-table-cell-fix-left, +.ant-table-cell-fix-right { + background: @layout-body-background; +} +.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-left .ant-table-cell-fix-left-first::after, +.ant-table-ping-left .ant-table-cell-fix-left-last::after { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-right .ant-table-cell-fix-right-first::after, +.ant-table-ping-right .ant-table-cell-fix-right-last::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-small .ant-table-thead > tr > th { + background-color: #fafafa; +} +.ant-table.ant-table-bordered .ant-table-title { + border: 1px solid #f0f0f0; + border-bottom: 0; +} +.ant-table.ant-table-bordered thead > tr > th, +.ant-table.ant-table-bordered tbody > tr > td, +.ant-table.ant-table-bordered tfoot > tr > th, +.ant-table.ant-table-bordered tfoot > tr > td { + border-right: 1px solid #f0f0f0; +} +.ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after { + border-right: 1px solid #f0f0f0; +} +.ant-table.ant-table-bordered table thead > tr:not(:last-child) > th { + border-bottom: 1px solid #f0f0f0; +} +.ant-table.ant-table-bordered .ant-table-container { + border: 1px solid #f0f0f0; + border-right: 0; + border-bottom: 0; +} +.ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after { + border-right: 1px solid #f0f0f0; +} +.ant-table.ant-table-bordered.ant-table-scroll-horizontal tr.ant-table-expanded-row > td, +.ant-table.ant-table-bordered.ant-table-scroll-horizontal tr.ant-table-placeholder > td { + border-right: 0; +} +.ant-table.ant-table-bordered .ant-table-footer { + border: 1px solid #f0f0f0; + border-top: 0; +} +.ant-table { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-table table { + border-radius: 2px 2px 0 0; + border-collapse: separate; + border-spacing: 0; +} +.ant-table-footer { + color: @heading-color; + background: #fafafa; +} +.ant-table-thead > tr > th { + color: @heading-color; + background: #fafafa; + border-bottom: 1px solid #f0f0f0; +} +.ant-table-thead > tr:not(:last-child) > th[colspan] { + border-bottom: 0; +} +.ant-table-tbody > tr > td { + border-bottom: 1px solid #f0f0f0; +} +.ant-table-tbody > tr.ant-table-row:hover > td { + background: #fafafa; +} +.ant-table-tbody > tr.ant-table-row-selected > td { + background: color(~`colorPalette("@{link-color}", 1)`); + border-color: rgba(0, 0, 0, 0.03); +} +.ant-table-tbody > tr.ant-table-row-selected:hover > td { + background: #dcf4ff; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table td { + background: transparent; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td { + border-bottom: 0; +} +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, +.ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child { + border-radius: 0; +} +.ant-table tfoot > tr > th, +.ant-table tfoot > tr > td { + border-bottom: 1px solid #f0f0f0; +} +.ant-table-thead th.ant-table-column-has-sorters:hover { + background: #f2f2f2; +} +.ant-table-thead th.ant-table-column-has-sorters:hover .ant-table-filter-trigger-container { + background: #f7f7f7; +} +.ant-table-thead th.ant-table-column-sort { + background: #f5f5f5; +} +td.ant-table-column-sort { + background: #fafafa; +} +.ant-table-column-sorter { + color: #bfbfbf; +} +.ant-table-column-sorter-up.active, +.ant-table-column-sorter-down.active { + color: @link-color; +} +.ant-table-filter-trigger-container-open, +.ant-table-filter-trigger-container:hover, +.ant-table-thead th.ant-table-column-has-sorters:hover .ant-table-filter-trigger-container:hover { + background: #e5e5e5; +} +.ant-table-filter-trigger { + color: #bfbfbf; +} +.ant-table-filter-trigger-container-open .ant-table-filter-trigger, +.ant-table-filter-trigger:hover { + color: @text-color-secondary; +} +.ant-table-filter-trigger.active { + color: @link-color; +} +.ant-table-filter-dropdown { + color: @text-color; + background-color: @layout-body-background; + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-table-filter-dropdown .ant-dropdown-menu { + border: 0; + box-shadow: none; +} +.ant-table-filter-dropdown-btns { + background-color: inherit; + border-top: 1px solid #f0f0f0; +} +.ant-table-selection-extra .anticon { + color: #bfbfbf; +} +.ant-table-selection-extra .anticon:hover { + color: #a6a6a6; +} +.ant-table-row-expand-icon { + color: @link-color; + color: inherit; + background: @layout-body-background; + border: 1px solid #f0f0f0; + border-radius: 2px; +} +.ant-table-row-expand-icon:focus, +.ant-table-row-expand-icon:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-table-row-expand-icon:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-table-row-expand-icon:focus, +.ant-table-row-expand-icon:hover, +.ant-table-row-expand-icon:active { + border-color: currentColor; +} +.ant-table-row-expand-icon::before, +.ant-table-row-expand-icon::after { + background: currentColor; +} +.ant-table-row-expand-icon-spaced { + background: transparent; + border: 0; +} +tr.ant-table-expanded-row > td, +tr.ant-table-expanded-row:hover > td { + background: #fbfbfb; +} +.ant-table-tbody > tr.ant-table-placeholder:hover > td { + background: @layout-body-background; +} +.ant-table-cell-fix-left, +.ant-table-cell-fix-right { + background: @layout-body-background; +} +.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-left .ant-table-cell-fix-left-first::after, +.ant-table-ping-left .ant-table-cell-fix-left-last::after { + box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-ping-right .ant-table-cell-fix-right-first::after, +.ant-table-ping-right .ant-table-cell-fix-right-last::after { + box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15); +} +.ant-table-title { + border-radius: 2px 2px 0 0; +} +.ant-table-title + .ant-table-container { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child { + border-radius: 0; +} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child { + border-radius: 0; +} +.ant-table-container { + border-top-left-radius: 2px; + border-top-right-radius: 2px; +} +.ant-table-container table > thead > tr:first-child th:first-child { + border-top-left-radius: 2px; +} +.ant-table-container table > thead > tr:first-child th:last-child { + border-top-right-radius: 2px; +} +.ant-table-footer { + border-radius: 0 0 2px 2px; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab { + background: #fafafa; + border: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab-active { + color: @link-color; + background: @layout-body-background; + border-color: #f0f0f0; + border-bottom: 1px solid @layout-body-background; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab-active::before { + border-top: 2px solid transparent; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab-disabled { + color: @disabled-color; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab .ant-tabs-close-x { + color: @text-color-secondary; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab .ant-tabs-close-x:hover { + color: @heading-color; +} +.ant-tabs-vertical.ant-tabs-card .ant-tabs-left-bar .ant-tabs-tab, +.ant-tabs-vertical.ant-tabs-card .ant-tabs-right-bar .ant-tabs-tab { + border-bottom: 1px solid #f0f0f0; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-left .ant-tabs-left-bar .ant-tabs-tab { + border-right: 0; + border-radius: 2px 0 0 2px; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-right .ant-tabs-right-bar .ant-tabs-tab { + border-left: 0; + border-radius: 0 2px 2px 0; +} +.ant-tabs .ant-tabs-bottom-bar .ant-tabs-tab { + border-top-color: #f0f0f0; + border-bottom: 1px solid #f0f0f0; + border-radius: 0 0 2px 2px; +} +.ant-tabs .ant-tabs-bottom-bar .ant-tabs-tab-active { + color: @link-color; + border-top-color: @layout-body-background; +} +.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{ + color: @link-color; + font-weight: 500; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab .ant-tabs-tab-remove { + color: @text-color-secondary; +} +.ant-tabs.ant-tabs-card .ant-tabs-tab .ant-tabs-tab-remove:hover { + color: @heading-color; +} +.ant-tabs-top > .ant-tabs-nav::before, +.ant-tabs-bottom > .ant-tabs-nav::before, +.ant-tabs-top > div > .ant-tabs-nav::before, +.ant-tabs-bottom > div > .ant-tabs-nav::before { + border-bottom: 1px solid #f0f0f0; +} +.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active, +.ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active{ + border-bottom-color: transparent; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab { + background: #fafafa; + border: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active { + color: @link-color; + background: @layout-body-background; + border-color: #f0f0f0; + border-bottom: 1px solid @layout-body-background; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active::before { + border-top: 2px solid transparent; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-disabled { + color: @disabled-color; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab .ant-tabs-close-x { + color: @text-color-secondary; +} +.ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab .ant-tabs-close-x:hover { + color: @heading-color; +} +.ant-tabs-extra-content .ant-tabs-new-tab { + color: @text-color; + border: 1px solid #f0f0f0; + border-radius: 2px; +} +.ant-tabs-extra-content .ant-tabs-new-tab:hover { + color: @link-color; + border-color: @link-color; +} +.ant-tabs-vertical.ant-tabs-card .ant-tabs-card-bar.ant-tabs-left-bar .ant-tabs-tab, +.ant-tabs-vertical.ant-tabs-card .ant-tabs-card-bar.ant-tabs-right-bar .ant-tabs-tab { + border-bottom: 1px solid #f0f0f0; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-left .ant-tabs-card-bar.ant-tabs-left-bar .ant-tabs-tab { + border-right: 0; + border-radius: 2px 0 0 2px; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-right .ant-tabs-card-bar.ant-tabs-right-bar .ant-tabs-tab { + border-left: 0; + border-radius: 0 2px 2px 0; +} +.ant-tabs .ant-tabs-card-bar.ant-tabs-bottom-bar .ant-tabs-tab { + border-top-color: #f0f0f0; + border-bottom: 1px solid #f0f0f0; + border-radius: 0 0 2px 2px; +} +.ant-tabs .ant-tabs-card-bar.ant-tabs-bottom-bar .ant-tabs-tab-active { + color: @link-color; + border-top-color: @layout-body-background; +} +.ant-tabs { + color: @text-color; +} +.ant-tabs-ink-bar { + background-color: @link-color; +} +.ant-tabs-bar { + border-bottom: 1px solid #f0f0f0; +} +.ant-tabs-bottom .ant-tabs-bottom-bar { + border-top: 1px solid #f0f0f0; + border-bottom: none; +} +.ant-tabs-tab-prev, +.ant-tabs-tab-next { + color: @text-color-secondary; + background-color: transparent; + border: 0; +} +.ant-tabs-tab-prev:hover, +.ant-tabs-tab-next:hover { + color: @text-color; +} +.ant-tabs-tab-btn-disabled, +.ant-tabs-tab-btn-disabled:hover { + color: @disabled-color; +} +.ant-tabs-nav .ant-tabs-tab::before { + border-top: 2px solid transparent; + border-radius: 2px 2px 0 0; +} +.ant-tabs-nav .ant-tabs-tab:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-tabs-nav .ant-tabs-tab:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-tabs-nav .ant-tabs-tab-active { + color: @link-color; +} +.ant-tabs-nav .ant-tabs-tab-disabled, +.ant-tabs-nav .ant-tabs-tab-disabled:hover { + color: @disabled-color; +} +.ant-tabs .ant-tabs-left-bar, +.ant-tabs .ant-tabs-right-bar { + border-bottom: 0; +} +.ant-tabs .ant-tabs-left-bar { + border-right: 1px solid #f0f0f0; +} +.ant-tabs .ant-tabs-left-content { + border-left: 1px solid #f0f0f0; +} +.ant-tabs .ant-tabs-right-bar { + border-left: 1px solid #f0f0f0; +} +.ant-tabs .ant-tabs-right-content { + border-right: 1px solid #f0f0f0; +} +.ant-tag { + color: @text-color; + background: #fafafa; + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-tag, +.ant-tag a, +.ant-tag a:hover { + color: @text-color; +} +.ant-tag .anticon-close { + color: @text-color-secondary; +} +.ant-tag .anticon-close:hover { + color: @heading-color; +} +.ant-tag-has-color { + border-color: transparent; +} +.ant-tag-has-color, +.ant-tag-has-color a, +.ant-tag-has-color a:hover, +.ant-tag-has-color .anticon-close, +.ant-tag-has-color .anticon-close:hover { + color: @component-background; +} +.ant-tag-checkable { + background-color: transparent; + border-color: transparent; +} +.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { + color: @link-color; +} +.ant-tag-checkable:active, +.ant-tag-checkable-checked { + color: @component-background; +} +.ant-tag-checkable-checked { + background-color: @link-color; +} +.ant-tag-checkable:active { + background-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-tag-pink { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-pink-inverse { + color: @component-background; + background: #eb2f96; + border-color: #eb2f96; +} +.ant-tag-magenta { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-magenta-inverse { + color: @component-background; + background: #eb2f96; + border-color: #eb2f96; +} +.ant-tag-red { + color: @error-color; + background: color(~`colorPalette("@{layout-body-background}", 4)`); + border-color: color(~`colorPalette("@{error-color}", 3)`); +} +.ant-tag-red-inverse { + color: @component-background; + background: @error-color; + border-color: @error-color; +} +.ant-tag-volcano { + color: #fa541c; + background: #fff2e8; + border-color: #ffbb96; +} +.ant-tag-volcano-inverse { + color: @component-background; + background: #fa541c; + border-color: #fa541c; +} +.ant-tag-orange { + color: #fa8c16; + background: #fff7e6; + border-color: #ffd591; +} +.ant-tag-orange-inverse { + color: @component-background; + background: #fa8c16; + border-color: #fa8c16; +} +.ant-tag-yellow { + color: #fadb14; + background: #feffe6; + border-color: #fffb8f; +} +.ant-tag-yellow-inverse { + color: @component-background; + background: #fadb14; + border-color: #fadb14; +} +.ant-tag-gold { + color: @warning-color; + background: color(~`colorPalette("@{warning-color}", 1)`); + border-color: color(~`colorPalette("@{warning-color}", 3)`); +} +.ant-tag-gold-inverse { + color: @component-background; + background: @warning-color; + border-color: @warning-color; +} +.ant-tag-cyan { + color: #13c2c2; + background: #e6fffb; + border-color: #87e8de; +} +.ant-tag-cyan-inverse { + color: @component-background; + background: #13c2c2; + border-color: #13c2c2; +} +.ant-tag-lime { + color: #a0d911; + background: #fcffe6; + border-color: #eaff8f; +} +.ant-tag-lime-inverse { + color: @component-background; + background: #a0d911; + border-color: #a0d911; +} +.ant-tag-green { + color: @success-color; + background: color(~`colorPalette("@{success-color}", 1)`); + border-color: color(~`colorPalette("@{success-color}", 3)`); +} +.ant-tag-green-inverse { + color: @component-background; + background: @success-color; + border-color: @success-color; +} +.ant-tag-blue { + color: @link-color; + background: color(~`colorPalette("@{link-color}", 1)`); + border-color: color(~`colorPalette("@{link-color}", 3)`); +} +.ant-tag-blue-inverse { + color: @component-background; + background: @link-color; + border-color: @link-color; +} +.ant-tag-geekblue { + color: #2f54eb; + background: #f0f5ff; + border-color: #adc6ff; +} +.ant-tag-geekblue-inverse { + color: @component-background; + background: #2f54eb; + border-color: #2f54eb; +} +.ant-tag-purple { + color: #722ed1; + background: #f9f0ff; + border-color: #d3adf7; +} +.ant-tag-purple-inverse { + color: @component-background; + background: #722ed1; + border-color: #722ed1; +} +.ant-tag-success { + color: @success-color; + background: color(~`colorPalette("@{success-color}", 1)`); + border-color: color(~`colorPalette("@{success-color}", 3)`); +} +.ant-tag-processing { + color: @link-color; + background: color(~`colorPalette("@{link-color}", 1)`); + border-color: color(~`colorPalette("@{link-color}", 3)`); +} +.ant-tag-error { + color: @error-color; + background: color(~`colorPalette("@{layout-body-background}", 4)`); + border-color: color(~`colorPalette("@{error-color}", 3)`); +} +.ant-tag-warning { + color: #fa8c16; + background: #fff7e6; + border-color: #ffd591; +} +.ant-timeline { + color: @text-color; +} +.ant-timeline-item-tail { + border-left: 2px solid #f0f0f0; +} +.ant-timeline-item-pending .ant-timeline-item-head { + background-color: transparent; +} +.ant-timeline-item-head { + background-color: @layout-body-background; + border: 2px solid transparent; + border-radius: 100px; +} +.ant-timeline-item-head-blue { + color: @link-color; + border-color: @link-color; +} +.ant-timeline-item-head-red { + color: @error-color; + border-color: @error-color; +} +.ant-timeline-item-head-green { + color: @success-color; + border-color: @success-color; +} +.ant-timeline-item-head-gray { + color: @disabled-color; + border-color: @disabled-color; +} +.ant-timeline-item-head-custom { + border: 0; + border-radius: 0; +} +.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { + border-left: 2px dotted #f0f0f0; +} +.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { + border-left: 2px dotted #f0f0f0; +} +.ant-timeline-rtl .ant-timeline-item-tail { + border-right: 2px solid #f0f0f0; + border-left: none; +} +.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { + border-right: 2px dotted #f0f0f0; + border-left: none; +} +.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { + border-right: 2px dotted #f0f0f0; + border-left: none; +} +.ant-tooltip { + color: @text-color; +} +.ant-tooltip-inner { + color: @component-background; + background-color: rgba(0, 0, 0, 0.75); + border-radius: 2px; + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); +} +.ant-tooltip-arrow { + background: transparent; +} +.ant-tooltip-arrow::before { + background-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-top .ant-tooltip-arrow::before, +.ant-tooltip-placement-topLeft .ant-tooltip-arrow::before, +.ant-tooltip-placement-topRight .ant-tooltip-arrow::before { + box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-tooltip-placement-right .ant-tooltip-arrow::before, +.ant-tooltip-placement-rightTop .ant-tooltip-arrow::before, +.ant-tooltip-placement-rightBottom .ant-tooltip-arrow::before { + box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-tooltip-placement-left .ant-tooltip-arrow::before, +.ant-tooltip-placement-leftTop .ant-tooltip-arrow::before, +.ant-tooltip-placement-leftBottom .ant-tooltip-arrow::before { + box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); +} +.ant-tooltip-placement-bottom .ant-tooltip-arrow::before, +.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow::before, +.ant-tooltip-placement-bottomRight .ant-tooltip-arrow::before { + box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07); +} +.ant-transfer { + color: @text-color; +} +.ant-transfer-disabled .ant-transfer-list { + background: #f5f5f5; +} +.ant-transfer-list { + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-transfer-list-search-action { + color: @disabled-color; +} +.ant-transfer-list-search-action .anticon { + color: @disabled-color; +} +.ant-transfer-list-search-action .anticon:hover { + color: @text-color-secondary; +} +.ant-transfer-list-header { + color: @text-color; + background: @layout-body-background; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { + background-color: #f5f5f5; +} +.ant-transfer-list-content-item-checked { + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-transfer-list-content-item-disabled { + color: @disabled-color; +} +.ant-transfer-list-body-not-found { + color: @disabled-color; +} +.ant-transfer-list-footer { + border-top: 1px solid #f0f0f0; + border-radius: 0 0 2px 2px; +} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small { + border: 0; + border-radius: 0; +} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th { + background: #fafafa; +} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td { + border-bottom: 1px solid #f0f0f0; +} +.ant-transfer-customize-list .ant-input[disabled] { + background-color: transparent; +} +.ant-transfer { + color: @text-color; +} +.ant-transfer-disabled .ant-transfer-list { + background: #f5f5f5; +} +.ant-transfer-list { + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-transfer-list-search-action { + color: @disabled-color; +} +.ant-transfer-list-search-action .anticon { + color: @disabled-color; +} +.ant-transfer-list-search-action .anticon:hover { + color: @text-color-secondary; +} +.ant-transfer-list-header { + color: @text-color; + background: @layout-body-background; + border-bottom: 1px solid #f0f0f0; + border-radius: 2px 2px 0 0; +} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { + background-color: #f5f5f5; +} +.ant-transfer-list-content-item-checked { + background-color: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-transfer-list-content-item-disabled { + color: @disabled-color; +} +.ant-transfer-list-body-not-found { + color: @disabled-color; +} +.ant-transfer-list-footer { + border-top: 1px solid #f0f0f0; + border-radius: 0 0 2px 2px; +} +.ant-tree-checkbox { + color: @text-color; +} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { + border-color: @link-color; +} +.ant-tree-checkbox-checked::after { + border: 1px solid @link-color; + border-radius: 2px; +} +.ant-tree-checkbox-inner { + background-color: @component-background; + border: 1px solid @border-color-base; + border-radius: 2px; + border-collapse: separate; +} +.ant-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background-color: @link-color; + border-color: @link-color; +} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { + border-color: @disabled-color; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { + background-color: #f5f5f5; + border-color: #d9d9d9 !important; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { + border-color: #f5f5f5; + border-collapse: separate; +} +.ant-tree-checkbox-disabled + span { + color: @disabled-color; +} +.ant-tree-checkbox-wrapper { + color: @text-color; +} +.ant-tree-checkbox-group { + color: @text-color; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner { + background-color: @component-background; + border-color: @border-color-base; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after { + background-color: @link-color; + border: 0; +} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { + background-color: @disabled-color; + border-color: @disabled-color; +} +.ant-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-tree .ant-tree-switcher-loading-icon { + color: @link-color; +} +.ant-tree .ant-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-tree .ant-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree .ant-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-tree-show-line .ant-tree-switcher { + background: @layout-body-background; +} +.ant-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-tree .ant-tree-switcher-loading-icon { + color: @link-color; +} +.ant-tree .ant-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-tree .ant-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree .ant-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-tree-show-line .ant-tree-switcher { + background: @layout-body-background; +} +.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: none; + border-left: 1px solid @border-color-base; +} +.ant-select-tree-checkbox { + color: @text-color; +} +.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { + border-color: @link-color; +} +.ant-select-tree-checkbox-checked::after { + border: 1px solid @link-color; + border-radius: 2px; +} +.ant-select-tree-checkbox-inner { + background-color: @component-background; + border: 1px solid @border-color-base; + border-radius: 2px; + border-collapse: separate; +} +.ant-select-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { + background-color: @link-color; + border-color: @link-color; +} +.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after { + border-color: @disabled-color; +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { + background-color: #f5f5f5; + border-color: #d9d9d9 !important; +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { + border-color: #f5f5f5; + border-collapse: separate; +} +.ant-select-tree-checkbox-disabled + span { + color: @disabled-color; +} +.ant-select-tree-checkbox-wrapper { + color: @text-color; +} +.ant-select-tree-checkbox-group { + color: @text-color; +} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner { + background-color: @component-background; + border-color: @border-color-base; +} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after { + background-color: @link-color; + border: 0; +} +.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after { + background-color: @disabled-color; + border-color: @disabled-color; +} +.ant-tree-select-dropdown .ant-select-tree { + border-radius: 0; +} +.ant-select-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-select-tree .ant-select-tree-switcher-loading-icon { + color: @link-color; +} +.ant-select-tree .ant-select-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-select-tree .ant-select-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-select-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-select-tree .ant-select-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-select-tree .ant-select-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-select-tree .ant-select-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-select-tree-show-line .ant-select-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-select-tree-show-line .ant-select-tree-switcher { + background: @layout-body-background; +} +.ant-select-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-select-tree .ant-select-tree-switcher-loading-icon { + color: @link-color; +} +.ant-select-tree .ant-select-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-select-tree .ant-select-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-select-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-select-tree .ant-select-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-select-tree .ant-select-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-select-tree .ant-select-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-select-tree-show-line .ant-select-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-select-tree-show-line .ant-select-tree-switcher { + background: @layout-body-background; +} +.ant-select-tree-rtl.ant-select-tree-show-line .ant-select-tree-indent-unit::before { + border-right: none; + border-left: 1px solid @border-color-base; +} +.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before { + background: #f5f5f5; +} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper { + border-radius: 0; +} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected { + color: @component-background; + background: transparent; +} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, +.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before { + background: @link-color; +} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher { + color: @component-background; +} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper { + color: @component-background; + background: transparent; +} +.ant-tree-checkbox { + color: @text-color; +} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { + border-color: @link-color; +} +.ant-tree-checkbox-checked::after { + border: 1px solid @link-color; + border-radius: 2px; +} +.ant-tree-checkbox-inner { + background-color: @component-background; + border: 1px solid @border-color-base; + border-radius: 2px; + border-collapse: separate; +} +.ant-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { + border: 2px solid @component-background; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background-color: @link-color; + border-color: @link-color; +} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after { + border-color: @disabled-color; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { + background-color: #f5f5f5; + border-color: #d9d9d9 !important; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { + border-color: #f5f5f5; + border-collapse: separate; +} +.ant-tree-checkbox-disabled + span { + color: @disabled-color; +} +.ant-tree-checkbox-wrapper { + color: @text-color; +} +.ant-tree-checkbox-group { + color: @text-color; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner { + background-color: @component-background; + border-color: @border-color-base; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after { + background-color: @link-color; + border: 0; +} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after { + background-color: @disabled-color; + border-color: @disabled-color; +} +.ant-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-tree .ant-tree-switcher-loading-icon { + color: @link-color; +} +.ant-tree .ant-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-tree .ant-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree .ant-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-tree-show-line .ant-tree-switcher { + background: @layout-body-background; +} +.ant-tree { + color: @text-color; + background: @layout-body-background; + border-radius: 2px; +} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) { + background: color(~`colorPalette("@{link-color}", 1)`); +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper { + color: @disabled-color; +} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper { + background: #f5f5f5; +} +.ant-tree .ant-tree-switcher-loading-icon { + color: @link-color; +} +.ant-tree .ant-tree-node-content-wrapper { + color: inherit; + background: transparent; + border-radius: 2px; +} +.ant-tree .ant-tree-node-content-wrapper:hover { + background-color: #f5f5f5; +} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{link-color}", 2)`); +} +.ant-tree-node-content-wrapper[draggable='true'] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree .ant-tree-treenode.drag-over > [draggable] { + color: white; + background-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-top > [draggable] { + border-top-color: @link-color; +} +.ant-tree .ant-tree-treenode.drag-over-gap-bottom > [draggable] { + border-bottom-color: @link-color; +} +.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: 1px solid @border-color-base; +} +.ant-tree-show-line .ant-tree-switcher { + background: @layout-body-background; +} +.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before { + border-right: none; + border-left: 1px solid @border-color-base; +} +.ant-typography { + color: @text-color; +} +.ant-typography.ant-typography-secondary { + color: @text-color-secondary; +} +.ant-typography.ant-typography-warning { + color: @warning-color; +} +.ant-typography.ant-typography-danger { + color: @error-color; +} +.ant-typography.ant-typography-disabled { + color: @disabled-color; +} +h1.ant-typography, +.ant-typography h1 { + color: @heading-color; +} +h2.ant-typography, +.ant-typography h2 { + color: @heading-color; +} +h3.ant-typography, +.ant-typography h3 { + color: @heading-color; +} +h4.ant-typography, +.ant-typography h4 { + color: @heading-color; +} +.ant-typography a { + color: @link-color; +} +.ant-typography a:focus, +.ant-typography a:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-typography a:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-typography a[disabled] { + color: @disabled-color; +} +.ant-typography code { + background: rgba(0, 0, 0, 0.06); + border: 1px solid rgba(0, 0, 0, 0.06); + border-radius: 3px; +} +.ant-typography mark { + background-color: color(~`colorPalette("@{warning-color}", 3)`); +} +.ant-typography-expand, +.ant-typography-edit, +.ant-typography-copy { + color: @link-color; +} +.ant-typography-expand:focus, +.ant-typography-edit:focus, +.ant-typography-copy:focus, +.ant-typography-expand:hover, +.ant-typography-edit:hover, +.ant-typography-copy:hover { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-typography-expand:active, +.ant-typography-edit:active, +.ant-typography-copy:active { + color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-typography-copy-success, +.ant-typography-copy-success:hover, +.ant-typography-copy-success:focus { + color: @success-color; +} +.ant-typography-edit-content-confirm { + color: @text-color-secondary; +} +.ant-upload { + color: @text-color; +} +.ant-upload.ant-upload-select-picture-card { + background-color: #fafafa; + border: 1px dashed @border-color-base; + border-radius: 2px; +} +.ant-upload.ant-upload-select-picture-card:hover { + border-color: @link-color; +} +.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover { + border-color: @border-color-base; +} +.ant-upload.ant-upload-drag { + background: #fafafa; + border: 1px dashed @border-color-base; + border-radius: 2px; +} +.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { + border-color: color(~`colorPalette("@{link-color}", 7)`); +} +.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { + border-color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { + color: color(~`colorPalette("@{link-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-text { + color: @heading-color; +} +.ant-upload.ant-upload-drag p.ant-upload-hint { + color: @text-color-secondary; +} +.ant-upload.ant-upload-drag .anticon-plus { + color: @disabled-color; +} +.ant-upload.ant-upload-drag .anticon-plus:hover { + color: @text-color-secondary; +} +.ant-upload.ant-upload-drag:hover .anticon-plus { + color: @text-color-secondary; +} +.ant-upload-list { + color: @text-color; +} +.ant-upload-list-item-card-actions .anticon { + color: @text-color-secondary; +} +.ant-upload-list-item-info .anticon-loading .anticon, +.ant-upload-list-item-info .ant-upload-text-icon .anticon { + color: @text-color-secondary; +} +.ant-upload-list-item .anticon-close { + color: @text-color-secondary; +} +.ant-upload-list-item .anticon-close:hover { + color: @text-color; +} +.ant-upload-list-item:hover .ant-upload-list-item-info { + background-color: #f5f5f5; +} +.ant-upload-list-item-error, +.ant-upload-list-item-error .ant-upload-text-icon > .anticon, +.ant-upload-list-item-error .ant-upload-list-item-name { + color: @error-color; +} +.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon { + color: @error-color; +} +.ant-upload-list-picture .ant-upload-list-item, +.ant-upload-list-picture-card .ant-upload-list-item { + border: 1px solid @border-color-base; + border-radius: 2px; +} +.ant-upload-list-picture .ant-upload-list-item:hover, +.ant-upload-list-picture-card .ant-upload-list-item:hover { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-error, +.ant-upload-list-picture-card .ant-upload-list-item-error { + border-color: @error-color; +} +.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, +.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-uploading, +.ant-upload-list-picture-card .ant-upload-list-item-uploading { + border-style: dashed; +} +.ant-upload-list-picture-card .ant-upload-list-item-info::before { + background-color: rgba(0, 0, 0, 0.5); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { + color: rgba(255, 255, 255, 0.85); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { + color: @component-background; +} +.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { + background-color: #fafafa; +} +.ant-upload-list .ant-upload-success-icon { + color: @success-color; +} +.reloadBtn{ + background: @submenu-background; +} +.login-layout{ + background-color: #fff; + .logo-name{ + color: #333; + } +} +.inner-tabs .ant-tabs-tab { + border: 1px solid @border-color-base; + &.ant-tabs-tab-active { + border-color: @primary-color; + } +} + +.home{ + background: #f5f5f5; +} diff --git a/public/static/less.min.js b/public/static/less.min.js new file mode 100644 index 0000000..d17df44 --- /dev/null +++ b/public/static/less.min.js @@ -0,0 +1,17 @@ +/*! + * Less - Leaner CSS v2.7.2 + * http://lesscss.org + * + * Copyright (c) 2009-2017, Alexis Sellier + * Licensed under the Apache-2.0 License. + * + */ + + /** * @license Apache-2.0 + */ + +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.less=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0||b.isFileProtocol?"development":"production");var c=/!dumpLineNumbers:(comments|mediaquery|all)/.exec(a.location.hash);c&&(b.dumpLineNumbers=c[1]),void 0===b.useFileCache&&(b.useFileCache=!0),void 0===b.onReady&&(b.onReady=!0)}},{"./browser":3,"./utils":10}],2:[function(a,b,c){function d(a){a.filename&&console.warn(a),e.async||h.removeChild(i)}a("promise/polyfill.js");var e=window.less||{};a("./add-default-options")(window,e);var f=b.exports=a("./index")(window,e);window.less=f;var g,h,i;e.onReady&&(/!watch/.test(window.location.hash)&&f.watch(),e.async||(g="body { }",h=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style"),i.type="text/css",i.styleSheet?i.styleSheet.cssText=g:i.appendChild(document.createTextNode(g)),h.appendChild(i)),f.registerStylesheetsImmediately(),f.pageLoadFinished=f.refresh("development"===f.env).then(d,d))},{"./add-default-options":1,"./index":8,"promise/polyfill.js":97}],3:[function(a,b,c){var d=a("./utils");b.exports={createCSS:function(a,b,c){var e=c.href||"",f="less:"+(c.title||d.extractId(e)),g=a.getElementById(f),h=!1,i=a.createElement("style");i.setAttribute("type","text/css"),c.media&&i.setAttribute("media",c.media),i.id=f,i.styleSheet||(i.appendChild(a.createTextNode(b)),h=null!==g&&g.childNodes.length>0&&i.childNodes.length>0&&g.firstChild.nodeValue===i.firstChild.nodeValue);var j=a.getElementsByTagName("head")[0];if(null===g||h===!1){var k=c&&c.nextSibling||null;k?k.parentNode.insertBefore(i,k):j.appendChild(i)}if(g&&h===!1&&g.parentNode.removeChild(g),i.styleSheet)try{i.styleSheet.cssText=b}catch(l){throw new Error("Couldn't reassign styleSheet.cssText.")}},currentScript:function(a){var b=a.document;return b.currentScript||function(){var a=b.getElementsByTagName("script");return a[a.length-1]}()}}},{"./utils":10}],4:[function(a,b,c){b.exports=function(a,b,c){var d=null;if("development"!==b.env)try{d="undefined"==typeof a.localStorage?null:a.localStorage}catch(e){}return{setCSS:function(a,b,e,f){if(d){c.info("saving "+a+" to cache.");try{d.setItem(a,f),d.setItem(a+":timestamp",b),e&&d.setItem(a+":vars",JSON.stringify(e))}catch(g){c.error('failed to save "'+a+'" to local storage for caching.')}}},getCSS:function(a,b,c){var e=d&&d.getItem(a),f=d&&d.getItem(a+":timestamp"),g=d&&d.getItem(a+":vars");if(c=c||{},f&&b.lastModified&&new Date(b.lastModified).valueOf()===new Date(f).valueOf()&&(!c&&!g||JSON.stringify(c)===g))return e}}}},{}],5:[function(a,b,c){var d=a("./utils"),e=a("./browser");b.exports=function(a,b,c){function f(b,f){var g,h,i="less-error-message:"+d.extractId(f||""),j='
  • {content}
  • ',k=a.document.createElement("div"),l=[],m=b.filename||f,n=m.match(/([^\/]+(\?.*)?)$/)[1];k.id=i,k.className="less-error-message",h="

    "+(b.type||"Syntax")+"Error: "+(b.message||"There is an error in your .less file")+'

    in '+n+" ";var o=function(a,b,c){void 0!==a.extract[b]&&l.push(j.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};b.extract&&(o(b,0,""),o(b,1,"line"),o(b,2,""),h+="on line "+b.line+", column "+(b.column+1)+":

      "+l.join("")+"
    "),b.stack&&(b.extract||c.logLevel>=4)&&(h+="
    Stack Trace
    "+b.stack.split("\n").slice(1).join("
    ")),k.innerHTML=h,e.createCSS(a.document,[".less-error-message ul, .less-error-message li {","list-style-type: none;","margin-right: 15px;","padding: 4px 0;","margin: 0;","}",".less-error-message label {","font-size: 12px;","margin-right: 15px;","padding: 4px 0;","color: #cc7777;","}",".less-error-message pre {","color: #dd6666;","padding: 4px 0;","margin: 0;","display: inline-block;","}",".less-error-message pre.line {","color: #ff0000;","}",".less-error-message h3 {","font-size: 20px;","font-weight: bold;","padding: 15px 0 5px 0;","margin: 0;","}",".less-error-message a {","color: #10a","}",".less-error-message .error {","color: red;","font-weight: bold;","padding-bottom: 2px;","border-bottom: 1px dashed red;","}"].join("\n"),{title:"error-message"}),k.style.cssText=["font-family: Arial, sans-serif","border: 1px solid #e00","background-color: #eee","border-radius: 5px","-webkit-border-radius: 5px","-moz-border-radius: 5px","color: #e00","padding: 15px","margin-bottom: 15px"].join(";"),"development"===c.env&&(g=setInterval(function(){var b=a.document,c=b.body;c&&(b.getElementById(i)?c.replaceChild(k,b.getElementById(i)):c.insertBefore(k,c.firstChild),clearInterval(g))},10))}function g(b){var c=a.document.getElementById("less-error-message:"+d.extractId(b));c&&c.parentNode.removeChild(c)}function h(a){}function i(a){c.errorReporting&&"html"!==c.errorReporting?"console"===c.errorReporting?h(a):"function"==typeof c.errorReporting&&c.errorReporting("remove",a):g(a)}function j(a,d){var e="{line} {content}",f=a.filename||d,g=[],h=(a.type||"Syntax")+"Error: "+(a.message||"There is an error in your .less file")+" in "+f+" ",i=function(a,b,c){void 0!==a.extract[b]&&g.push(e.replace(/\{line\}/,(parseInt(a.line,10)||0)+(b-1)).replace(/\{class\}/,c).replace(/\{content\}/,a.extract[b]))};a.extract&&(i(a,0,""),i(a,1,"line"),i(a,2,""),h+="on line "+a.line+", column "+(a.column+1)+":\n"+g.join("\n")),a.stack&&(a.extract||c.logLevel>=4)&&(h+="\nStack Trace\n"+a.stack),b.logger.error(h)}function k(a,b){c.errorReporting&&"html"!==c.errorReporting?"console"===c.errorReporting?j(a,b):"function"==typeof c.errorReporting&&c.errorReporting("add",a,b):f(a,b)}return{add:k,remove:i}}},{"./browser":3,"./utils":10}],6:[function(a,b,c){b.exports=function(b,c){function d(){if(window.XMLHttpRequest&&!("file:"===window.location.protocol&&"ActiveXObject"in window))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(a){return c.error("browser doesn't support AJAX."),null}}var e=a("../less/environment/abstract-file-manager.js"),f={},g=function(){};return g.prototype=new e,g.prototype.alwaysMakePathsAbsolute=function(){return!0},g.prototype.join=function(a,b){return a?this.extractUrlParts(b,a).path:b},g.prototype.doXHR=function(a,e,f,g){function h(b,c,d){b.status>=200&&b.status<300?c(b.responseText,b.getResponseHeader("Last-Modified")):"function"==typeof d&&d(b.status,a)}var i=d(),j=!b.isFileProtocol||b.fileAsync;"function"==typeof i.overrideMimeType&&i.overrideMimeType("text/css"),c.debug("XHR: Getting '"+a+"'"),i.open("GET",a,j),i.setRequestHeader("Accept",e||"text/x-less, text/css; q=0.9, */*; q=0.5"),i.send(null),b.isFileProtocol&&!b.fileAsync?0===i.status||i.status>=200&&i.status<300?f(i.responseText):g(i.status,a):j?i.onreadystatechange=function(){4==i.readyState&&h(i,f,g)}:h(i,f,g)},g.prototype.supports=function(a,b,c,d){return!0},g.prototype.clearFileCache=function(){f={}},g.prototype.loadFile=function(a,b,c,d,e){b&&!this.isPathAbsolute(a)&&(a=b+a),c=c||{};var g=this.extractUrlParts(a,window.location.href),h=g.url;if(c.useFileCache&&f[h])try{var i=f[h];e(null,{contents:i,filename:h,webInfo:{lastModified:new Date}})}catch(j){e({filename:h,message:"Error loading file "+h+" error was "+j.message})}else this.doXHR(h,c.mime,function(a,b){f[h]=a,e(null,{contents:a,filename:h,webInfo:{lastModified:b}})},function(a,b){e({type:"File",message:"'"+b+"' wasn't found ("+a+")",href:h})})},g}},{"../less/environment/abstract-file-manager.js":15}],7:[function(a,b,c){b.exports=function(){function b(){throw{type:"Runtime",message:"Image size functions are not supported in browser version of less"}}var c=a("./../less/functions/function-registry"),d={"image-size":function(a){return b(this,a),-1},"image-width":function(a){return b(this,a),-1},"image-height":function(a){return b(this,a),-1}};c.addMultiple(d)}},{"./../less/functions/function-registry":22}],8:[function(a,b,c){var d=a("./utils").addDataAttr,e=a("./browser");b.exports=function(b,c){function f(a){return c.postProcessor&&"function"==typeof c.postProcessor&&(a=c.postProcessor.call(a,a)||a),a}function g(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function h(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){var d=c.concat(Array.prototype.slice.call(arguments,0));return a.apply(b,d)}}function i(a){for(var b,d=m.getElementsByTagName("style"),e=0;e=c&&console.log(a)},info:function(a){b.logLevel>=d&&console.log(a)},warn:function(a){b.logLevel>=e&&console.warn(a)},error:function(a){b.logLevel>=f&&console.error(a)}}]);for(var g=0;g0&&(a=a.slice(0,b)),b=a.lastIndexOf("/"),b<0&&(b=a.lastIndexOf("\\")),b<0?"":a.slice(0,b+1)},d.prototype.tryAppendExtension=function(a,b){return/(\.[a-z]*$)|([\?;].*)$/.test(a)?a:a+b},d.prototype.tryAppendLessExtension=function(a){return this.tryAppendExtension(a,".less")},d.prototype.supportsSync=function(){return!1},d.prototype.alwaysMakePathsAbsolute=function(){return!1},d.prototype.isPathAbsolute=function(a){return/^(?:[a-z-]+:|\/|\\|#)/i.test(a)},d.prototype.join=function(a,b){return a?a+b:b},d.prototype.pathDiff=function(a,b){var c,d,e,f,g=this.extractUrlParts(a),h=this.extractUrlParts(b),i="";if(g.hostPart!==h.hostPart)return"";for(d=Math.max(h.directories.length,g.directories.length),c=0;c0&&(h.splice(c-1,2),c-=2)}return g.hostPart=f[1],g.directories=h,g.path=(f[1]||"")+h.join("/"),g.fileUrl=g.path+(f[4]||""),g.url=g.fileUrl+(f[5]||""),g},b.exports=d},{}],16:[function(a,b,c){var d=a("../logger"),e=function(a,b){this.fileManagers=b||[],a=a||{};for(var c=["encodeBase64","mimeLookup","charsetLookup","getSourceMapGenerator"],d=[],e=d.concat(c),f=0;f=0;h--){var i=g[h];if(i[f?"supportsSync":"supports"](a,b,c,e))return i}return null},e.prototype.addFileManager=function(a){this.fileManagers.push(a)},e.prototype.clearFileManagers=function(){this.fileManagers=[]},b.exports=e},{"../logger":33}],17:[function(a,b,c){function d(a,b,c){var d,f,g,h,i=b.alpha,j=c.alpha,k=[];g=j+i*(1-j);for(var l=0;l<3;l++)d=b.rgb[l]/255,f=c.rgb[l]/255,h=a(d,f),g&&(h=(j*f+i*(d-j*(d+f-h)))/g),k[l]=255*h;return new e(k,g)}var e=a("../tree/color"),f=a("./function-registry"),g={multiply:function(a,b){return a*b},screen:function(a,b){return a+b-a*b},overlay:function(a,b){return a*=2,a<=1?g.multiply(a,b):g.screen(a-1,b)},softlight:function(a,b){var c=1,d=a;return b>.5&&(d=1,c=a>.25?Math.sqrt(a):((16*a-12)*a+4)*a),a-(1-2*b)*d*(c-a)},hardlight:function(a,b){return g.overlay(b,a)},difference:function(a,b){return Math.abs(a-b)},exclusion:function(a,b){return a+b-2*a*b},average:function(a,b){return(a+b)/2},negation:function(a,b){return 1-Math.abs(a+b-1)}};for(var h in g)g.hasOwnProperty(h)&&(d[h]=d.bind(null,g[h]));f.addMultiple(d)},{"../tree/color":50,"./function-registry":22}],18:[function(a,b,c){function d(a){return Math.min(1,Math.max(0,a))}function e(a){return h.hsla(a.h,a.s,a.l,a.a)}function f(a){if(a instanceof i)return parseFloat(a.unit.is("%")?a.value/100:a.value);if("number"==typeof a)return a;throw{type:"Argument",message:"color functions take numbers as parameters"}}function g(a,b){return a instanceof i&&a.unit.is("%")?parseFloat(a.value*b/100):f(a)}var h,i=a("../tree/dimension"),j=a("../tree/color"),k=a("../tree/quoted"),l=a("../tree/anonymous"),m=a("./function-registry");h={rgb:function(a,b,c){return h.rgba(a,b,c,1)},rgba:function(a,b,c,d){var e=[a,b,c].map(function(a){return g(a,255)});return d=f(d),new j(e,d)},hsl:function(a,b,c){return h.hsla(a,b,c,1)},hsla:function(a,b,c,e){function g(a){return a=a<0?a+1:a>1?a-1:a,6*a<1?i+(j-i)*a*6:2*a<1?j:3*a<2?i+(j-i)*(2/3-a)*6:i}var i,j;return a=f(a)%360/360,b=d(f(b)),c=d(f(c)),e=d(f(e)),j=c<=.5?c*(b+1):c+b-c*b,i=2*c-j,h.rgba(255*g(a+1/3),255*g(a),255*g(a-1/3),e)},hsv:function(a,b,c){return h.hsva(a,b,c,1)},hsva:function(a,b,c,d){a=f(a)%360/360*360,b=f(b),c=f(c),d=f(d);var e,g;e=Math.floor(a/60%6),g=a/60-e;var i=[c,c*(1-b),c*(1-g*b),c*(1-(1-g)*b)],j=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];return h.rgba(255*i[j[e][0]],255*i[j[e][1]],255*i[j[e][2]],d)},hue:function(a){return new i(a.toHSL().h)},saturation:function(a){return new i(100*a.toHSL().s,"%")},lightness:function(a){return new i(100*a.toHSL().l,"%")},hsvhue:function(a){return new i(a.toHSV().h)},hsvsaturation:function(a){return new i(100*a.toHSV().s,"%")},hsvvalue:function(a){return new i(100*a.toHSV().v,"%")},red:function(a){return new i(a.rgb[0])},green:function(a){return new i(a.rgb[1])},blue:function(a){return new i(a.rgb[2])},alpha:function(a){return new i(a.toHSL().a)},luma:function(a){return new i(a.luma()*a.alpha*100,"%")},luminance:function(a){var b=.2126*a.rgb[0]/255+.7152*a.rgb[1]/255+.0722*a.rgb[2]/255;return new i(b*a.alpha*100,"%")},saturate:function(a,b,c){if(!a.rgb)return null;var f=a.toHSL();return f.s+="undefined"!=typeof c&&"relative"===c.value?f.s*b.value/100:b.value/100,f.s=d(f.s),e(f)},desaturate:function(a,b,c){var f=a.toHSL();return f.s-="undefined"!=typeof c&&"relative"===c.value?f.s*b.value/100:b.value/100,f.s=d(f.s),e(f)},lighten:function(a,b,c){var f=a.toHSL();return f.l+="undefined"!=typeof c&&"relative"===c.value?f.l*b.value/100:b.value/100,f.l=d(f.l),e(f)},darken:function(a,b,c){var f=a.toHSL();return f.l-="undefined"!=typeof c&&"relative"===c.value?f.l*b.value/100:b.value/100,f.l=d(f.l),e(f)},fadein:function(a,b,c){var f=a.toHSL();return f.a+="undefined"!=typeof c&&"relative"===c.value?f.a*b.value/100:b.value/100,f.a=d(f.a),e(f)},fadeout:function(a,b,c){var f=a.toHSL();return f.a-="undefined"!=typeof c&&"relative"===c.value?f.a*b.value/100:b.value/100,f.a=d(f.a),e(f)},fade:function(a,b){var c=a.toHSL();return c.a=b.value/100,c.a=d(c.a),e(c)},spin:function(a,b){var c=a.toHSL(),d=(c.h+b.value)%360;return c.h=d<0?360+d:d,e(c)},mix:function(a,b,c){a.toHSL&&b.toHSL||(console.log(b.type),console.dir(b)),c||(c=new i(50));var d=c.value/100,e=2*d-1,f=a.toHSL().a-b.toHSL().a,g=((e*f==-1?e:(e+f)/(1+e*f))+1)/2,h=1-g,k=[a.rgb[0]*g+b.rgb[0]*h,a.rgb[1]*g+b.rgb[1]*h,a.rgb[2]*g+b.rgb[2]*h],l=a.alpha*d+b.alpha*(1-d);return new j(k,l)},greyscale:function(a){return h.desaturate(a,new i(100))},contrast:function(a,b,c,d){if(!a.rgb)return null;if("undefined"==typeof c&&(c=h.rgba(255,255,255,1)),"undefined"==typeof b&&(b=h.rgba(0,0,0,1)),b.luma()>c.luma()){var e=c;c=b,b=e}return d="undefined"==typeof d?.43:f(d),a.luma()=t&&this.context.ieCompat!==!1?(g.warn("Skipped data-uri embedding of "+i+" because its size ("+s.length+" characters) exceeds IE8-safe "+t+" characters!"),f(this,e||a)):new d(new c('"'+s+'"',s,(!1),this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../logger":33,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],20:[function(a,b,c){var d=a("../tree/keyword"),e=a("./function-registry"),f={eval:function(){var a=this.value_,b=this.error_;if(b)throw b;if(null!=a)return a?d.True:d.False},value:function(a){this.value_=a},error:function(a){this.error_=a},reset:function(){this.value_=this.error_=null}};e.add("default",f.eval.bind(f)),b.exports=f},{"../tree/keyword":65,"./function-registry":22}],21:[function(a,b,c){var d=a("../tree/expression"),e=function(a,b,c,d){this.name=a.toLowerCase(),this.index=c,this.context=b,this.currentFileInfo=d,this.func=b.frames[0].functionRegistry.get(this.name)};e.prototype.isValid=function(){return Boolean(this.func)},e.prototype.call=function(a){return Array.isArray(a)&&(a=a.filter(function(a){return"Comment"!==a.type}).map(function(a){if("Expression"===a.type){var b=a.value.filter(function(a){return"Comment"!==a.type});return 1===b.length?b[0]:new d(b)}return a})),this.func.apply(this,a)},b.exports=e},{"../tree/expression":59}],22:[function(a,b,c){function d(a){return{_data:{},add:function(a,b){a=a.toLowerCase(),this._data.hasOwnProperty(a),this._data[a]=b},addMultiple:function(a){Object.keys(a).forEach(function(b){this.add(b,a[b])}.bind(this))},get:function(b){return this._data[b]||a&&a.get(b)},inherit:function(){return d(this)}}}b.exports=d(null)},{}],23:[function(a,b,c){b.exports=function(b){var c={functionRegistry:a("./function-registry"),functionCaller:a("./function-caller")};return a("./default"),a("./color"),a("./color-blending"),a("./data-uri")(b),a("./math"),a("./number"),a("./string"),a("./svg")(b),a("./types"),c}},{"./color":18,"./color-blending":17,"./data-uri":19,"./default":20,"./function-caller":21,"./function-registry":22,"./math":25,"./number":26,"./string":27,"./svg":28,"./types":29}],24:[function(a,b,c){var d=a("../tree/dimension"),e=function(){};e._math=function(a,b,c){if(!(c instanceof d))throw{type:"Argument",message:"argument must be a number"};return null==b?b=c.unit:c=c.unify(),new d(a(parseFloat(c.value)),b)},b.exports=e},{"../tree/dimension":56}],25:[function(a,b,c){var d=a("./function-registry"),e=a("./math-helper.js"),f={ceil:null,floor:null,sqrt:null,abs:null,tan:"",sin:"",cos:"",atan:"rad",asin:"rad",acos:"rad"};for(var g in f)f.hasOwnProperty(g)&&(f[g]=e._math.bind(null,Math[g],f[g]));f.round=function(a,b){var c="undefined"==typeof b?0:b.value;return e._math(function(a){return a.toFixed(c)},null,a)},d.addMultiple(f)},{"./function-registry":22,"./math-helper.js":24}],26:[function(a,b,c){var d=a("../tree/dimension"),e=a("../tree/anonymous"),f=a("./function-registry"),g=a("./math-helper.js"),h=function(a,b){switch(b=Array.prototype.slice.call(b),b.length){case 0:throw{type:"Argument",message:"one or more arguments required"}}var c,f,g,h,i,j,k,l,m=[],n={};for(c=0;ci.value)&&(m[f]=g);else{if(void 0!==k&&j!==k)throw{type:"Argument",message:"incompatible types"};n[j]=m.length,m.push(g)}else Array.isArray(b[c].value)&&Array.prototype.push.apply(b,Array.prototype.slice.call(b[c].value));return 1==m.length?m[0]:(b=m.map(function(a){return a.toCSS(this.context)}).join(this.context.compress?",":", "),new e((a?"min":"max")+"("+b+")"))};f.addMultiple({min:function(){return h(!0,arguments)},max:function(){return h(!1,arguments)},convert:function(a,b){return a.convertTo(b.value)},pi:function(){return new d(Math.PI)},mod:function(a,b){return new d(a.value%b.value,a.unit)},pow:function(a,b){if("number"==typeof a&&"number"==typeof b)a=new d(a),b=new d(b);else if(!(a instanceof d&&b instanceof d))throw{type:"Argument",message:"arguments must be numbers"};return new d(Math.pow(a.value,b.value),a.unit)},percentage:function(a){var b=g._math(function(a){return 100*a},"%",a);return b}})},{"../tree/anonymous":46,"../tree/dimension":56,"./function-registry":22,"./math-helper.js":24}],27:[function(a,b,c){var d=a("../tree/quoted"),e=a("../tree/anonymous"),f=a("../tree/javascript"),g=a("./function-registry");g.addMultiple({e:function(a){return new e(a instanceof f?a.evaluated:a.value)},escape:function(a){return new e(encodeURI(a.value).replace(/=/g,"%3D").replace(/:/g,"%3A").replace(/#/g,"%23").replace(/;/g,"%3B").replace(/\(/g,"%28").replace(/\)/g,"%29"))},replace:function(a,b,c,e){var f=a.value;return c="Quoted"===c.type?c.value:c.toCSS(),f=f.replace(new RegExp(b.value,e?e.value:""),c),new d(a.quote||"",f,a.escaped)},"%":function(a){for(var b=Array.prototype.slice.call(arguments,1),c=a.value,e=0;e",k=0;k";return j+="',j=encodeURIComponent(j),j="data:image/svg+xml,"+j,new g(new f("'"+j+"'",j,(!1),this.index,this.currentFileInfo),this.index,this.currentFileInfo)})}},{"../tree/color":50,"../tree/dimension":56,"../tree/expression":59,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],29:[function(a,b,c){var d=a("../tree/keyword"),e=a("../tree/detached-ruleset"),f=a("../tree/dimension"),g=a("../tree/color"),h=a("../tree/quoted"),i=a("../tree/anonymous"),j=a("../tree/url"),k=a("../tree/operation"),l=a("./function-registry"),m=function(a,b){return a instanceof b?d.True:d.False},n=function(a,b){if(void 0===b)throw{type:"Argument",message:"missing the required second argument to isunit."};if(b="string"==typeof b.value?b.value:b,"string"!=typeof b)throw{type:"Argument",message:"Second argument to isunit should be a unit or a string."};return a instanceof f&&a.unit.is(b)?d.True:d.False},o=function(a){var b=Array.isArray(a.value)?a.value:Array(a);return b};l.addMultiple({isruleset:function(a){return m(a,e)},iscolor:function(a){return m(a,g)},isnumber:function(a){return m(a,f)},isstring:function(a){return m(a,h)},iskeyword:function(a){return m(a,d)},isurl:function(a){return m(a,j)},ispixel:function(a){return n(a,"px")},ispercentage:function(a){return n(a,"%")},isem:function(a){return n(a,"em")},isunit:n,unit:function(a,b){if(!(a instanceof f))throw{type:"Argument",message:"the first argument to unit must be a number"+(a instanceof k?". Have you forgotten parenthesis?":"")};return b=b?b instanceof d?b.value:b.toCSS():"",new f(a.value,b)},"get-unit":function(a){return new i(a.unit)},extract:function(a,b){return b=b.value-1,o(a)[b]},length:function(a){return new f(o(a).length)}})},{"../tree/anonymous":46,"../tree/color":50,"../tree/detached-ruleset":55,"../tree/dimension":56,"../tree/keyword":65,"../tree/operation":71,"../tree/quoted":73,"../tree/url":80,"./function-registry":22}],30:[function(a,b,c){var d=a("./contexts"),e=a("./parser/parser"),f=a("./plugins/function-importer");b.exports=function(a){var b=function(a,b){this.rootFilename=b.filename,this.paths=a.paths||[],this.contents={},this.contentsIgnoredChars={},this.mime=a.mime,this.error=null,this.context=a,this.queue=[],this.files={}};return b.prototype.push=function(b,c,g,h,i){var j=this;this.queue.push(b);var k=function(a,c,d){j.queue.splice(j.queue.indexOf(b),1);var e=d===j.rootFilename;h.optional&&a?i(null,{rules:[]},!1,null):(j.files[d]=c,a&&!j.error&&(j.error=a),i(a,c,e,d))},l={relativeUrls:this.context.relativeUrls,entryPath:g.entryPath,rootpath:g.rootpath,rootFilename:g.rootFilename},m=a.getFileManager(b,g.currentDirectory,this.context,a);if(!m)return void k({message:"Could not find a file-manager for "+b});c&&(b=m.tryAppendExtension(b,h.plugin?".js":".less"));var n=function(a){var b=a.filename,c=a.contents.replace(/^\uFEFF/,"");l.currentDirectory=m.getPath(b),l.relativeUrls&&(l.rootpath=m.join(j.context.rootpath||"",m.pathDiff(l.currentDirectory,l.entryPath)),!m.isPathAbsolute(l.rootpath)&&m.alwaysMakePathsAbsolute()&&(l.rootpath=m.join(l.entryPath,l.rootpath))),l.filename=b;var i=new d.Parse(j.context);i.processImports=!1,j.contents[b]=c,(g.reference||h.reference)&&(l.reference=!0),h.plugin?new f(i,l).eval(c,function(a,c){k(a,c,b)}):h.inline?k(null,c,b):new e(i,j,l).parse(c,function(a,c){k(a,c,b)})},o=m.loadFile(b,g.currentDirectory,this.context,a,function(a,b){a?k(a):n(b)});o&&o.then(n,k)},b}},{"./contexts":11,"./parser/parser":38,"./plugins/function-importer":40}],31:[function(a,b,c){b.exports=function(b,c){var d,e,f,g,h,i={version:[2,7,2],data:a("./data"),tree:a("./tree"),Environment:h=a("./environment/environment"),AbstractFileManager:a("./environment/abstract-file-manager"),environment:b=new h(b,c),visitors:a("./visitors"),Parser:a("./parser/parser"),functions:a("./functions")(b),contexts:a("./contexts"),SourceMapOutput:d=a("./source-map-output")(b),SourceMapBuilder:e=a("./source-map-builder")(d,b),ParseTree:f=a("./parse-tree")(e),ImportManager:g=a("./import-manager")(b),render:a("./render")(b,f,g),parse:a("./parse")(b,f,g),LessError:a("./less-error"),transformTree:a("./transform-tree"),utils:a("./utils"),PluginManager:a("./plugin-manager"),logger:a("./logger")};return i}},{"./contexts":11,"./data":13,"./environment/abstract-file-manager":15,"./environment/environment":16,"./functions":23,"./import-manager":30,"./less-error":32,"./logger":33,"./parse":35,"./parse-tree":34,"./parser/parser":38,"./plugin-manager":39,"./render":41,"./source-map-builder":42,"./source-map-output":43,"./transform-tree":44,"./tree":62,"./utils":83,"./visitors":87}],32:[function(a,b,c){var d=a("./utils"),e=b.exports=function(a,b,c){Error.call(this);var e=a.filename||c;if(b&&e){var f=b.contents[e],g=d.getLocation(a.index,f),h=g.line,i=g.column,j=a.call&&d.getLocation(a.call,f).line,k=f.split("\n");this.type=a.type||"Syntax",this.filename=e,this.index=a.index,this.line="number"==typeof h?h+1:null,this.callLine=j+1,this.callExtract=k[j],this.column=i,this.extract=[k[h-1],k[h],k[h+1]]}this.message=a.message,this.stack=a.stack};if("undefined"==typeof Object.create){var f=function(){};f.prototype=Error.prototype,e.prototype=new f}else e.prototype=Object.create(Error.prototype);e.prototype.constructor=e},{"./utils":83}],33:[function(a,b,c){b.exports={error:function(a){this._fireEvent("error",a)},warn:function(a){this._fireEvent("warn",a)},info:function(a){this._fireEvent("info",a)},debug:function(a){this._fireEvent("debug",a)},addListener:function(a){this._listeners.push(a)},removeListener:function(a){for(var b=0;b=97&&j<=122||j<34))switch(j){case 40:o++,e=h;continue;case 41:if(--o<0)return b("missing opening `(`",h);continue;case 59:o||c();continue;case 123:n++,d=h;continue;case 125:if(--n<0)return b("missing opening `{`",h);n||o||c();continue;case 92:if(h96)){if(k==j){l=1;break}if(92==k){if(h==m-1)return b("unescaped `\\`",h);h++}}if(l)continue;return b("unmatched `"+String.fromCharCode(j)+"`",i);case 47:if(o||h==m-1)continue;if(k=a.charCodeAt(h+1),47==k)for(h+=2;hd&&g>f?b("missing closing `}` or `*/`",d):b("missing closing `}`",d):0!==o?b("missing closing `)`",e):(c(!0),p)}},{}],37:[function(a,b,c){var d=a("./chunker");b.exports=function(){function a(d){for(var e,f,j,p=k.i,q=c,s=k.i-i,t=k.i+h.length-s,u=k.i+=d,v=b;k.i=0){j={index:k.i,text:v.substr(k.i,x+2-k.i),isLineComment:!1},k.i+=j.text.length-1,k.commentStore.push(j);continue}}break}if(e!==l&&e!==n&&e!==m&&e!==o)break}if(h=h.slice(d+k.i-u+s),i=k.i,!h.length){if(ce||k.i===e&&a&&!f)&&(e=k.i,f=a);var b=j.pop();h=b.current,i=k.i=b.i,c=b.j},k.forget=function(){j.pop()},k.isWhitespace=function(a){var c=k.i+(a||0),d=b.charCodeAt(c);return d===l||d===o||d===m||d===n},k.$re=function(b){k.i>i&&(h=h.slice(k.i-i),i=k.i);var c=b.exec(h);return c?(a(c[0].length),"string"==typeof c?c:1===c.length?c[0]:c):null},k.$char=function(c){return b.charAt(k.i)!==c?null:(a(1),c)},k.$str=function(c){for(var d=c.length,e=0;es||a=b.length;return k.i=b.length-1,furthestChar:b[k.i]}},k}},{"./chunker":36}],38:[function(a,b,c){var d=a("../less-error"),e=a("../tree"),f=a("../visitors"),g=a("./parser-input"),h=a("../utils"),i=function j(a,b,c){function i(a,e){throw new d({index:o.i,filename:c.filename,type:e||"Syntax",message:a},b)}function k(a,b,c){var d=a instanceof Function?a.call(n):o.$re(a);return d?d:void i(b||("string"==typeof a?"expected '"+a+"' got '"+o.currentChar()+"'":"unexpected token"))}function l(a,b){return o.$char(a)?a:void i(b||"expected '"+a+"' got '"+o.currentChar()+"'")}function m(a){var b=c.filename;return{lineNumber:h.getLocation(a,o.getInput()).line+1,fileName:b}}var n,o=g();return{parse:function(g,h,i){var k,l,m,n,p=null,q="";if(l=i&&i.globalVars?j.serializeVars(i.globalVars)+"\n":"",m=i&&i.modifyVars?"\n"+j.serializeVars(i.modifyVars):"",a.pluginManager)for(var r=a.pluginManager.getPreProcessors(),s=0;s1&&(b=new e.Value(g)),d.push(b),g=[])}return o.forget(),a?d:f},literal:function(){return this.dimension()||this.color()||this.quoted()||this.unicodeDescriptor()},assignment:function(){var a,b;return o.save(),(a=o.$re(/^\w+(?=\s?=)/i))&&o.$char("=")&&(b=n.entity())?(o.forget(),new e.Assignment(a,b)):void o.restore()},url:function(){var a,b=o.i;return o.autoCommentAbsorb=!1,o.$str("url(")?(a=this.quoted()||this.variable()||o.$re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/)||"",o.autoCommentAbsorb=!0,l(")"),new e.URL(null!=a.value||a instanceof e.Variable?a:new e.Anonymous(a),b,c)):void(o.autoCommentAbsorb=!0)},variable:function(){var a,b=o.i;if("@"===o.currentChar()&&(a=o.$re(/^@@?[\w-]+/)))return new e.Variable(a,b,c)},variableCurly:function(){var a,b=o.i;if("@"===o.currentChar()&&(a=o.$re(/^@\{([\w-]+)\}/)))return new e.Variable("@"+a[1],b,c)},color:function(){var a;if("#"===o.currentChar()&&(a=o.$re(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/))){var b=a.input.match(/^#([\w]+).*/);return b=b[1],b.match(/^[A-Fa-f0-9]+$/)||i("Invalid HEX color code"),new e.Color(a[1],(void 0),"#"+b)}},colorKeyword:function(){o.save();var a=o.autoCommentAbsorb;o.autoCommentAbsorb=!1;var b=o.$re(/^[_A-Za-z-][_A-Za-z0-9-]+/);if(o.autoCommentAbsorb=a,!b)return void o.forget();o.restore();var c=e.Color.fromKeyword(b);return c?(o.$str(b),c):void 0},dimension:function(){if(!o.peekNotNumeric()){var a=o.$re(/^([+-]?\d*\.?\d+)(%|[a-z_]+)?/i);return a?new e.Dimension(a[1],a[2]):void 0}},unicodeDescriptor:function(){var a;if(a=o.$re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/))return new e.UnicodeDescriptor(a[0])},javascript:function(){var a,b=o.i;o.save();var d=o.$char("~"),f=o.$char("`");return f?(a=o.$re(/^[^`]*`/))?(o.forget(),new e.JavaScript(a.substr(0,a.length-1),Boolean(d),b,c)):void o.restore("invalid javascript definition"):void o.restore()}},variable:function(){var a;if("@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\s*:/)))return a[1]},rulesetCall:function(){var a;if("@"===o.currentChar()&&(a=o.$re(/^(@[\w-]+)\(\s*\)\s*;/)))return new e.RulesetCall(a[1])},extend:function(a){var b,d,f,g,h,j=o.i;if(o.$str(a?"&:extend(":":extend(")){do{for(f=null,b=null;!(f=o.$re(/^(all)(?=\s*(\)|,))/))&&(d=this.element());)b?b.push(d):b=[d];f=f&&f[1],b||i("Missing target selector for :extend()."),h=new e.Extend(new e.Selector(b),f,j,c),g?g.push(h):g=[h]}while(o.$char(","));return k(/^\)/),a&&k(/^;/),g}},extendRule:function(){return this.extend(!0)},mixin:{call:function(){var a,b,d,f,g,h,i=o.currentChar(),j=!1,k=o.i;if("."===i||"#"===i){for(o.save();;){if(a=o.i,f=o.$re(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/),!f)break;d=new e.Element(g,f,a,c),b?b.push(d):b=[d],g=o.$char(">")}return b&&(o.$char("(")&&(h=this.args(!0).args,l(")")),n.important()&&(j=!0),n.end())?(o.forget(),new e.mixin.Call(b,h,k,c,j)):void o.restore()}},args:function(a){var b,c,d,f,g,h,j,k=n.entities,l={args:null,variadic:!1},m=[],p=[],q=[];for(o.save();;){if(a)h=n.detachedRuleset()||n.expression();else{if(o.commentStore.length=0,o.$str("...")){l.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({variadic:!0});break}h=k.variable()||k.literal()||k.keyword()}if(!h)break;f=null,h.throwAwayComments&&h.throwAwayComments(),g=h;var r=null;if(a?h.value&&1==h.value.length&&(r=h.value[0]):r=h,r&&r instanceof e.Variable)if(o.$char(":")){if(m.length>0&&(b&&i("Cannot mix ; and , as delimiter types"),c=!0),g=n.detachedRuleset()||n.expression(),!g){if(!a)return o.restore(),l.args=[],l;i("could not understand value for named argument")}f=d=r.name}else if(o.$str("...")){if(!a){l.variadic=!0,o.$char(";")&&!b&&(b=!0),(b?p:q).push({name:h.name,variadic:!0});break}j=!0}else a||(d=f=r.name,g=null);g&&m.push(g),q.push({name:f,value:g,expand:j}),o.$char(",")||(o.$char(";")||b)&&(c&&i("Cannot mix ; and , as delimiter types"),b=!0,m.length>1&&(g=new e.Value(m)),p.push({name:d,value:g,expand:j}),d=null,m=[],c=!1)}return o.forget(),l.args=b?p:q,l},definition:function(){var a,b,c,d,f=[],g=!1;if(!("."!==o.currentChar()&&"#"!==o.currentChar()||o.peek(/^[^{]*\}/)))if(o.save(),b=o.$re(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)){a=b[1];var h=this.args(!1);if(f=h.args,g=h.variadic,!o.$char(")"))return void o.restore("Missing closing ')'");if(o.commentStore.length=0,o.$str("when")&&(d=k(n.conditions,"expected condition")),c=n.block())return o.forget(),new e.mixin.Definition(a,f,c,d,g);o.restore()}else o.forget()}},entity:function(){var a=this.entities;return this.comment()||a.literal()||a.variable()||a.url()||a.call()||a.keyword()||a.javascript()},end:function(){return o.$char(";")||o.peek("}")},alpha:function(){var a;if(o.$re(/^opacity=/i))return a=o.$re(/^\d+/),a||(a=k(this.entities.variable,"Could not parse alpha")),l(")"),new e.Alpha(a)},element:function(){var a,b,d,f=o.i;if(b=this.combinator(),a=o.$re(/^(?:\d+\.\d+|\d+)%/)||o.$re(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)||o.$char("*")||o.$char("&")||this.attribute()||o.$re(/^\([^&()@]+\)/)||o.$re(/^[\.#:](?=@)/)||this.entities.variableCurly(),a||(o.save(),o.$char("(")?(d=this.selector())&&o.$char(")")?(a=new e.Paren(d),o.forget()):o.restore("Missing closing ')'"):o.forget()),a)return new e.Element(b,a,f,c)},combinator:function(){var a=o.currentChar();if("/"===a){o.save();var b=o.$re(/^\/[a-z]+\//i);if(b)return o.forget(),new e.Combinator(b);o.restore()}if(">"===a||"+"===a||"~"===a||"|"===a||"^"===a){for(o.i++,"^"===a&&"^"===o.currentChar()&&(a="^^",o.i++);o.isWhitespace();)o.i++;return new e.Combinator(a)}return new e.Combinator(o.isWhitespace(-1)?" ":null)},lessSelector:function(){return this.selector(!0)},selector:function(a){for(var b,d,f,g,h,j,l,m=o.i;(a&&(d=this.extend())||a&&(j=o.$str("when"))||(g=this.element()))&&(j?l=k(this.conditions,"expected condition"):l?i("CSS guard can only be used at the end of selector"):d?h=h?h.concat(d):d:(h&&i("Extend can only be used at the end of selector"),f=o.currentChar(),b?b.push(g):b=[g],g=null),"{"!==f&&"}"!==f&&";"!==f&&","!==f&&")"!==f););return b?new e.Selector(b,h,l,m,c):void(h&&i("Extend must be used to extend a selector, it cannot be used on its own"))},attribute:function(){if(o.$char("[")){var a,b,c,d=this.entities;return(a=d.variableCurly())||(a=k(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)),c=o.$re(/^[|~*$^]?=/),c&&(b=d.quoted()||o.$re(/^[0-9]+%/)||o.$re(/^[\w-]+/)||d.variableCurly()),l("]"),new e.Attribute(a,c,b)}},block:function(){var a;if(o.$char("{")&&(a=this.primary())&&o.$char("}"))return a},blockRuleset:function(){var a=this.block();return a&&(a=new e.Ruleset(null,a)),a},detachedRuleset:function(){var a=this.blockRuleset();if(a)return new e.DetachedRuleset(a)},ruleset:function(){var b,c,d,f;for(o.save(),a.dumpLineNumbers&&(f=m(o.i));;){if(c=this.lessSelector(),!c)break;if(b?b.push(c):b=[c],o.commentStore.length=0,c.condition&&b.length>1&&i("Guards are only currently allowed on a single selector."),!o.$char(","))break;c.condition&&i("Guards are only currently allowed on a single selector."),o.commentStore.length=0}if(b&&(d=this.block())){o.forget();var g=new e.Ruleset(b,d,a.strictImports);return a.dumpLineNumbers&&(g.debugInfo=f),g}o.restore()},rule:function(b){var d,f,g,h,i,j=o.i,k=o.currentChar();if("."!==k&&"#"!==k&&"&"!==k&&":"!==k)if(o.save(),d=this.variable()||this.ruleProperty()){if(i="string"==typeof d,i&&(f=this.detachedRuleset()),o.commentStore.length=0,!f){h=!i&&d.length>1&&d.pop().value;var l=!b&&(a.compress||i);if(l&&(f=this.value()),!f&&(f=this.anonymousValue()))return o.forget(),new e.Rule(d,f,(!1),h,j,c);l||f||(f=this.value()),g=this.important()}if(f&&this.end())return o.forget(),new e.Rule(d,f,g,h,j,c);if(o.restore(),f&&!b)return this.rule(!0)}else o.forget()},anonymousValue:function(){var a=o.$re(/^([^@+\/'"*`(;{}-]*);/);if(a)return new e.Anonymous(a[1])},"import":function(){var a,b,d=o.i,f=o.$re(/^@import?\s+/);if(f){var g=(f?this.importOptions():null)||{};if(a=this.entities.quoted()||this.entities.url())return b=this.mediaFeatures(),o.$char(";")||(o.i=d,i("missing semi-colon or unrecognised media features on import")),b=b&&new e.Value(b),new e.Import(a,b,g,d,c);o.i=d,i("malformed import statement")}},importOptions:function(){var a,b,c,d={};if(!o.$char("("))return null;do if(a=this.importOption()){switch(b=a,c=!0,b){case"css":b="less",c=!1;break;case"once":b="multiple",c=!1}if(d[b]=c,!o.$char(","))break}while(a);return l(")"),d},importOption:function(){var a=o.$re(/^(less|css|multiple|once|inline|reference|optional)/);if(a)return a[1]},mediaFeature:function(){var a,b,d=this.entities,f=[];o.save();do a=d.keyword()||d.variable(),a?f.push(a):o.$char("(")&&(b=this.property(),a=this.value(),o.$char(")")?b&&a?f.push(new e.Paren(new e.Rule(b,a,null,null,o.i,c,(!0)))):a?f.push(new e.Paren(a)):i("badly formed media feature definition"):i("Missing closing ')'","Parse"));while(a);if(o.forget(),f.length>0)return new e.Expression(f)},mediaFeatures:function(){var a,b=this.entities,c=[];do if(a=this.mediaFeature()){if(c.push(a),!o.$char(","))break}else if(a=b.variable(),a&&(c.push(a),!o.$char(",")))break;while(a);return c.length>0?c:null},media:function(){var b,d,f,g,h=o.i;return a.dumpLineNumbers&&(g=m(h)),o.save(),o.$str("@media")?(b=this.mediaFeatures(),d=this.block(),d||i("media definitions require block statements after any features"),o.forget(),f=new e.Media(d,b,h,c),a.dumpLineNumbers&&(f.debugInfo=g),f):void o.restore()},plugin:function(){var a,b=o.i,d=o.$re(/^@plugin?\s+/);if(d){var f={plugin:!0};if(a=this.entities.quoted()||this.entities.url())return o.$char(";")||(o.i=b,i("missing semi-colon on plugin")),new e.Import(a,null,f,b,c);o.i=b,i("malformed plugin statement")}},directive:function(){var b,d,f,g,h,j,k,l=o.i,n=!0,p=!0;if("@"===o.currentChar()){if(d=this["import"]()||this.plugin()||this.media())return d;if(o.save(),b=o.$re(/^@[a-z-]+/)){switch(g=b,"-"==b.charAt(1)&&b.indexOf("-",2)>0&&(g="@"+b.slice(b.indexOf("-",2)+1)),g){case"@charset":h=!0,n=!1;break;case"@namespace":j=!0,n=!1;break;case"@keyframes":case"@counter-style":h=!0;break;case"@document":case"@supports":k=!0,p=!1;break;default:k=!0}return o.commentStore.length=0,h?(d=this.entity(),d||i("expected "+b+" identifier")):j?(d=this.expression(),d||i("expected "+b+" expression")):k&&(d=(o.$re(/^[^{;]+/)||"").trim(),n="{"==o.currentChar(),d&&(d=new e.Anonymous(d))),n&&(f=this.blockRuleset()),f||!n&&d&&o.$char(";")?(o.forget(),new e.Directive(b,d,f,l,c,a.dumpLineNumbers?m(l):null,p)):void o.restore("directive options not recognised")}}},value:function(){var a,b=[];do if(a=this.expression(),a&&(b.push(a),!o.$char(",")))break;while(a);if(b.length>0)return new e.Value(b)},important:function(){if("!"===o.currentChar())return o.$re(/^! *important/)},sub:function(){var a,b;return o.save(),o.$char("(")?(a=this.addition(),a&&o.$char(")")?(o.forget(),b=new e.Expression([a]),b.parens=!0,b):void o.restore("Expected ')'")):void o.restore()},multiplication:function(){var a,b,c,d,f;if(a=this.operand()){for(f=o.isWhitespace(-1);;){if(o.peek(/^\/[*\/]/))break;if(o.save(),c=o.$char("/")||o.$char("*"),!c){o.forget();break}if(b=this.operand(),!b){o.restore();break}o.forget(),a.parensInOp=!0,b.parensInOp=!0,d=new e.Operation(c,[d||a,b],f),f=o.isWhitespace(-1)}return d||a}},addition:function(){var a,b,c,d,f;if(a=this.multiplication()){for(f=o.isWhitespace(-1);;){if(c=o.$re(/^[-+]\s+/)||!f&&(o.$char("+")||o.$char("-")),!c)break;if(b=this.multiplication(),!b)break;a.parensInOp=!0,b.parensInOp=!0,d=new e.Operation(c,[d||a,b],f),f=o.isWhitespace(-1)}return d||a}},conditions:function(){var a,b,c,d=o.i;if(a=this.condition()){for(;;){if(!o.peek(/^,\s*(not\s*)?\(/)||!o.$char(","))break;if(b=this.condition(),!b)break;c=new e.Condition("or",c||a,b,d)}return c||a}},condition:function(){function a(){return o.$str("or")}var b,c,d;if(b=this.conditionAnd(this)){if(c=a()){if(d=this.condition(),!d)return;b=new e.Condition(c,b,d)}return b}},conditionAnd:function(){function a(a){return a.negatedCondition()||a.parenthesisCondition()}function b(){return o.$str("and")}var c,d,f;if(c=a(this)){if(d=b()){if(f=this.conditionAnd(),!f)return;c=new e.Condition(d,c,f)}return c}},negatedCondition:function(){if(o.$str("not")){var a=this.parenthesisCondition();return a&&(a.negate=!a.negate),a}},parenthesisCondition:function(){function a(a){var b;return o.save(),(b=a.condition())&&o.$char(")")?(o.forget(),b):void o.restore()}var b;return o.save(),o.$str("(")?(b=a(this))?(o.forget(),b):(b=this.atomicCondition())?o.$char(")")?(o.forget(),b):void o.restore("expected ')' got '"+o.currentChar()+"'"):void o.restore():void o.restore()},atomicCondition:function(){var a,b,c,d,f=this.entities,g=o.i;if(a=this.addition()||f.keyword()||f.quoted())return o.$char(">")?d=o.$char("=")?">=":">":o.$char("<")?d=o.$char("=")?"<=":"<":o.$char("=")&&(d=o.$char(">")?"=>":o.$char("<")?"=<":"="),d?(b=this.addition()||f.keyword()||f.quoted(),b?c=new e.Condition(d,a,b,g,(!1)):i("expected expression")):c=new e.Condition("=",a,new e.Keyword("true"),g,(!1)),c},operand:function(){var a,b=this.entities;o.peek(/^-[@\(]/)&&(a=o.$char("-"));var c=this.sub()||b.dimension()||b.color()||b.variable()||b.call()||b.colorKeyword();return a&&(c.parensInOp=!0,c=new e.Negative(c)),c},expression:function(){var a,b,c=[];do a=this.comment(),a?c.push(a):(a=this.addition()||this.entity(),a&&(c.push(a),o.peek(/^\/[\/*]/)||(b=o.$char("/"),b&&c.push(new e.Anonymous(b)))));while(a);if(c.length>0)return new e.Expression(c)},property:function(){var a=o.$re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/);if(a)return a[1]},ruleProperty:function(){function a(a){var b=o.i,c=o.$re(a);if(c)return g.push(b),f.push(c[1])}var b,d,f=[],g=[];o.save();var h=o.$re(/^([_a-zA-Z0-9-]+)\s*:/);if(h)return f=[new e.Keyword(h[1])],o.forget(),f;for(a(/^(\*?)/);;)if(!a(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/))break;if(f.length>1&&a(/^((?:\+_|\+)?)\s*:/)){for(o.forget(),""===f[0]&&(f.shift(),g.shift()),d=0;d=b);c++);this.preProcessors.splice(c,0,{preProcessor:a,priority:b})},d.prototype.addPostProcessor=function(a,b){var c;for(c=0;c=b);c++);this.postProcessors.splice(c,0,{postProcessor:a,priority:b})},d.prototype.addFileManager=function(a){this.fileManagers.push(a)},d.prototype.getPreProcessors=function(){for(var a=[],b=0;b0){var d,e=JSON.stringify(this._sourceMapGenerator.toJSON());this.sourceMapURL?d=this.sourceMapURL:this._sourceMapFilename&&(d=this._sourceMapFilename),this.sourceMapURL=d,this.sourceMap=e}return this._css.join("")},b}},{}],44:[function(a,b,c){var d=a("./contexts"),e=a("./visitors"),f=a("./tree");b.exports=function(a,b){b=b||{};var c,g=b.variables,h=new d.Eval(b);"object"!=typeof g||Array.isArray(g)||(g=Object.keys(g).map(function(a){var b=g[a];return b instanceof f.Value||(b instanceof f.Expression||(b=new f.Expression([b])),b=new f.Value([b])),new f.Rule("@"+a,b,(!1),null,0)}),h.frames=[new f.Ruleset(null,g)]);var i,j=[],k=[new e.JoinSelectorVisitor,new e.MarkVisibleSelectorsVisitor((!0)),new e.ExtendVisitor,new e.ToCSSVisitor({compress:Boolean(b.compress)})];if(b.pluginManager){var l=b.pluginManager.getVisitors();for(i=0;i.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(d="===a||"=<"===a||"<="===a;case 1:return">"===a||">="===a;default:return!1}}}(this.op,this.lvalue.eval(a),this.rvalue.eval(a));return this.negate?!b:b},b.exports=e},{"./node":70}],54:[function(a,b,c){var d=function(a,b,c){var e="";if(a.dumpLineNumbers&&!a.compress)switch(a.dumpLineNumbers){case"comments":e=d.asComment(b);break;case"mediaquery":e=d.asMediaQuery(b);break;case"all":e=d.asComment(b)+(c||"")+d.asMediaQuery(b)}return e};d.asComment=function(a){return"/* line "+a.debugInfo.lineNumber+", "+a.debugInfo.fileName+" */\n"},d.asMediaQuery=function(a){var b=a.debugInfo.fileName;return/^[a-z]+:\/\//i.test(b)||(b="file://"+b),"@media -sass-debug-info{filename{font-family:"+b.replace(/([.:\/\\])/g,function(a){return"\\"==a&&(a="/"),"\\"+a})+"}line{font-family:\\00003"+a.debugInfo.lineNumber+"}}\n"},b.exports=d},{}],55:[function(a,b,c){var d=a("./node"),e=a("../contexts"),f=function(a,b){this.ruleset=a,this.frames=b};f.prototype=new d,f.prototype.type="DetachedRuleset",f.prototype.evalFirst=!0,f.prototype.accept=function(a){this.ruleset=a.visit(this.ruleset)},f.prototype.eval=function(a){var b=this.frames||a.frames.slice(0);return new f(this.ruleset,b)},f.prototype.callEval=function(a){return this.ruleset.eval(this.frames?new e.Eval(a,this.frames.concat(a.frames)):a)},b.exports=f},{"../contexts":11,"./node":70}],56:[function(a,b,c){var d=a("./node"),e=a("../data/unit-conversions"),f=a("./unit"),g=a("./color"),h=function(a,b){this.value=parseFloat(a),this.unit=b&&b instanceof f?b:new f(b?[b]:void 0)};h.prototype=new d,h.prototype.type="Dimension",h.prototype.accept=function(a){this.unit=a.visit(this.unit)},h.prototype.eval=function(a){return this},h.prototype.toColor=function(){return new g([this.value,this.value,this.value])},h.prototype.genCSS=function(a,b){if(a&&a.strictUnits&&!this.unit.isSingular())throw new Error("Multiple units in dimension. Correct the units or use the unit function. Bad unit: "+this.unit.toString());var c=this.fround(a,this.value),d=String(c);if(0!==c&&c<1e-6&&c>-1e-6&&(d=c.toFixed(20).replace(/0+$/,"")),a&&a.compress){if(0===c&&this.unit.isLength())return void b.add(d);c>0&&c<1&&(d=d.substr(1))}b.add(d),this.unit.genCSS(a,b)},h.prototype.operate=function(a,b,c){var d=this._operate(a,b,this.value,c.value),e=this.unit.clone();if("+"===b||"-"===b)if(0===e.numerator.length&&0===e.denominator.length)e=c.unit.clone(),this.unit.backupUnit&&(e.backupUnit=this.unit.backupUnit);else if(0===c.unit.numerator.length&&0===e.denominator.length);else{if(c=c.convertTo(this.unit.usedUnits()),a.strictUnits&&c.unit.toString()!==e.toString())throw new Error("Incompatible units. Change the units or use the unit function. Bad units: '"+e.toString()+"' and '"+c.unit.toString()+"'.");d=this._operate(a,b,this.value,c.value)}else"*"===b?(e.numerator=e.numerator.concat(c.unit.numerator).sort(),e.denominator=e.denominator.concat(c.unit.denominator).sort(),e.cancel()):"/"===b&&(e.numerator=e.numerator.concat(c.unit.denominator).sort(),e.denominator=e.denominator.concat(c.unit.numerator).sort(),e.cancel());return new h(d,e)},h.prototype.compare=function(a){var b,c;if(a instanceof h){if(this.unit.isEmpty()||a.unit.isEmpty())b=this,c=a;else if(b=this.unify(),c=a.unify(),0!==b.unit.compare(c.unit))return;return d.numericCompare(b.value,c.value)}},h.prototype.unify=function(){return this.convertTo({length:"px",duration:"s",angle:"rad"})},h.prototype.convertTo=function(a){var b,c,d,f,g,i=this.value,j=this.unit.clone(),k={};if("string"==typeof a){for(b in e)e[b].hasOwnProperty(a)&&(k={},k[b]=a);a=k}g=function(a,b){return d.hasOwnProperty(a)?(b?i/=d[a]/d[f]:i*=d[a]/d[f],f):a};for(c in a)a.hasOwnProperty(c)&&(f=a[c],d=e[c],j.map(g));return j.cancel(),new h(i,j)},b.exports=h},{"../data/unit-conversions":14,"./color":50,"./node":70,"./unit":79}],57:[function(a,b,c){var d=a("./node"),e=a("./selector"),f=a("./ruleset"),g=function(a,b,c,d,f,g,h,i){var j;if(this.name=a,this.value=b,c)for(Array.isArray(c)?this.rules=c:(this.rules=[c],this.rules[0].selectors=new e([],null,null,this.index,f).createEmptySelectors()),j=0;j1?b=new g(this.value.map(function(b){return b.eval(a)})):1===this.value.length?(this.value[0].parens&&!this.value[0].parensInOp&&(d=!0),b=this.value[0].eval(a)):b=this,c&&a.outOfParenthesis(),this.parens&&this.parensInOp&&!a.isMathOn()&&!d&&(b=new e(b)),b},g.prototype.genCSS=function(a,b){for(var c=0;c0&&c.length&&""===c[0].combinator.value&&(c[0].combinator.value=" "),d=d.concat(a[b].elements);this.selfSelectors=[new e(d)],this.selfSelectors[0].copyVisibilityInfo(this.visibilityInfo())},b.exports=f},{"./node":70,"./selector":77}],61:[function(a,b,c){var d=a("./node"),e=a("./media"),f=a("./url"),g=a("./quoted"),h=a("./ruleset"),i=a("./anonymous"),j=function(a,b,c,d,e,f){if(this.options=c,this.index=d,this.path=a,this.features=b,this.currentFileInfo=e,this.allowRoot=!0,void 0!==this.options.less||this.options.inline)this.css=!this.options.less||this.options.inline;else{var g=this.getPath();g&&/[#\.\&\?\/]css([\?;].*)?$/.test(g)&&(this.css=!0)}this.copyVisibilityInfo(f)};j.prototype=new d,j.prototype.type="Import",j.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.path=a.visit(this.path),this.options.plugin||this.options.inline||!this.root||(this.root=a.visit(this.root))},j.prototype.genCSS=function(a,b){this.css&&void 0===this.path.currentFileInfo.reference&&(b.add("@import ",this.currentFileInfo,this.index),this.path.genCSS(a,b),this.features&&(b.add(" "),this.features.genCSS(a,b)),b.add(";"))},j.prototype.getPath=function(){return this.path instanceof f?this.path.value.value:this.path.value},j.prototype.isVariableImport=function(){var a=this.path;return a instanceof f&&(a=a.value),!(a instanceof g)||a.containsVariables()},j.prototype.evalForImport=function(a){var b=this.path;return b instanceof f&&(b=b.value),new j(b.eval(a),this.features,this.options,this.index,this.currentFileInfo,this.visibilityInfo())},j.prototype.evalPath=function(a){var b=this.path.eval(a),c=this.currentFileInfo&&this.currentFileInfo.rootpath;if(!(b instanceof f)){if(c){var d=b.value;d&&a.isPathRelative(d)&&(b.value=c+d)}b.value=a.normalizePath(b.value)}return b},j.prototype.eval=function(a){var b=this.doEval(a);return(this.options.reference||this.blocksVisibility())&&(b.length||0===b.length?b.forEach(function(a){a.addVisibilityBlock()}):b.addVisibilityBlock()),b},j.prototype.doEval=function(a){var b,c,d=this.features&&this.features.eval(a);if(this.options.plugin)return c=a.frames[0]&&a.frames[0].functionRegistry,c&&this.root&&this.root.functions&&c.addMultiple(this.root.functions),[];if(this.skip&&("function"==typeof this.skip&&(this.skip=this.skip()),this.skip))return[];if(this.options.inline){var f=new i(this.root,0,{filename:this.importedFilename,reference:this.path.currentFileInfo&&this.path.currentFileInfo.reference},(!0),(!0));return this.features?new e([f],this.features.value):[f]}if(this.css){var g=new j(this.evalPath(a),d,this.options,this.index);if(!g.css&&this.error)throw this.error;return g}return b=new h(null,this.root.rules.slice(0)),b.evalImports(a),this.features?new e(b.rules,this.features.value):b.rules},b.exports=j},{"./anonymous":46,"./media":66,"./node":70,"./quoted":73,"./ruleset":76,"./url":80}],62:[function(a,b,c){var d={};d.Node=a("./node"),d.Alpha=a("./alpha"),d.Color=a("./color"),d.Directive=a("./directive"),d.DetachedRuleset=a("./detached-ruleset"),d.Operation=a("./operation"),d.Dimension=a("./dimension"),d.Unit=a("./unit"),d.Keyword=a("./keyword"),d.Variable=a("./variable"),d.Ruleset=a("./ruleset"),d.Element=a("./element"),d.Attribute=a("./attribute"),d.Combinator=a("./combinator"),d.Selector=a("./selector"),d.Quoted=a("./quoted"),d.Expression=a("./expression"),d.Rule=a("./rule"),d.Call=a("./call"),d.URL=a("./url"),d.Import=a("./import"),d.mixin={Call:a("./mixin-call"),Definition:a("./mixin-definition")},d.Comment=a("./comment"),d.Anonymous=a("./anonymous"),d.Value=a("./value"),d.JavaScript=a("./javascript"),d.Assignment=a("./assignment"),d.Condition=a("./condition"),d.Paren=a("./paren"),d.Media=a("./media"),d.UnicodeDescriptor=a("./unicode-descriptor"),d.Negative=a("./negative"),d.Extend=a("./extend"),d.RulesetCall=a("./ruleset-call"),b.exports=d},{"./alpha":45,"./anonymous":46,"./assignment":47,"./attribute":48,"./call":49,"./color":50,"./combinator":51,"./comment":52,"./condition":53,"./detached-ruleset":55,"./dimension":56,"./directive":57,"./element":58,"./expression":59,"./extend":60,"./import":61,"./javascript":63,"./keyword":65,"./media":66,"./mixin-call":67,"./mixin-definition":68,"./negative":69,"./node":70,"./operation":71,"./paren":72,"./quoted":73,"./rule":74,"./ruleset":76,"./ruleset-call":75,"./selector":77,"./unicode-descriptor":78,"./unit":79,"./url":80,"./value":81,"./variable":82}],63:[function(a,b,c){var d=a("./js-eval-node"),e=a("./dimension"),f=a("./quoted"),g=a("./anonymous"),h=function(a,b,c,d){this.escaped=b,this.expression=a,this.index=c,this.currentFileInfo=d};h.prototype=new d,h.prototype.type="JavaScript",h.prototype.eval=function(a){var b=this.evaluateJavaScript(this.expression,a);return"number"==typeof b?new e(b):"string"==typeof b?new f('"'+b+'"',b,this.escaped,this.index):new g(Array.isArray(b)?b.join(", "):b)},b.exports=h},{"./anonymous":46,"./dimension":56,"./js-eval-node":64,"./quoted":73}],64:[function(a,b,c){var d=a("./node"),e=a("./variable"),f=function(){};f.prototype=new d,f.prototype.evaluateJavaScript=function(a,b){var c,d=this,f={};if(void 0!==b.javascriptEnabled&&!b.javascriptEnabled)throw{message:"You are using JavaScript, which has been disabled.",filename:this.currentFileInfo.filename,index:this.index};a=a.replace(/@\{([\w-]+)\}/g,function(a,c){return d.jsify(new e("@"+c,d.index,d.currentFileInfo).eval(b))});try{a=new Function("return ("+a+")")}catch(g){throw{message:"JavaScript evaluation error: "+g.message+" from `"+a+"`",filename:this.currentFileInfo.filename,index:this.index}}var h=b.frames[0].variables();for(var i in h)h.hasOwnProperty(i)&&(f[i.slice(1)]={value:h[i].value,toJS:function(){return this.value.eval(b).toCSS()}});try{c=a.call(f)}catch(g){throw{message:"JavaScript evaluation error: '"+g.name+": "+g.message.replace(/["]/g,"'")+"'",filename:this.currentFileInfo.filename,index:this.index}}return c},f.prototype.jsify=function(a){return Array.isArray(a.value)&&a.value.length>1?"["+a.value.map(function(a){return a.toCSS()}).join(", ")+"]":a.toCSS()},b.exports=f},{"./node":70,"./variable":82}],65:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="Keyword",e.prototype.genCSS=function(a,b){if("%"===this.value)throw{type:"Syntax",message:"Invalid % without number"};b.add(this.value)},e.True=new e("true"),e.False=new e("false"),b.exports=e},{"./node":70}],66:[function(a,b,c){var d=a("./ruleset"),e=a("./value"),f=a("./selector"),g=a("./anonymous"),h=a("./expression"),i=a("./directive"),j=function(a,b,c,g,h){this.index=c,this.currentFileInfo=g;var i=new f([],null,null,this.index,this.currentFileInfo).createEmptySelectors();this.features=new e(b),this.rules=[new d(i,a)],this.rules[0].allowImports=!0,this.copyVisibilityInfo(h),this.allowRoot=!0};j.prototype=new i,j.prototype.type="Media",j.prototype.isRulesetLike=!0,j.prototype.accept=function(a){this.features&&(this.features=a.visit(this.features)),this.rules&&(this.rules=a.visitArray(this.rules))},j.prototype.genCSS=function(a,b){b.add("@media ",this.currentFileInfo,this.index),this.features.genCSS(a,b),this.outputRuleset(a,b,this.rules)},j.prototype.eval=function(a){a.mediaBlocks||(a.mediaBlocks=[],a.mediaPath=[]);var b=new j(null,[],this.index,this.currentFileInfo,this.visibilityInfo());this.debugInfo&&(this.rules[0].debugInfo=this.debugInfo,b.debugInfo=this.debugInfo);var c=!1;a.strictMath||(c=!0,a.strictMath=!0);try{b.features=this.features.eval(a)}finally{c&&(a.strictMath=!1)}return a.mediaPath.push(b),a.mediaBlocks.push(b),this.rules[0].functionRegistry=a.frames[0].functionRegistry.inherit(),a.frames.unshift(this.rules[0]),b.rules=[this.rules[0].eval(a)],a.frames.shift(),a.mediaPath.pop(),0===a.mediaPath.length?b.evalTop(a):b.evalNested(a)},j.prototype.evalTop=function(a){var b=this;if(a.mediaBlocks.length>1){var c=new f([],null,null,this.index,this.currentFileInfo).createEmptySelectors();b=new d(c,a.mediaBlocks),b.multiMedia=!0,b.copyVisibilityInfo(this.visibilityInfo())}return delete a.mediaBlocks,delete a.mediaPath,b},j.prototype.evalNested=function(a){var b,c,f=a.mediaPath.concat([this]);for(b=0;b0;b--)a.splice(b,0,new g("and"));return new h(a)})),new d([],[])},j.prototype.permute=function(a){if(0===a.length)return[];if(1===a.length)return a[0];for(var b=[],c=this.permute(a.slice(1)),d=0;d0){for(n=!0,k=0;k0)p=B;else if(p=A,q[A]+q[B]>1)throw{type:"Runtime",message:"Ambiguous use of `default()` found when matching for `"+this.format(t)+"`",index:this.index,filename:this.currentFileInfo.filename};for(k=0;kthis.params.length)return!1}c=Math.min(f,this.arity);for(var g=0;gb?1:void 0},d.prototype.blocksVisibility=function(){return null==this.visibilityBlocks&&(this.visibilityBlocks=0),0!==this.visibilityBlocks},d.prototype.addVisibilityBlock=function(){null==this.visibilityBlocks&&(this.visibilityBlocks=0),this.visibilityBlocks=this.visibilityBlocks+1},d.prototype.removeVisibilityBlock=function(){null==this.visibilityBlocks&&(this.visibilityBlocks=0),this.visibilityBlocks=this.visibilityBlocks-1},d.prototype.ensureVisibility=function(){this.nodeVisible=!0},d.prototype.ensureInvisibility=function(){this.nodeVisible=!1},d.prototype.isVisible=function(){return this.nodeVisible},d.prototype.visibilityInfo=function(){return{visibilityBlocks:this.visibilityBlocks,nodeVisible:this.nodeVisible}},d.prototype.copyVisibilityInfo=function(a){a&&(this.visibilityBlocks=a.visibilityBlocks,this.nodeVisible=a.nodeVisible)},b.exports=d},{}],71:[function(a,b,c){var d=a("./node"),e=a("./color"),f=a("./dimension"),g=function(a,b,c){this.op=a.trim(),this.operands=b,this.isSpaced=c};g.prototype=new d,g.prototype.type="Operation",g.prototype.accept=function(a){this.operands=a.visit(this.operands)},g.prototype.eval=function(a){var b=this.operands[0].eval(a),c=this.operands[1].eval(a);if(a.isMathOn()){if(b instanceof f&&c instanceof e&&(b=b.toColor()),c instanceof f&&b instanceof e&&(c=c.toColor()),!b.operate)throw{type:"Operation",message:"Operation on an invalid type"};return b.operate(a,this.op,c)}return new g(this.op,[b,c],this.isSpaced)},g.prototype.genCSS=function(a,b){this.operands[0].genCSS(a,b),this.isSpaced&&b.add(" "),b.add(this.op),this.isSpaced&&b.add(" "),this.operands[1].genCSS(a,b)},b.exports=g},{"./color":50,"./dimension":56,"./node":70}],72:[function(a,b,c){var d=a("./node"),e=function(a){this.value=a};e.prototype=new d,e.prototype.type="Paren",e.prototype.genCSS=function(a,b){b.add("("),this.value.genCSS(a,b),b.add(")")},e.prototype.eval=function(a){return new e(this.value.eval(a))},b.exports=e},{"./node":70}],73:[function(a,b,c){var d=a("./node"),e=a("./js-eval-node"),f=a("./variable"),g=function(a,b,c,d,e){this.escaped=null==c||c,this.value=b||"",this.quote=a.charAt(0),this.index=d,this.currentFileInfo=e};g.prototype=new e,g.prototype.type="Quoted",g.prototype.genCSS=function(a,b){this.escaped||b.add(this.quote,this.currentFileInfo,this.index),b.add(this.value),this.escaped||b.add(this.quote)},g.prototype.containsVariables=function(){return this.value.match(/(`([^`]+)`)|@\{([\w-]+)\}/)},g.prototype.eval=function(a){function b(a,b,c){var d=a;do a=d,d=a.replace(b,c);while(a!==d);return d}var c=this,d=this.value,e=function(b,d){return String(c.evaluateJavaScript(d,a))},h=function(b,d){var e=new f("@"+d,c.index,c.currentFileInfo).eval(a,!0);return e instanceof g?e.value:e.toCSS()};return d=b(d,/`([^`]+)`/g,e),d=b(d,/@\{([\w-]+)\}/g,h),new g(this.quote+d+this.quote,d,this.escaped,this.index,this.currentFileInfo)},g.prototype.compare=function(a){return"Quoted"!==a.type||this.escaped||a.escaped?a.toCSS&&this.toCSS()===a.toCSS()?0:void 0:d.numericCompare(this.value,a.value)},b.exports=g},{"./js-eval-node":64,"./node":70,"./variable":82}],74:[function(a,b,c){function d(a,b){var c,d="",e=b.length,f={add:function(a){d+=a}};for(c=0;cd){if(!c||c(h)){e=h.find(new f(a.elements.slice(d)),b,c);for(var j=0;j0&&b.add(k),a.firstSelector=!0,h[0].genCSS(a,b),a.firstSelector=!1,e=1;e0?(e=a.slice(0),f=e.pop(),h=d.createDerived(f.elements.slice(0))):h=d.createDerived([]),b.length>0){var i=c.combinator,j=b[0].elements[0];i.emptyOrWhitespace&&!j.combinator.emptyOrWhitespace&&(i=j.combinator),h.elements.push(new g(i,j.value,c.index,c.currentFileInfo)),h.elements=h.elements.concat(b[0].elements.slice(1))}if(0!==h.elements.length&&e.push(h),b.length>1){var k=b.slice(1);k=k.map(function(a){return a.createDerived(a.elements,[])}),e=e.concat(k)}return e}function j(a,b,c,d,e){var f;for(f=0;f0?d[d.length-1]=d[d.length-1].createDerived(d[d.length-1].elements.concat(a)):d.push(new f(a))}}function l(a,b,c){function f(a){var b;return"Paren"!==a.value.type?null:(b=a.value.value,"Selector"!==b.type?null:b)}var h,m,n,o,p,q,r,s,t,u,v=!1;for(o=[],p=[[]],h=0;h0&&r[0].elements.push(new g(s.combinator,"",s.index,s.currentFileInfo)),q.push(r);else for(n=0;n0&&(a.push(p[h]),u=p[h][t-1],p[h][t-1]=u.createDerived(u.elements,c.extendList));return v}function m(a,b){var c=b.createDerived(b.elements,b.extendList,b.evaldCondition);return c.copyVisibilityInfo(a),c}var n,o,p;if(o=[],p=l(o,b,c),!p)if(b.length>0)for(o=[],n=0;n0)for(b=0;b=0&&"\n"!==b.charAt(c);)e++;return"number"==typeof a&&(d=(b.slice(0,a).match(/\n/g)||"").length),{line:d,column:e}}}},{}],84:[function(a,b,c){var d=a("../tree"),e=a("./visitor"),f=a("../logger"),g=function(){this._visitor=new e(this),this.contexts=[],this.allExtendsStack=[[]]};g.prototype={run:function(a){return a=this._visitor.visit(a),a.allExtends=this.allExtendsStack[0],a},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitRuleset:function(a,b){if(!a.root){var c,e,f,g,h=[],i=a.rules,j=i?i.length:0;for(c=0;c=0||(i=[k.selfSelectors[0]],g=n.findMatch(j,i),g.length&&(j.hasFoundMatches=!0,j.selfSelectors.forEach(function(a){var b=k.visibilityInfo();h=n.extendSelector(g,i,a,j.isVisible()),l=new d.Extend(k.selector,k.option,0,k.currentFileInfo,b),l.selfSelectors=h,h[h.length-1].extendList=[l],m.push(l),l.ruleset=k.ruleset,l.parent_ids=l.parent_ids.concat(k.parent_ids,j.parent_ids),k.firstExtendOnThisSelectorPath&&(l.firstExtendOnThisSelectorPath=!0,k.ruleset.paths.push(h))})));if(m.length){if(this.extendChainCount++,c>100){var o="{unable to calculate}",p="{unable to calculate}";try{o=m[0].selfSelectors[0].toCSS(),p=m[0].selector.toCSS()}catch(q){}throw{message:"extend circular reference detected. One of the circular extends is currently:"+o+":extend("+p+")"}}return m.concat(n.doExtendChaining(m,b,c+1))}return m},visitRule:function(a,b){b.visitDeeper=!1},visitMixinDefinition:function(a,b){b.visitDeeper=!1},visitSelector:function(a,b){b.visitDeeper=!1},visitRuleset:function(a,b){if(!a.root){var c,d,e,f,g=this.allExtendsStack[this.allExtendsStack.length-1],h=[],i=this;for(e=0;e0&&k[i.matched].combinator.value!==g?i=null:i.matched++,i&&(i.finished=i.matched===k.length,i.finished&&!a.allowAfter&&(e+1k&&l>0&&(m[m.length-1].elements=m[m.length-1].elements.concat(b[k].elements.slice(l)),l=0,k++),j=g.elements.slice(l,i.index).concat([h]).concat(c.elements.slice(1)),k===i.pathIndex&&f>0?m[m.length-1].elements=m[m.length-1].elements.concat(j):(m=m.concat(b.slice(k,i.pathIndex)),m.push(new d.Selector(j))),k=i.endPathIndex,l=i.endPathElementIndex,l>=b[k].elements.length&&(l=0,k++);return k0&&(m[m.length-1].elements=m[m.length-1].elements.concat(b[k].elements.slice(l)),k++),m=m.concat(b.slice(k,b.length)),m=m.map(function(a){var b=a.createDerived(a.elements);return e?b.ensureVisibility():b.ensureInvisibility(),b})},visitMedia:function(a,b){var c=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);c=c.concat(this.doExtendChaining(c,a.allExtends)),this.allExtendsStack.push(c)},visitMediaOut:function(a){var b=this.allExtendsStack.length-1;this.allExtendsStack.length=b},visitDirective:function(a,b){var c=a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length-1]);c=c.concat(this.doExtendChaining(c,a.allExtends)),this.allExtendsStack.push(c)},visitDirectiveOut:function(a){var b=this.allExtendsStack.length-1;this.allExtendsStack.length=b}},b.exports=h},{"../logger":33,"../tree":62,"./visitor":91}],85:[function(a,b,c){function d(a){this.imports=[],this.variableImports=[],this._onSequencerEmpty=a,this._currentDepth=0}d.prototype.addImport=function(a){var b=this,c={callback:a,args:null,isReady:!1};return this.imports.push(c),function(){c.args=Array.prototype.slice.call(arguments,0),c.isReady=!0,b.tryRun()}},d.prototype.addVariableImport=function(a){this.variableImports.push(a)},d.prototype.tryRun=function(){this._currentDepth++;try{for(;;){for(;this.imports.length>0;){var a=this.imports[0];if(!a.isReady)return; +this.imports=this.imports.slice(1),a.callback.apply(null,a.args)}if(0===this.variableImports.length)break;var b=this.variableImports[0];this.variableImports=this.variableImports.slice(1),b()}}finally{this._currentDepth--}0===this._currentDepth&&this._onSequencerEmpty&&this._onSequencerEmpty()},b.exports=d},{}],86:[function(a,b,c){var d=a("../contexts"),e=a("./visitor"),f=a("./import-sequencer"),g=function(a,b){this._visitor=new e(this),this._importer=a,this._finish=b,this.context=new d.Eval,this.importCount=0,this.onceFileDetectionMap={},this.recursionDetector={},this._sequencer=new f(this._onSequencerEmpty.bind(this))};g.prototype={isReplacing:!1,run:function(a){try{this._visitor.visit(a)}catch(b){this.error=b}this.isFinished=!0,this._sequencer.tryRun()},_onSequencerEmpty:function(){this.isFinished&&this._finish(this.error)},visitImport:function(a,b){var c=a.options.inline;if(!a.css||c){var e=new d.Eval(this.context,this.context.frames.slice(0)),f=e.frames[0];this.importCount++,a.isVariableImport()?this._sequencer.addVariableImport(this.processImportNode.bind(this,a,e,f)):this.processImportNode(a,e,f)}b.visitDeeper=!1},processImportNode:function(a,b,c){var d,e=a.options.inline;try{d=a.evalForImport(b)}catch(f){f.filename||(f.index=a.index,f.filename=a.currentFileInfo.filename),a.css=!0,a.error=f}if(!d||d.css&&!e)this.importCount--,this.isFinished&&this._sequencer.tryRun();else{d.options.multiple&&(b.importMultiple=!0);for(var g=void 0===d.css,h=0;h0},resolveVisibility:function(a,b){if(!a.blocksVisibility()){if(this.isEmpty(a)&&!this.containsSilentNonBlockedChild(b))return;return a}var c=a.rules[0];if(this.keepOnlyVisibleChilds(c),!this.isEmpty(c))return a.ensureVisibility(),a.removeVisibilityBlock(),a},isVisibleRuleset:function(a){return!!a.firstRoot||!this.isEmpty(a)&&!(!a.root&&!this.hasVisibleSelector(a))}};var g=function(a){this._visitor=new e(this),this._context=a,this.utils=new f(a)};g.prototype={isReplacing:!0,run:function(a){return this._visitor.visit(a)},visitRule:function(a,b){if(!a.blocksVisibility()&&!a.variable)return a},visitMixinDefinition:function(a,b){a.frames=[]},visitExtend:function(a,b){},visitComment:function(a,b){if(!a.blocksVisibility()&&!a.isSilent(this._context))return a},visitMedia:function(a,b){var c=a.rules[0].rules;return a.accept(this._visitor),b.visitDeeper=!1,this.utils.resolveVisibility(a,c)},visitImport:function(a,b){if(!a.blocksVisibility())return a},visitDirective:function(a,b){return a.rules&&a.rules.length?this.visitDirectiveWithBody(a,b):this.visitDirectiveWithoutBody(a,b)},visitDirectiveWithBody:function(a,b){function c(a){var b=a.rules;return 1===b.length&&(!b[0].paths||0===b[0].paths.length)}function d(a){var b=a.rules;return c(a)?b[0].rules:b}var e=d(a);return a.accept(this._visitor),b.visitDeeper=!1,this.utils.isEmpty(a)||this._mergeRules(a.rules[0].rules),this.utils.resolveVisibility(a,e)},visitDirectiveWithoutBody:function(a,b){if(!a.blocksVisibility()){if("@charset"===a.name){if(this.charset){if(a.debugInfo){var c=new d.Comment("/* "+a.toCSS(this._context).replace(/\n/g,"")+" */\n");return c.debugInfo=a.debugInfo,this._visitor.visit(c)}return}this.charset=!0}return a}},checkValidNodes:function(a,b){if(a)for(var c=0;c0?a.accept(this._visitor):a.rules=null,b.visitDeeper=!1}return a.rules&&(this._mergeRules(a.rules),this._removeDuplicateRules(a.rules)),this.utils.isVisibleRuleset(a)&&(a.ensureVisibility(),d.splice(0,0,a)),1===d.length?d[0]:d},_compileRulesetPaths:function(a){a.paths&&(a.paths=a.paths.filter(function(a){var b;for(" "===a[0].elements[0].combinator.value&&(a[0].elements[0].combinator=new d.Combinator("")),b=0;b=0;e--)if(c=a[e],c instanceof d.Rule)if(f[c.name]){b=f[c.name],b instanceof d.Rule&&(b=f[c.name]=[f[c.name].toCSS(this._context)]);var g=c.toCSS(this._context);b.indexOf(g)!==-1?a.splice(e,1):b.push(g)}else f[c.name]=c}},_mergeRules:function(a){if(a){for(var b,c,e,f={},g=0;g1){c=b[0];var h=[],i=[];b.map(function(a){"+"===a.merge&&(i.length>0&&h.push(e(i)),i=[]),i.push(a)}),h.push(e(i)),c.value=g(h)}})}},visitAnonymous:function(a,b){if(!a.blocksVisibility())return a.accept(this._visitor),a}},b.exports=g},{"../tree":62,"./visitor":91}],91:[function(a,b,c){function d(a){return a}function e(a,b){var c,d;for(c in a)if(a.hasOwnProperty(c))switch(d=a[c],typeof d){case"function":d.prototype&&d.prototype.type&&(d.prototype.typeIndex=b++);break;case"object":b=e(d,b)}return b}var f=a("../tree"),g={visitDeeper:!0},h=!1,i=function(a){this._implementation=a,this._visitFnCache=[],h||(e(f,1),h=!0)};i.prototype={visit:function(a){if(!a)return a;var b=a.typeIndex;if(!b)return a;var c,e=this._visitFnCache,f=this._implementation,h=b<<1,i=1|h,j=e[h],k=e[i],l=g;if(l.visitDeeper=!0,j||(c="visit"+a.type,j=f[c]||d,k=f[c+"Out"]||d,e[h]=j,e[i]=k),j!==d){var m=j.call(f,a,l);f.isReplacing&&(a=m)}return l.visitDeeper&&a&&a.accept&&a.accept(this),k!=d&&k.call(f,a),a},visitArray:function(a,b){if(!a)return a;var c,d=a.length;if(b||!this._implementation.isReplacing){for(c=0;ck){for(var b=0,c=h.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 IM6N<$g7Cm5Jpcdz literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dc2b22cea563cca761896877ed8d72502c8fa241 GIT binary patch literal 13032 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..60bf0eadf75c86e5d25cc1da13fe5ecc2c39c559 GIT binary patch literal 2078 zcmV+(2;ujMP)%q2v2@fKtSxpMXgijv z)fq>Pk#L19Fsu4()DBYp45dn$d|w7L$xim4(ghvO{2KV_ z+$Hm-4+=-lCvt6F`pHd82H&_b<~Ep`2qG%4yaCtnEHo$PE&9r=><>InhMM}#Bal70 zUf^jnRszc83E!|N`Rx5SryfTxDP-4{&|41om~VDuv~w6qd_&luzjUVa)#`{hUuj_d z;-TjOk+N;g#m|ICGUpTKol4b;)1*uMHFL8MKCv|ZGRhN>F6J+sEPnK@OTq0qxW^;f zg69Z@bb;=ln|bV!1*zxYUSeI~E&nck;GNdstHrvQ!1<(5!-Ux5Sj-IZ@~z9_hm@9c zE=m9VKe5%jFN9tTX%YuDVJH!eouF`WsM|Wyn`O<*Zm_?u*sYJ{@7&uK*yeKV5{&S) zf#D@;b0Y7ma@VA6+_UYN`OwQ}B0oEqG|om0!Iap5_k7kT+~I_CKtiX80<7AJ0rPaZ z$s@I8-V)2;;r=XZJJD}8sl};Mn=-J3lr@S-XWVVx+a1}{8floz^ZAs;b2h>Rf?{4D z^A`SaVe^surn)X<`3X?*m}zB|{wl#5hVBPZ8SoJ>C^ggHJ& zx0Sp1si3Y+b8e32LIJZ*~&~tlQ1KZVPQ14EFNvvQ_c$BZaG4nui zke92eo8#uY4zLT0B79WUpPv6pSzi13~yl3@aY!Vu178d^4!sM@D=Xy%{JJJL?)ngsl-cqztS?SeY zO~&FDDw{A}5^59%@@`tejg+Ez9(j=&w@AtmakDw%=5h#Acvjf}6hIna>VW==n%wuW zCZH7%=)I1>o{a}fmn#of&BN852^-5mIThw!4j|1IO27=2!$K6yTml7F-~ax}>{KQn zjE2;Xz?@;%>N~$rG97V&c+7&{K$p>Y#^~L7Cb$Xw{ErmEDfhcxH^RoXMF^p8&I4{Q zxRJ`)US#I2eyHR#ESu;RU?yxh-ZOLm3(FF9_x?mxK=kz9&3dZ0L&1z8uv*~egMsD8 zd)R?N6h_bl5S7nlEzr1Es~V=hBY@**wzB?9AT$HY%MG=k_y=&W!NR0AJkVX#dURK~ z_2?_Gpf0HyL{)>vU6ICNaT?DSsfHClwJam54_rP4XwZ=jbBfkyMAasONq0b2&-iAz zBvH5gX{-OjyP?a+_H(P4zygd3HYa(W*-1Y$Yw;KR?s)h$5h#jE-$y08_f<%$sdOf7 z_$KU5AS}l0v`x4-Fg$zlYTz4XY8HKy`fjHgzkGsvIoKYcseu!oae!Q=Y8%(}ec|C< zoEbp@x~w>~BB;^Six{6>uj#+KrjZ|wE4j8-`G01;LAUvP8La~Av50E6zu%( zZY|w^R=t)Fm)B;i7OZi~W-o%i6Ra$VVl8{NmL1voxX>*yAjzj}sjk!d6ucbxl|v0H zpBijfwOJHk8)-|xibe~OjME1Qpjh+UKQ3v0dkbg-j|+CHR{8pk0ANTN33RsnE7<-1 z>mZ_t(1Vpgg{5|`!W&TAnw=gBb)0;o;?SSI6~1`*ub=^P<-=l{CUUA~50uWpwR{i} z@h5!Hn literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ca0ad132e0184b64cd2e4a38cfceab3c4b3a46 GIT binary patch literal 28507 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8756459b63d6e8dd6003b97613befbe2743441cb GIT binary patch literal 3419 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2c8023cc824417a29378a68471b8fb3af33fdeb0 GIT binary patch literal 6027 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�rop@t+= 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 V#?y`xQ)U1F002ovPDHLkV1n!EW;y@> literal 0 HcmV?d00001 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..17d142c0a43208db62ca28b86a3239329ac93aea GIT binary patch literal 3971 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..a2993adc87ff15230d919da5a3a6600f0892b48d GIT binary patch literal 277003 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
    j#(n6`cTK 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 ( + + + } + /> + +) + +export default App diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..47c44e1 --- /dev/null +++ b/src/api/index.ts @@ -0,0 +1,13 @@ +import $axios from '@/utils/axios' + +export default { + // 获取数据 + getList(params?: object): Promise> { + return $axios.get('https://randomuser.me/api', params) + }, + + // 登录 + login(params: object): Promise> { + return $axios.post('/admin/login', params) + } +} diff --git a/src/assets/css/public.less b/src/assets/css/public.less new file mode 100644 index 0000000..28a511a --- /dev/null +++ b/src/assets/css/public.less @@ -0,0 +1,157 @@ +.App, #root { + // height: 100vh; + overflow: hidden; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.fl { + float: left; + z-index: 8; +} + +.fr { + float: right; + z-index: 8; +} + +.clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} + +.global-spin { + position: fixed; + top: 50%; + left: 50%; +} + +/* 滚动条 */ + +/*滚动条宽度*/ + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +/* Handle样式 */ + +::-webkit-scrollbar-thumb { + border-radius: 10px; + background: rgba(0, 0, 0, 0.2); +} + +/*当前窗口未激活的情况下*/ + +::-webkit-scrollbar-thumb:window-inactive { + background: rgba(0, 0, 0, 0.1); +} + +/*hover到滚动条上*/ + +::-webkit-scrollbar-thumb:vertical:hover { + background-color: rgba(0, 0, 0, 0.3); +} + +/*滚动条按下*/ + +::-webkit-scrollbar-thumb:vertical:active { + background-color: rgba(0, 0, 0, 0.7); +} + +.bf-modal { + z-index: 999 !important; +} + +input::-webkit-inner-spin-button { + display: none !important; +} +.ant-menu-item.ant-menu-item-only-child .anticon{ + margin-right: 10px!important; +} +.ant-layout-sider{ + height: 100%; + &::-webkit-scrollbar { + width: 0; + } +} +/* 自动填充样式修改 */ +input:-webkit-autofill { + box-shadow: 0 0 0px 1000px #1f1f1f inset !important; + text-fill-color: white; + -webkit-text-fill-color: white; + border-radius: 0; +} + +.ant-tabs-bar{ + user-select: none; +} + +.ant-switch-inner{ + margin-right: 6px; + margin-left: 24px; +} + +.webTheme{ + width: 24px; + height: 24px; + border-radius: 4px; + margin: 20px; + background: @primary-color; + cursor: pointer; +} + +.avart { + display: inline-block; + width: 26px; + height: 26px; + background-color: @primary-color; + text-align: center; + line-height: 22px; + border-radius: 50%; + margin-right: 8px; + color: #fff; +} + +.ant-layout-content, .ant-layout{ + min-height: unset!important; +} + +.logo{ + position: relative; + padding: 0 24px; + overflow: hidden; + cursor: pointer; + transition: all .3s; + >a{ + display: flex; + align-items: center; + height: 64px; + } + img { + display: inline-block; + height: 32px; + vertical-align: middle; + } + h1{ + display: inline-block; + margin: 0 0 0 12px; + color: #fff; + font-weight: 600; + font-size: 18px; + white-space: nowrap; + vertical-align: middle; + animation: fade-in; + animation-duration: .3s; + } +} diff --git a/src/assets/img/login-bg.svg b/src/assets/img/login-bg.svg new file mode 100644 index 0000000..89c2597 --- /dev/null +++ b/src/assets/img/login-bg.svg @@ -0,0 +1,69 @@ + + + + Group 21 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..56ab7f45177b790a7846e48325bfcdeee694bd84 GIT binary patch literal 1490 zcmV;@1ugoCP)ha(l1BAK3bHgS5`|h(+xKQy+pL6A$!HA{(hnJhM%kC_OGYV0+Xpu? z$V5XeQZsYi`IE{j^hdEw%b@T}MH&XR>CV0P#K_J%Gdr_$-{_Z*F zKJI;l5&okQK7WJ)gc&fx6$ndUgeO4Q1bvr)jLC%rp29>w38_z}?#0o1W>MrzOf_0g zCgxihbV5h62OUzQvhzwBItuQ^Hdv>en=~2>+DAhq}T&sOcv&k$}^K}IjjY6 z;*Lx>bKviqA>_CnjD5VQo<`;xClT?WM>nIqoEAFPQEtipf~5qUN20n(k8wK$a5YzDCvnH%8Z_flko2CJj;wX2Tcj< zz&xFqPRWSr^s^)R5+HvPPC~2%V_oKXy6&XV-cMhBdDzS{*b){BVQqK%xE z(~k(Nlxx-pbG^}49HUnMSGt0~2Dq8>?z_pH|ZN*-a z$_Z|GUrs8A7hyL3EQh0P0Y-IWqISeK0C$xWNC4ksQkg{;=iqbz->mjgj&~2PbEMn> z=9%Td1okC5q_kduR{RkZBX|bv#u(>H`UIf4LCGuQ$NSX3{4gFwUl6>&0yqiU4yFY` zNGt9`yhFLXFbHlS0U`;pj2Rn(5LU~F2+LEh>GF&3Ux0&{5a|~OnJ~dGSvBp6aVFJd zW?>f2_~G#_z>t044_lROgS;2`5qN zBxA=wr}oSUC)M%nP%3DARaju2nyLxl>vq%EdnZ;LG&t6cTdEF+EVm6T;xs(OJml-EE(^64@^NC$IRRG2 zj7KZZmEyJ%plLtuFj5@948}3#ace$!Bqp}xrX=rD9;eR)1OM_diLp5qH68hYPMmrG zie{b*ZSL%E!*`{KtpvzF5hh?$$}>+C2qN$L%>Ih1SfE3%WBd=G905pimjqYZn-j{%IAe+5-k;X3%`?>0LQnVU6DdWL!Q(;GILtsulvI zNg3D(rkK7$@52oI<)^*_+xFrb`JbE%;wS-y?<8v_K;TJK+c6Zt?uIzndqA~UuM+rS z280=4^^rta0ygC~+~+Yi{&leldqCI&!X9ArrI=L{tV<2oh%^+SMnX3%O_%` \ No newline at end of file diff --git a/src/assets/js/publicFunc.ts b/src/assets/js/publicFunc.ts new file mode 100644 index 0000000..d5c454e --- /dev/null +++ b/src/assets/js/publicFunc.ts @@ -0,0 +1,456 @@ +/* eslint-disable no-param-reassign */ +import { Modal } from 'antd' +import routes from '@/route/routes' +import ErrorPage from '@/pages/public/errorPage' +import { store } from '@/store' + +// 通用confirm方法 +export const commonConfirm = (title: string, cb: () => void) => { + const { confirm } = Modal + confirm({ + okText: '确定', + cancelText: '取消', + title, + onOk() { + cb() + }, + onCancel() {} + }) +} + +/** + * 隐藏手机号码 + * @param {string} phone 手机号 + */ +export const hidePhone = (phone: string) => + phone && phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') + +/** + * 以递归的方式展平react router数组 + * @param {object[]} arr 路由数组 + * @param {string} child 需要递归的字段名 + */ +export const flattenRoutes = (arr: CommonObjectType[]) => + arr.reduce( + (prev: CommonObjectType[], item: CommonObjectType) => { + if (Array.isArray(item.routes)) { + prev.push(item) + } + return prev.concat( + Array.isArray(item.routes) ? flattenRoutes(item.routes) : item + ) + }, + [] + ) + +/** + * 根据路径获取路由的name和key + * @param {string} path 路由 + */ +export const getKeyName = (path: string = '/403') => { + const truePath = path.split('?')[0]; + const curRoute = flattenRoutes(routes).filter( + (item: { path: string | string[] }) => item.path.includes(truePath) + ) + + if (!curRoute[0]) + return { title: '暂无权限', tabKey: '403', component: ErrorPage } + const { name, key, component } = curRoute[0] + return { title: name, tabKey: key, component } +} + +/** + * 同步执行操作,Currying + * @param {*} action 要执行的操作 + * @param {function} cb 下一步操作回调 + */ +export const asyncAction = (action: unknown) => { + const wait = new Promise((resolve) => { + resolve(action) + }) + return (cb: () => void) => { + wait.then(() => setTimeout(() => cb())) + } +} + +/** + * 页签关闭操作回调 + * @param {object} history 路由history对象。不能new新实例,不然参数无法传递 + * @param {string} returnUrl 返回地址 + * @param {function} cb 回调操作,可选 + */ +export const closeTabAction = ( + history: CommonObjectType, + returnUrl: string = '/', + cb?: () => void +) => { + const { curTab } = store.getState().storeData + const { href } = window.location + const pathname = href.split('#')[1] + // 删除tab + const tabArr = JSON.parse(JSON.stringify(curTab)) + const delIndex = tabArr.findIndex((item: string) => item === pathname) + tabArr.splice(delIndex, 1) + + // 如果要返回的页面被关闭了,再加进去 + if (!tabArr.includes(returnUrl)) { + tabArr.push(returnUrl) + } + + // 储存新的tabs数组 + const setTab = store.dispatch({ + type: 'SET_CURTAB', + payload: tabArr + }) + // 刷新tab + const reloadTab = store.dispatch({ + type: 'SET_RELOADPATH', + payload: returnUrl + }) + // 停止刷新tab + const stopReload = setTimeout(() => { + store.dispatch({ + type: 'SET_RELOADPATH', + payload: 'null' + }) + }, 500) + + const action = () => setTab && reloadTab && stopReload + + // 刷新回调 + const callback = () => { + if (cb && typeof cb === 'function') { + return cb + } + return history.push({ + pathname: returnUrl + }) + } + + asyncAction(action)(callback) +} + +/** + * 获取地址栏 ?参数,返回键值对对象 + */ +export const getQuery = (): CommonObjectType => { + const { href } = window.location + const query = href.split('?') + if (!query[1]) return {} + + const queryArr = decodeURI(query[1]).split('&') + const queryObj = queryArr.reduce((prev, next) => { + const item = next.split('=') + return { ...prev, [item[0]]: item[1] } + }, {}) + return queryObj +} + +/** + * 深拷贝操作,简单类型的对象的可以直接用 JSON.parse(JSON.stringify())或 [...]/{...} + * @param {object} obj 需要拷贝的对象 + */ +export const deepClone = (obj: CommonObjectType) => { + if ( + obj === null || + typeof obj !== 'object' || + obj instanceof Date || + obj instanceof Function + ) { + return obj + } + const cloneObj = Array.isArray(obj) ? [] : {} + Object.keys(obj).map((key) => { + cloneObj[key] = deepClone(obj[key]) + return cloneObj + }) + return cloneObj +} + +/** + * 获取图片地址 + * @param {*} html 富文本字符串 + */ +export const getImgsUrl = (html?: string) => { + // 匹配图片(g表示匹配所有结果i表示区分大小写) + const imgReg = /|\/>)/gi + // 匹配src属性 + const srcReg = /src=['"]?([^'"]*)['"]?/i + const arr = html.match(imgReg) + if (!arr) return null + // 获取图片地址 + const urlArr = arr.reduce((prev, next) => { + const src = next.match(srcReg) + return src[1] ? [...prev, src[1]] : prev + }, []) + return urlArr +} + +/** + * 获取视频地址 + * @param {*} html 富文本字符串 + */ +export const getVideoUrl = (html?: string) => { + // 匹配图片(g表示匹配所有结果i表示区分大小写) + const imgReg = /<(video|iframe).*?(?:>|\/>)/gi + // 匹配src属性 + const srcReg = /src=['"]?([^'"]*)['"]?/i + const arr = html.match(imgReg) + if (!arr) return null + // 获取图片地址 + const urlArr = arr.reduce((prev, next) => { + const src = next.match(srcReg) + return src[1] ? [...prev, src[1]] : prev + }, []) + return urlArr +} + +/** + * 获取本地存储中的权限 + */ +export const getPermission = () => localStorage.getItem('permissions') || [] + +/** + * 根据权限判断是否有权限 + */ +export const isAuthorized = (val: string): boolean => { + const permissions = getPermission(); + return permissions.includes(val) +} + +/** + * 用requestAnimationFrame替代setTimeout、setInterval,解决内存溢出 + * @export + * @param {*} cb 定时回调 + * @param {*} interval 定时时间 + */ +export const customizeTimer = { + intervalTimer: null, + timeoutTimer: null, + setTimeout(cb: () => void, interval: number) { + // 实现setTimeout功能 + const { now } = Date + const stime = now() + let etime = stime + const loop = () => { + this.timeoutTimer = requestAnimationFrame(loop) + etime = now() + if (etime - stime >= interval) { + cb() + cancelAnimationFrame(this.timeoutTimer) + } + } + this.timeoutTimer = requestAnimationFrame(loop) + return this.timeoutTimer + }, + clearTimeout() { + cancelAnimationFrame(this.timeoutTimer) + }, + setInterval(cb: () => void, interval: number) { + // 实现setInterval功能 + const { now } = Date + let stime = now() + let etime = stime + const loop = () => { + this.intervalTimer = requestAnimationFrame(loop) + etime = now() + if (etime - stime >= interval) { + stime = now() + etime = stime + cb() + } + } + this.intervalTimer = requestAnimationFrame(loop) + return this.intervalTimer + }, + clearInterval() { + cancelAnimationFrame(this.intervalTimer) + } +} + +/** + * 预览图片 + */ +export const previewImg = (children: string | React.ReactNode) => { + Modal.info({ + title: '预览', + icon: false, + okText: '关闭', + maskClosable: true, + content: children + }) +} + +/** + * 限制两位小数,可 ± + * @param {string} val 要格式化的数字 + */ +export const limitDecimal = (val: string) => + val.replace(/^(-)*(\d+)\.(\d\d).*$/, '$1$2.$3') + +/** + * 处理用户信息并储存起来 + */ +export const setUserInfo = ( + userInfo: CommonObjectType, + action: (arg0: string, arg1: unknown) => unknown, + oldToken?: string +) => { + const { permission, userName, token } = userInfo + const permissionArray = permission.reduce( + (prev: CommonObjectType[], next: CommonObjectType) => [ + ...prev, + next.code + ], + [] + ); + + localStorage.setItem('permissions', permissionArray) + + const result = { + userName, + permission, + token: token || oldToken + } + action('SET_USERINFO', result) +} + +/** + * 生成tree结构数据 + * @param data + * @param parentIdField + */ +export const makeTree = ( + data: Array, + parentIdField: string = 'parentId' +): Array => { + const dataMap: Object = {} + + data.forEach((item) => { + dataMap[item.id] = item + }) + + const dataTree: Array = [] + data.forEach((item) => { + const parent = dataMap[item[parentIdField]] + if (parent) { + if (parent.children) { + parent.children.push(item) + } else { + parent.children = [] + parent.children.push(item) + } + } else { + dataTree.push(item) + } + }) + + return dataTree +} + +/** + * 生成TreeSelect组件结构数据 + * @param dataTree + * @param treeValueFiled + * @param treeTitleFiled + */ +export const makeTreeSelectData = ( + dataTree: Array, + treeValueFiled: string = 'value', + treeTitleFiled: string = 'title' +): Array => { + const treeSelect: Array = [] + dataTree.forEach((item) => { + const temp = { + value: item[treeValueFiled], + title: item[treeTitleFiled], + children: item.children || undefined + } + if (temp.children) { + temp.children = makeTreeSelectData( + temp.children, + treeValueFiled, + treeTitleFiled + ) + } + treeSelect.push(temp) + }) + return treeSelect +} + +/** + * 生成Tree组件结构数据 + * @param dataTree + * @param treeKeyFiled + * @param treeTitleFiled + */ +export const makeTreeData = ( + dataTree: Array, + treeKeyFiled: string = 'key', + treeTitleFiled: string = 'title' +): Array => { + const treeSelect: Array = [] + dataTree.forEach((item) => { + const temp = { + key: item[treeKeyFiled], + title: item[treeTitleFiled], + children: item.children || undefined + } + if (temp.children) { + temp.children = makeTreeData( + temp.children, + treeKeyFiled, + treeTitleFiled + ) + } + treeSelect.push(temp) + }) + return treeSelect +} + +/** + * 根据节点获取所有父节点id数组 + * @param tree + * @param id + */ +export const treeFindParentById = (tree: Array, id: string | number): Array => { + const path = [] + if (tree.length === 0) return [] + const forFn = function (tree, id) { + for (let i = 0; i < tree.length; i++) { + const data = tree[i] + + if (data.id === id) { + return path + } + + path.push(data.id) + + if (data.children) { + const findChildren = forFn(data.children, id); + if (findChildren && findChildren.length > 0) return findChildren + } + + path.pop() + } + } + forFn(tree, id) + return path +} + +/** + * 获取数据差集 + * @param arr1 + * @param arr2 + */ +export const diffArray = (arr1: Array, arr2: Array): Array< number | string>=> { + const diff: Array = [] + for (let idx = 0; idx < arr1.length; idx++) { + if (!arr2.includes(arr1[idx])) { + diff.push(arr1[idx]) + } + } + return diff +} + + diff --git a/src/components/BreadCrumb/index.tsx b/src/components/BreadCrumb/index.tsx new file mode 100644 index 0000000..43792e5 --- /dev/null +++ b/src/components/BreadCrumb/index.tsx @@ -0,0 +1,42 @@ +import React, { FC } from 'react' +import { useHistory } from 'react-router-dom' +import withBreadcrumbs from 'react-router-breadcrumbs-hoc' +import { Breadcrumb, Button } from 'antd' +import routes from '@/route/routes' +import { flattenRoutes } from '@/assets/js/publicFunc' + +const allRoutes = flattenRoutes(routes) + +interface Props { + breadcrumbs: any[]; +} + +// 通用面包屑 +const Breadcrumbs: FC = ({ breadcrumbs }) => { + const history = useHistory() + return ( + + {breadcrumbs.map((bc: CommonObjectType, index: number) => { + return ( + + + + ) + })} + + ) +} + +export default withBreadcrumbs(allRoutes)(Breadcrumbs) diff --git a/src/components/Header/Header.module.less b/src/components/Header/Header.module.less new file mode 100644 index 0000000..5ba83a2 --- /dev/null +++ b/src/components/Header/Header.module.less @@ -0,0 +1,29 @@ +.header { + width: 100%; + background: @component-background; + height: 64px; + padding: 0; + box-shadow: 0 0.3px 0.9px rgba(0,0,0,0.12), 0 1.6px 3.6px rgba(0,0,0,0.12); + z-index: 2; +} +.content { + height: 64px; + display: flex; + align-items: center; + cursor: pointer; + padding: 0 30px; + transition: all .3s; + &:hover { + background: rgba(0, 0, 0, .025); + } +} + +.toggleMenu{ + display: inline-block; + height: 64px; + line-height: 64px; + padding: 0 24px; + font-size: 20px; + cursor: pointer; + transition: all .3s,padding 0s; +} diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx new file mode 100644 index 0000000..4ae3f5e --- /dev/null +++ b/src/components/Header/index.tsx @@ -0,0 +1,97 @@ +import React, { useEffect, FC } from 'react' +import { useHistory } from 'react-router-dom' +import { Menu, Dropdown, Layout } from 'antd' +import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons' +import Breadcrumb from '@/components/BreadCrumb' +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +import style from './Header.module.less' + +interface Props extends ReduxProps {} + +const Header: FC = ({ + storeData: { collapsed, theme, userInfo }, + setStoreData +}) => { + const history = useHistory() + const { userName = '-' } = userInfo + const firstWord = userName.slice(0, 1) + const logout = async () => { + await setStoreData('SET_USERINFO', {}) + history.replace({ pathname: '/login' }) + } + + const changeTheme = (themes: string) => { + setStoreData('SET_THEME', themes) + } + + const menu = ( + + + 退出登录 + + + ) + + const changeMenu = ( + + changeTheme('')}> + 暗黑主题 + + changeTheme('default')}> + 亮白主题 + + + ) + + const toggle = (): void => { + setStoreData('SET_COLLAPSED', !collapsed) + } + + // 更换主题 + useEffect(() => { + if (theme === 'default') { + const script = document.createElement('script') + script.id = 'themeJs' + script.src = '/static/less.min.js' + document.body.appendChild(script) + + setTimeout(() => { + const themeStyle = document.getElementById('less:color') + if (themeStyle) localStorage.setItem('themeStyle', themeStyle.innerText) + }, 500) + } else { + const themeJs = document.getElementById('themeJs') + const themeStyle = document.getElementById('less:color') + if (themeJs) themeJs.remove() + if (themeStyle) themeStyle.remove() + localStorage.removeItem('themeStyle') + } + }, [theme]) + + return ( + +
    + {collapsed ? ( + + ) : ( + + )} +
    + + + + {firstWord} + {userName} + + + +
    + + + ) +} +export default connect( + (state) => state, + actions +)(Header) diff --git a/src/components/Menu/Menu.module.less b/src/components/Menu/Menu.module.less new file mode 100644 index 0000000..004686b --- /dev/null +++ b/src/components/Menu/Menu.module.less @@ -0,0 +1,8 @@ +.noselect { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/src/components/Menu/index.tsx b/src/components/Menu/index.tsx new file mode 100644 index 0000000..4e2afb3 --- /dev/null +++ b/src/components/Menu/index.tsx @@ -0,0 +1,145 @@ +import React, { useState, useEffect, useCallback, FC } from 'react' +import { Link, useLocation } from 'react-router-dom' +import { Menu, Layout } from 'antd' + +import MyIconFont from '@/components/MyIconfont' +import { getKeyName, flattenRoutes } from '@/assets/js/publicFunc' +import menus from '@/route/routes' +import logo from '@/assets/img/logo.png' +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +import styles from './Menu.module.less' + +const { SubMenu } = Menu +const flatMenu = flattenRoutes(menus) + +interface Props extends ReduxProps { } + +type MenuType = CommonObjectType + +const MenuView: FC = ({ storeData: { theme, userInfo, collapsed } }) => { + const { pathname } = useLocation() + const { tabKey: curKey = 'home' } = getKeyName(pathname) + const [current, setCurrent] = useState(curKey) + const { permission = [] } = userInfo + // 递归逐级向上获取最近一级的菜单,并高亮 + const higherMenuKey = useCallback( + (checkKey = 'home', path = pathname) => { + const higherKey = checkKey + if ( + checkKey === '403' || + flatMenu.some((item: MenuType) => item.key === checkKey) + ) { + return higherKey + } + const higherPath = path.match(/(.*)\//g)[0].replace(/(.*)\//, '$1') + const { tabKey } = getKeyName(higherPath) + return higherMenuKey(tabKey, higherPath) + }, + [pathname] + ) + + useEffect(() => { + const { tabKey } = getKeyName(pathname) + const higherKey = higherMenuKey(tabKey) + setCurrent(higherKey) + }, [higherMenuKey, pathname]) + + // 菜单点击事件 + const handleClick = ({ key }): void => { + setCurrent(key) + } + + // 子菜单的标题 + const subMenuTitle = (data: MenuType): JSX.Element => { + const { icon: MenuIcon, iconfont } = data + return ( + + {iconfont ? ( + + ) : ( + !!MenuIcon && + )} + {data.name} + + ) + } + + // 创建可跳转的多级子菜单 + const createMenuItem = (data: MenuType): JSX.Element => { + return ( + + {subMenuTitle(data)} + + ) + } + + // 创建可展开的第一级子菜单 + const creatSubMenu = (data: CommonObjectType): JSX.Element => { + const menuItemList = []; + data.routes.map((item: MenuType) => { + // const arr = permission.filter((ele: MenuType) => item.key === ele.code); + // if (arr.length > 0) { + !item.remove && menuItemList.push(renderMenu(item)) + // } + // return arr + }) + + return menuItemList.length > 0 ? ( + + {menuItemList} + + ) : createMenuItem(data) + } + + // 创建菜单树 + const renderMenuMap = (list: CommonObjectType): JSX.Element[] => { + return list.map((item) => !item.remove && renderMenu(item)) + } + + // 判断是否有子菜单,渲染不同组件 + function renderMenu(item: MenuType) { + return item.type === 'subMenu' ? creatSubMenu(item) : createMenuItem(item) + } + + const setDefaultKey = flatMenu + .filter((item: MenuType) => item.type === 'subMenu') + .reduce((prev: MenuType[], next: MenuType) => [...prev, next.key], []) + + const showKeys = document.body.clientWidth <= 1366 ? [] : setDefaultKey + + return ( + +
    + + logo + {!collapsed &&

    React Antd Admin

    } + +
    + + {renderMenuMap(menus)} + +
    + ) +} + +export default connect( + (state) => state, + actions +)(MenuView) diff --git a/src/components/MyIconfont/index.tsx b/src/components/MyIconfont/index.tsx new file mode 100644 index 0000000..faeab87 --- /dev/null +++ b/src/components/MyIconfont/index.tsx @@ -0,0 +1,7 @@ +import { createFromIconfontCN } from '@ant-design/icons' + +const MyIconFont = createFromIconfontCN({ + scriptUrl: '//at.alicdn.com/t/font_1830242_6vhnrbj73u5.js' // 在 iconfont.cn 上生成 +}) + +export default MyIconFont diff --git a/src/components/MySelect/index.tsx b/src/components/MySelect/index.tsx new file mode 100644 index 0000000..7a62970 --- /dev/null +++ b/src/components/MySelect/index.tsx @@ -0,0 +1,55 @@ +import React, { FC } from 'react' +import { Select } from 'antd' + +const { Option } = Select + +interface Props { + data: CommonObjectType[]; + placeholder?: string; + value?: string; + onChange?: (arg0: unknown) => void; + width?: string | number; + disabled?: boolean; + onSearch?: () => void; + defaultValue?: string | number; +} + +const MySelect: FC = (props) => { + const { + data, + placeholder = '请输入搜索条件', + value, + onChange = () => {}, + width = '100%', + disabled, + onSearch, + defaultValue + } = props + + const handerChange = (val: string | number): void => { + onChange(val) + } + + return ( + + ) +} + +export default MySelect diff --git a/src/components/MyTable/index.tsx b/src/components/MyTable/index.tsx new file mode 100644 index 0000000..6bb9b17 --- /dev/null +++ b/src/components/MyTable/index.tsx @@ -0,0 +1,287 @@ +import React, { + useState, + forwardRef, + useImperativeHandle, + useRef, + ReactNode, + FC +} from 'react' +import { Table } from 'antd' +import useService from '@/utils/tableHook' +import SearchView from '@/components/SearchForm' + +/** + * 封装列表、分页、多选、搜索组件 + * @param {RefType} ref 表格的实例,用于调用内部方法 + * @param {object[]} columns 表格列的配置 + * @param {function} apiFun 表格数据的请求方法 + * @param {object[]} searchConfigList 搜索栏配置 + * @param {function} beforeSearch 搜索前的操作(如处理一些特殊数据) + * @param {function} onFieldsChange 处理搜索栏表单联动事件 + * @param {object} extraProps 额外的搜索参数(不在搜索配置内的) + * @param {function} onSelectRow 复选框操作回调 + * @param {string} rowKey 表格行的key + * @param {function} sortConfig 自定义表格排序字段 + * @param {function} expandedRowRender 额外的展开行 + * @param {function} onExpand 点击展开图标时触发 + * @param {string} rowClassName 表格行的样式名 + * @param {boolean} small 表格和分页的展示大小 + * @param {string[]} extraPagation 额外的分页大小 + */ + +interface TableProps { + columns: object[]; + apiFun: (arg0?: unknown[]) => Promise<{}>; + ref?: RefType; + searchConfigList?: object[]; + extraProps?: object; + rowKey?: string; + rowClassName?: string; + small?: boolean; + showHeader?: boolean; + extraPagation?: string[]; + beforeSearch?: (arg0?: unknown) => void; + onSelectRow?: (arg0?: string[], arg1?: string[]) => void; + onFieldsChange?: (arg0?: unknown, arg1?: unknown) => void; + sortConfig?: (arg0?: object) => any; + expandedRowRender?: () => ReactNode; + onExpand?: () => void; +} + +const MyTable: FC = forwardRef( + (props: TableProps, ref: RefType) => { + /** + * @forwardRef + * 引用父组件的ref实例,成为子组件的一个参数 + * 可以引用父组件的ref绑定到子组件自身的节点上. + */ + const searchForm: RefType = useRef(null) + const { + columns, + apiFun, + searchConfigList, + extraProps, + rowKey, + rowClassName, + small, + showHeader, + extraPagation, + beforeSearch, + onSelectRow, + onFieldsChange, + sortConfig, + expandedRowRender, + onExpand + } = props + + // 搜索参数,如果有特殊需要处理的参数,就处理 + const searchObj = searchConfigList.reduce( + (prev: CommonObjectType, next: CommonObjectType) => { + return Object.assign(prev, { + [next.key]: next.fn ? next.fn(next.initialValue) : next.initialValue + }) + }, + {} + ) + + // 初始参数 + const initParams = { + ...searchObj, + ...extraProps, + page: 1, + page_size: 20 + } + + // 多选框的选择值 + const [selectedKeys, setSelectedKeys] = useState([]) + // 列表所有的筛选参数(包括搜索、分页、排序等) + const [tableParams, setTableParams] = useState(initParams) + // 列表搜索参数 + const [searchParams, setSearchParams] = useState(searchObj) + // 列表排序参数 + const [sortParams, setSortParams] = useState({}) + // 列表分页参数 + const [curPageNo, setCurPageNo] = useState(initParams.page) + const [curPageSize, setCurPageSize] = useState(initParams.page_size) + + const { loading = false, response = {} }: CommonObjectType = useService( + apiFun, + tableParams + ); + + let tableData = []; + let total = 0; + const validData = response?.data ? response.data : []; + if (Array.isArray(validData) && validData.length >= 0) { + tableData = validData; + total = validData.length; + } + if (validData.rows) { + tableData = validData.rows; + total = validData.total; + } + + // const validData = response?.data ? response.data : {} + // const { rows: tableData = [], total } = validData + + // 执行搜索操作 + const handleSearch = (val: CommonObjectType): void => { + if (val.login) { + val.login = Number(val.login) + } + setSearchParams(val) + setTableParams({ ...tableParams, ...val, page: 1 }) + } + + // 重置列表部分状态 + const resetAction = (page?: number): void => { + setSelectedKeys([]) + const nextPage = page || curPageNo + const nextParmas = page === 1 ? {} : { ...searchParams, ...sortParams } + setCurPageNo(nextPage) + setTableParams({ + ...initParams, + ...nextParmas, + page: nextPage, + page_size: curPageSize + }) + } + + // 列表复选框选中变化 + const onSelectChange = ( + selectedRowKeys: any[], + selectedRows: any[] + ): void => { + setSelectedKeys(selectedRowKeys) + onSelectRow(selectedRowKeys, selectedRows) + } + // 复选框配置 + const rowSelection = { + selectedRowKeys: selectedKeys, + onChange: onSelectChange + } + // 判断是否有复选框显示 + const showCheckbox = onSelectRow ? { rowSelection } : {} + + // 展开配置 + const expendConfig = { + expandedRowRender, + onExpand, + rowClassName + } + // 判断是否有展开行 + const showExpend = expandedRowRender ? expendConfig : {} + + // 表格和分页的大小 + const tableSize = small ? 'small' : 'middle' + const pagationSize = small ? 'small' : 'default' + + // 分页、筛选、排序变化时触发 + const onTableChange = ( + pagination: CommonObjectType, + filters: CommonObjectType, + sorter: object + ): void => { + // 如果有sort排序并且sort参数改变时,优先排序 + const sortObj = sortConfig ? sortConfig(sorter) : {} + setSortParams(sortObj) + + const { current: page, pageSize } = pagination + + setCurPageNo(page) + setCurPageSize(pageSize) + setTableParams({ + ...initParams, + ...searchParams, + ...sortObj, + page, + page_size: pageSize + }) + } + + /** + * @useImperativeHandle + * 第一个参数,接收一个通过forwardRef引用父组件的ref实例 + * 第二个参数一个回调函数,返回一个对象,对象里面存储需要暴露给父组件的属性或方法 + */ + useImperativeHandle(ref, () => ({ + // 更新列表 + update(page?: number): void { + resetAction(page) + }, + // 更新列表,并重置搜索字段 + resetForm(page?: number): void { + if (searchForm.current) searchForm.current.resetFields() + setSearchParams({}) + resetAction(page) + }, + // 仅重置搜索字段 + resetField(field?: string[]): void { + return field + ? searchForm.current.resetFields([...field]) + : searchForm.current.resetFields() + }, + // 获取当前列表数据 + getTableData(): CommonObjectType[] { + return tableData + } + })) + + return ( +
    + {/* 搜索栏 */} + {searchConfigList.length > 0 && ( + + )} + {/* 列表 */} + `共 ${all} 条` + }} + /> + + ) + } +) + +MyTable.defaultProps = { + searchConfigList: [], + ref: null, + extraProps: {}, + rowKey: 'id', + rowClassName: '', + small: false, + showHeader: true, + extraPagation: [], + beforeSearch: () => { }, + onSelectRow: () => { }, + onFieldsChange: () => { }, + sortConfig: () => { }, + expandedRowRender: null, + onExpand: () => { } +} + +export default MyTable diff --git a/src/components/SearchForm/index.tsx b/src/components/SearchForm/index.tsx new file mode 100644 index 0000000..2e0eec5 --- /dev/null +++ b/src/components/SearchForm/index.tsx @@ -0,0 +1,77 @@ +import React, { forwardRef, useImperativeHandle, FC } from 'react' +import { Form, Button } from 'antd' + +interface SearchProps { + config: object[]; + handleSearch: (arg0?: object) => void; + ref: RefType; + beforeSearch?: (arg0?: object) => void; + onFieldsChange?: (arg0?: unknown, arg1?: unknown) => void; +} + +const SearchForm: FC = forwardRef( + (props: SearchProps, ref: RefType) => { + const { config, handleSearch, beforeSearch, onFieldsChange } = props + const [form] = Form.useForm() + const getFields = (): JSX.Element[] => { + return config.map((item: CommonObjectType) => { + return ( + + {item.slot} + + ) + }) + } + + const emitSearch = (values: object): void => { + // beforeSearch用于处理一些特殊情况 + beforeSearch(values) + handleSearch(values) + } + + const initialValues = config.reduce( + (prev: CommonObjectType, next: CommonObjectType) => ({ + ...prev, + [next.key]: next.initialValue + }), + {} + ) + + useImperativeHandle(ref, () => ({ + // 重置搜索字段 + resetFields(field: string[]) { + return field ? form.resetFields([...field]) : form.resetFields() + } + })) + + return ( +
    + {getFields()} + + + + + ) + } +) + +SearchForm.defaultProps = { + beforeSearch: () => {}, + onFieldsChange: () => {} +} + +export default SearchForm diff --git a/src/components/TabPanes/TabPanes.module.less b/src/components/TabPanes/TabPanes.module.less new file mode 100644 index 0000000..3ce6625 --- /dev/null +++ b/src/components/TabPanes/TabPanes.module.less @@ -0,0 +1,8 @@ +.tabs { + padding: 0 25px; + background: @component-background; + box-shadow: 0 1px 4px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.12); + height: 100%; + overflow-y: auto; + padding-top: 10px; +} diff --git a/src/components/TabPanes/index.tsx b/src/components/TabPanes/index.tsx new file mode 100644 index 0000000..3250add --- /dev/null +++ b/src/components/TabPanes/index.tsx @@ -0,0 +1,319 @@ +import React, { + FC, + useState, + useEffect, + useRef, + useCallback, + Component +} from 'react' +import { useHistory, useLocation } from 'react-router-dom' +import { Tabs, Alert, Dropdown, Menu } from 'antd' +import Home from '@/package/SimpleTrade/pages/home' +import { getKeyName, isAuthorized } from '@/assets/js/publicFunc' +import { SyncOutlined } from '@ant-design/icons' +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +import style from './TabPanes.module.less' + +const { TabPane } = Tabs + +const initPane = [ + { + title: '首页', + key: 'home', + content: Home, + closable: false, + path: '/' + } +] + +interface Props extends ReduxProps { + defaultActiveKey: string; + panesItem: { + title: string, + content: Component, + key: string, + closable: boolean, + path: string + }; + tabActiveKey: string; +} + +// 多页签组件 +const TabPanes: FC = (props) => { + const [activeKey, setActiveKey] = useState('') + const [panes, setPanes] = useState(initPane) + const [isReload, setIsReload] = useState(false) + const [selectedPanel, setSelectedPanel] = useState({}) + const pathRef: RefType = useRef('') + + const { + storeData: { curTab, reloadPath }, + setStoreData, + defaultActiveKey, + panesItem, + tabActiveKey + } = props + + const history = useHistory() + const { pathname, search } = useLocation() + + const fullPath = pathname + search + + // 记录当前打开的tab + const storeTabs = useCallback( + (ps): void => { + const pathArr = ps.reduce( + (prev: CommonObjectType[], next: CommonObjectType) => [ + ...prev, + next.path + ], + [] + ) + setStoreData('SET_CURTAB', pathArr) + }, + [setStoreData] + ) + + // 从本地存储中恢复已打开的tab列表 + const resetTabs = useCallback((): void => { + const initPanes = curTab.reduce( + (prev: CommonObjectType[], next: string) => { + const { title, tabKey, component: Content } = getKeyName(next) + return [ + ...prev, + { + title, + key: tabKey, + content: Content, + closable: tabKey !== 'home', + path: next + } + ] + }, + [] + ) + const { tabKey } = getKeyName(pathname) + setPanes(initPanes) + setActiveKey(tabKey) + }, [curTab, pathname]) + + // 初始化页面 + useEffect(() => { + resetTabs() + }, [resetTabs]) + + // tab切换 + const onChange = (tabKey: string): void => { + setActiveKey(tabKey) + } + + // 移除tab + const remove = (targetKey: string): void => { + const delIndex = panes.findIndex( + (item: CommonObjectType) => item.key === targetKey + ) + panes.splice(delIndex, 1) + + // 删除非当前tab + if (targetKey !== activeKey) { + const nextKey = activeKey + setPanes(panes) + setActiveKey(nextKey) + storeTabs(panes) + return + } + + // 删除当前tab,地址往前推 + const nextPath = curTab[delIndex - 1] + const { tabKey } = getKeyName(nextPath) + // 如果当前tab关闭后,上一个tab无权限,就一起关掉 + if (!isAuthorized(tabKey) && nextPath !== '/') { + remove(tabKey) + history.push(curTab[delIndex - 2]) + } else { + history.push(nextPath) + } + setPanes(panes) + storeTabs(panes) + } + + // tab新增删除操作 + const onEdit = (targetKey: string | any, action: string) => + action === 'remove' && remove(targetKey) + + // tab点击 + const onTabClick = (targetKey: string): void => { + const { path } = panes.filter( + (item: CommonObjectType) => item.key === targetKey + )[0] + history.push({ pathname: path }) + } + + // 刷新当前 tab + const refreshTab = (): void => { + setIsReload(true) + setTimeout(() => { + setIsReload(false) + }, 1000) + + setStoreData('SET_RELOADPATH', pathname + search) + setTimeout(() => { + setStoreData('SET_RELOADPATH', 'null') + }, 500) + } + + // 关闭其他或关闭所有 + const removeAll = async (isCloseAll?: boolean) => { + const { path, key } = selectedPanel + history.push(isCloseAll ? '/' : path) + + const homePanel = [ + { + title: '首页', + key: 'home', + content: Home, + closable: false, + path: '/' + } + ] + + const nowPanes = + key !== 'home' && !isCloseAll ? [...homePanel, selectedPanel] : homePanel + setPanes(nowPanes) + setActiveKey(isCloseAll ? 'home' : key) + storeTabs(nowPanes) + } + + useEffect(() => { + const newPath = pathname + search + + // 当前的路由和上一次的一样,return + if (!panesItem.path || panesItem.path === pathRef.current) return + + // 保存这次的路由地址 + pathRef.current = newPath + + const index = panes.findIndex( + (_: CommonObjectType) => _.key === panesItem.key + ) + // 无效的新tab,return + if (!panesItem.key || (index > -1 && newPath === panes[index].path)) { + setActiveKey(tabActiveKey) + return + } + + // 新tab已存在,重新覆盖掉(解决带参数地址数据错乱问题) + if (index > -1) { + panes[index].path = newPath + setPanes(panes) + setActiveKey(tabActiveKey) + return + } + + // 添加新tab并保存起来 + panes.push(panesItem) + setPanes(panes) + setActiveKey(tabActiveKey) + storeTabs(panes) + }, [panes, panesItem, pathname, resetTabs, search, storeTabs, tabActiveKey]) + + const isDisabled = () => selectedPanel.key === 'home' + // tab右击菜单 + const menu = ( + + refreshTab()} + disabled={selectedPanel.path !== fullPath} + > + 刷新 + + { + e.domEvent.stopPropagation() + remove(selectedPanel.key) + }} + disabled={isDisabled()} + > + 关闭 + + { + e.domEvent.stopPropagation() + removeAll() + }} + > + 关闭其他 + + { + e.domEvent.stopPropagation() + removeAll(true) + }} + disabled={isDisabled()} + > + 全部关闭 + + + ) + // 阻止右键默认事件 + const preventDefault = (e: CommonObjectType, panel: object) => { + e.preventDefault() + setSelectedPanel(panel) + } + + return ( +
    + + {panes.map((pane: CommonObjectType) => ( + + preventDefault(e, pane)}> + {isReload && + pane.path === fullPath && + pane.path !== '/403' && ( + + )} + {pane.title} + + + } + > + {reloadPath !== pane.path ? ( + + ) : ( +
    + +
    + )} +
    + ))} +
    +
    + ) +} + +export default connect( + (state) => state, + actions +)(TabPanes) diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 0000000..f85cb83 --- /dev/null +++ b/src/config/index.ts @@ -0,0 +1,10 @@ +export const httpIp = { + simpleTradeKey: { + dev: 'http://125.94.244.254:30303/api/v1', + prod: 'https://simpletrade.site/api/v1' + } +} + +export const getBaseURL = () => { + return httpIp.simpleTradeKey.dev +} diff --git a/src/index.tsx b/src/index.tsx new file mode 100644 index 0000000..08df439 --- /dev/null +++ b/src/index.tsx @@ -0,0 +1,26 @@ +import React from 'react' +import ReactDOM from 'react-dom' + +import { Provider as ReduxProvider } from 'react-redux' +import { PersistGate } from 'redux-persist/lib/integration/react' +import { store, persistor } from '@/store' +import { ConfigProvider } from 'antd' +import zhCN from 'antd/es/locale/zh_CN' +import moment from 'moment' +import 'moment/locale/zh-cn' +import App from './App' +import '@/assets/css/public.less' +import '@/utils' + +moment.locale('zh-cn') + +ReactDOM.render( + + + + + + + , + document.getElementById('root') +) diff --git a/src/package/SimpleTrade/api/admin-permission.ts b/src/package/SimpleTrade/api/admin-permission.ts new file mode 100644 index 0000000..e68776d --- /dev/null +++ b/src/package/SimpleTrade/api/admin-permission.ts @@ -0,0 +1,26 @@ +import $axios from '@/utils/axios' + +export default { + getAdminPermissions(params?: object): Promise> { + return $axios.get('/admin/adminpermissions', params) + }, + + getAdminPermission(id: number | string): Promise> { + return $axios.get(`/admin/adminpermissions/${id}`) + }, + + addAdminPermission(params: object): Promise> { + return $axios.post('/admin/adminpermissions', params) + }, + + updateAdminPermission( + id: number, + params: object + ): Promise> { + return $axios.put(`/admin/adminpermissions/${id}`, params) + }, + + deleteAdminPermission(params: object): Promise> { + return $axios.delete('/admin/adminpermissions', params) + } +} diff --git a/src/package/SimpleTrade/api/admin-user.ts b/src/package/SimpleTrade/api/admin-user.ts new file mode 100644 index 0000000..d30b230 --- /dev/null +++ b/src/package/SimpleTrade/api/admin-user.ts @@ -0,0 +1,33 @@ +import $axios from '@/utils/axios' + +export default { + getAdminUserList(params?: object): Promise> { + return $axios.get('/admin/adminusers', params) + }, + + getAdminUser(id: number | string): Promise> { + return $axios.get(`/admin/adminusers/${id}`) + }, + + addAdminUser(params: object): Promise> { + return $axios.post('/admin/adminusers', params) + }, + + updateAdminUser( + id: number | string, + params: object + ): Promise> { + return $axios.put(`/admin/adminusers/${id}`, params) + }, + + updateAdminUserPwd( + id: number, + params: object + ): Promise> { + return $axios.put(`/admin/adminusers/pwd/${id}`, params) + }, + + deleteAdminUser(params: object): Promise> { + return $axios.delete('/admin/adminusers', params) + } +} diff --git a/src/package/SimpleTrade/api/client.ts b/src/package/SimpleTrade/api/client.ts new file mode 100644 index 0000000..828350b --- /dev/null +++ b/src/package/SimpleTrade/api/client.ts @@ -0,0 +1,105 @@ +import $axios from '@/utils/axios' + +export default { + /** + * @description 获取用户列表 + * @param {page} 页 + * @param {page_size} 数量 + */ + user_list(params?: object): Promise> { + return $axios.post('/admin/user/list', params); + }, + + /** + * @description 获取提现列表 + * @param {page} 页 + * @param {page_size} 数量 + */ + withdraw_list(params?: object): Promise> { + return $axios.post('/admin/chain/withdraw', params); + }, + + /** + * @description 获取提现列表 + * @param {page} 页 + * @param {page_size} 数量 + */ + recharge_list(params?: object): Promise> { + return $axios.post('/admin/chain/deposit', params); + }, + + /** + * @description 获取邀请关系网 + */ + user_relation(): Promise> { + return $axios.post('/admin/user/relation'); + }, + + /** + * @description 追加邀请 + */ + add_relation(params: object): Promise> { + return $axios.post('/admin/user/relation/add', params); + }, + + /** + * @description MT4历史记录 + */ + mt4_history(params: object): Promise> { + return $axios.post('/admin/forex/mt4/history', params); + }, + + /** + * @description MT4下单列表 + */ + mt4_order_list(params: object): Promise> { + return $axios.post('/admin/forex/order/list', params); + }, + + /** + * @description MT4结算列表 + */ + mt4_settle_list(params: object): Promise> { + return $axios.post('/admin/forex/settle/list', params); + }, + + /** + * @description 设置等级 + */ + up_levle(params: object): Promise> { + return $axios.post('/admin/debug/upLevel', params); + }, + + /** + * @description 创建模拟账号 + */ + add_debug_user(params: object): Promise> { + return $axios.post('/admin/debug/addDebugUser', params); + }, + + /** + * @description 提币审核 + */ + withdraw_check(params: object): Promise> { + return $axios.post('/admin/chain/withdraw/check', params); + }, + + /** + * @description 平仓 + */ + close_order(params: object): Promise> { + return $axios.post('/admin/forex/orderClose', params); + }, + /** + * @description 修改昵称 + */ + user_rename(params: object): Promise> { + return $axios.post('/admin/user/upRemark', params); + }, + /** + * @description 修改昵称 + */ + user_deactivate(params: object): Promise> { + return $axios.post('/admin/user/upDeactivate', params); + } +} \ No newline at end of file diff --git a/src/package/SimpleTrade/api/index.ts b/src/package/SimpleTrade/api/index.ts new file mode 100644 index 0000000..9388bda --- /dev/null +++ b/src/package/SimpleTrade/api/index.ts @@ -0,0 +1,40 @@ +import $axios from '@/utils/axios' + +export default { + // 获取数据 + getList(params?: object): Promise> { + return $axios.get('https://randomuser.me/api', params) + }, + + // 登录 + login(params: object): Promise> { + return $axios.post('/admin/login', params) + }, + + // 首页用户统计 + user_statistics(): Promise> { + return $axios.post('/admin/userAmount') + }, + + // 首页充值提现统计 + recharge_withdraw_statistics(): Promise> { + return $axios.post('/admin/depositWithdrawal', { type: 1 }) + }, + + // 首页周期充值提现统计 + week_recharge_withdraw_statistics( + params: object + ): Promise> { + return $axios.post('/admin/depositWithdrawal', params) + }, + + /** + * @description 交易统计 + * @param {number} end_time 结束时间 + * @param {number} start_time 开始时间 + * @param {number} type 1.今日交易订单统计 2.周期交易订单统计 + */ + transaction_statistics(params?: object): Promise> { + return $axios.post('/admin/prodruct', params) + } +} diff --git a/src/package/SimpleTrade/config/layout.ts b/src/package/SimpleTrade/config/layout.ts new file mode 100644 index 0000000..0dd2b9b --- /dev/null +++ b/src/package/SimpleTrade/config/layout.ts @@ -0,0 +1,68 @@ +const formItemLayout = { + labelCol: { + xs: { span: 24 }, + sm: { span: 3 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 17 } + } +} + +const wrapperCol = { + xs: { span: 24, offset: 0 }, + sm: { span: 16, offset: 3 } +} + +const modalLayoutSm = { + labelCol: { + xs: { span: 4 }, + sm: { span: 4 } + }, + wrapperCol: { + xs: { span: 20 }, + sm: { span: 20 } + } +} + +const modalLayoutSm5 = { + labelCol: { + xs: { span: 5 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 20 }, + sm: { span: 20 } + } +} + +const modalLayoutMd = { + labelCol: { + xs: { span: 6 }, + sm: { span: 6 } + }, + wrapperCol: { + xs: { span: 18 }, + sm: { span: 18 } + } +} + +const modalLayoutLg = { + labelCol: { + xs: { span: 8 }, + sm: { span: 8 } + }, + wrapperCol: { + xs: { span: 16 }, + sm: { span: 16 } + } +} + +export { + formItemLayout, + wrapperCol, + modalLayoutSm, + modalLayoutSm5, + modalLayoutMd, + modalLayoutLg +} diff --git a/src/package/SimpleTrade/config/menu.ts b/src/package/SimpleTrade/config/menu.ts new file mode 100644 index 0000000..b5c5339 --- /dev/null +++ b/src/package/SimpleTrade/config/menu.ts @@ -0,0 +1,117 @@ +import { HomeOutlined, UserOutlined, AuditOutlined } from '@ant-design/icons' + +const menus = [ + { + path: '/', + name: '首页', + key: 'home', + icon: HomeOutlined, + routes: [], + }, + { + path: '/adminuser', + name: '用户管理', + key: 'adminuser', + type: 'subMenu', + icon: UserOutlined, + iconfont: 'icon-xiaoshouzongjian', + routes: [ + { + path: '/adminuser/list', + name: '用户列表', + key: 'adminuser:list:view' + } + ] + }, + { + path: '/adminpermission', + name: '权限管理', + key: 'adminpermission', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/adminpermission/list', + name: '权限列表', + key: 'adminpermission:list:view', + remove: true + } + ] + }, + { + path: '/admininvite', + name: '邀请', + key: 'admininvite', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/admininvite/chart', + name: '关联图', + key: 'admininvite:list:chart' + } + ] + }, + { + path: '/adminupload', + name: '上传管理', + key: 'adminupload', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/adminupload/uploadapk', + name: '上传APK', + key: 'admininvite:list:uploadapk' + } + ] + }, + { + path: '/client', + name: '客户端', + key: 'client', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/client/userlist', + name: '用户列表', + exact: true, + key: 'client:userlist:view', + remove: true + }, + { + path: '/client/recharge', + name: '充值记录', + exact: true, + key: 'client:recharge:view', + }, + { + path: '/client/withdraw', + name: '提现记录', + exact: true, + key: 'client:withdraw:view', + }, + { + path: '/client/mt4history', + name: 'MT4历史记录', + exact: true, + key: 'client:mt4history:view', + }, + { + path: '/client/mt4order', + name: 'MT4订单列表', + exact: true, + key: 'client:mt4order:view', + }, + { + path: '/client/mt4settlementorder', + name: 'MT4结算订单列表', + exact: true, + key: 'client:mt4settlementorder:view', + } + ] + } +] + +export default menus diff --git a/src/package/SimpleTrade/pages/admininvite/chart/data.ts b/src/package/SimpleTrade/pages/admininvite/chart/data.ts new file mode 100644 index 0000000..496bee5 --- /dev/null +++ b/src/package/SimpleTrade/pages/admininvite/chart/data.ts @@ -0,0 +1,53 @@ +import dagre from 'dagre'; +const edgeType = 'smoothstep'; + +export const flattenTree = (tree) => { + let stack = [tree]; + let nodes = []; + let edges = []; + while (stack.length > 0) { + let node = stack.pop(); + nodes.push({ id: node.id, data: { ...node.data, label: `${node.data.name}` }, position: node.position }); + if (node.children && node.children.length > 0) { + node.children.map(item => { + edges.push({ source: node.id, target: item.id, id: item.id, type: edgeType, animated: true }); + stack.unshift(item); + }); + }; + }; + return { nodes, edges }; +}; + +export const getLayoutedElements = (nodes, edges, direction = 'TB') => { + const dagreGraph = new dagre.graphlib.Graph(); + dagreGraph.setDefaultEdgeLabel(() => ({})); + + const nodeWidth = 172; + const nodeHeight = 36; + const isHorizontal = direction === 'LR'; + dagreGraph.setGraph({ rankdir: direction }); + + nodes.forEach((node: any) => { + dagreGraph.setNode(node.id, { width: nodeWidth, height: nodeHeight }); + }); + + edges.forEach((edge: any) => { + dagreGraph.setEdge(edge.source, edge.target); + }); + + dagre.layout(dagreGraph); + + nodes.forEach((node: any) => { + const nodeWithPosition = dagreGraph.node(node.id); + node.targetPosition = isHorizontal ? 'left' : 'top'; + node.sourcePosition = isHorizontal ? 'right' : 'bottom'; + node.position = { + x: nodeWithPosition.x - nodeWidth / 2, + y: nodeWithPosition.y - nodeHeight / 2, + }; + + return node; + }); + + return { nodes, edges }; +}; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/admininvite/chart/index.tsx b/src/package/SimpleTrade/pages/admininvite/chart/index.tsx new file mode 100644 index 0000000..9dd0243 --- /dev/null +++ b/src/package/SimpleTrade/pages/admininvite/chart/index.tsx @@ -0,0 +1,131 @@ +import React, { useCallback, FC, useEffect, useState, useRef } from 'react'; +import ReactFlow, { + addEdge, + ConnectionLineType, + useNodesState, + useEdgesState, + Controls +} from 'react-flow-renderer'; +import { getLayoutedElements, flattenTree } from './data'; +import { Button, Input, Modal, notification } from 'antd'; +import clientApi from '@/package/SimpleTrade/api/client'; + +const InviteChart: FC = () => { + const [nodes, setNodes, onNodesChange] = useNodesState([]); + const [edges, setEdges, onEdgesChange] = useEdgesState([]); + const [isOpenModal, setIsOpenModal] = useState(false) + const [loading, setLoading] = useState(false) + const [inviteCode, setInviteCode] = useState('') + const [address, setAddress] = useState('') + + const onConnect = useCallback( + (params: any) => { + setEdges((eds) => + addEdge({ ...params, type: ConnectionLineType.SmoothStep, animated: true }, eds) + ) + }, + [] + ); + + const onLayout = useCallback( + (direction: any) => { + const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements( + nodes, + edges, + direction + ); + + setNodes([...layoutedNodes]); + setEdges([...layoutedEdges]); + }, + [nodes, edges] + ); + + // 获取节点 + const getNodes = async () => { + const res: any = await clientApi.user_relation(); + if (res.code === 0 && Object.keys(res.data).length > 0) { + let { nodes, edges } = flattenTree(res.data) // 处理节点及连接线 + let { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(nodes, edges)//计算节点位置 + setNodes(layoutedNodes) + setEdges(layoutedEdges) + }; + }; + + // 添加 + const addNodes = async () => { + if (!address) { + notification.error({ + message: '请输入地址' + }) + return; + } + setLoading(true) + try { + const res: any = await clientApi.add_debug_user({ + address, + invite_code: inviteCode + }); + setLoading(false) + if (res.code === 0) { + notification.success({ + message: '创建成功' + }) + getNodes() + setIsOpenModal(false) + // let { nodes, edges } = flattenTree(res.data) // 处理节点及连接线 + // let { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(nodes, edges)//计算节点位置 + // setNodes(layoutedNodes) + // setEdges(layoutedEdges) + } + } catch (error) { + setLoading(false) + } + } + + useEffect(() => { + getNodes(); + }, []); + + useEffect(() => { + if (!isOpenModal) { + setInviteCode('') + setAddress('') + } + }, [isOpenModal]) + + return ( +
    + + +
    + { + setInviteCode(node.data.invite_code) + setIsOpenModal(true) + }} + > + + +
    + setIsOpenModal(false)} + onOk={addNodes} + title="创建模拟账号" + confirmLoading={loading} + > + setAddress(e.target.value)} placeholder="请输入地址" /> + +
    + ); +}; + +export default InviteChart; diff --git a/src/package/SimpleTrade/pages/adminpermission/list/index.tsx b/src/package/SimpleTrade/pages/adminpermission/list/index.tsx new file mode 100644 index 0000000..6d65f24 --- /dev/null +++ b/src/package/SimpleTrade/pages/adminpermission/list/index.tsx @@ -0,0 +1,268 @@ +import React, { FC, useEffect, useRef, useState } from 'react' +import { + isAuthorized, + makeTree, + makeTreeSelectData +} from '@/assets/js/publicFunc' +import { + Button, + Table, + Modal, + Form, + Switch, + Input, + TreeSelect, + message, + Spin +} from 'antd' +import { modalLayoutSm } from '@/package/SimpleTrade/config/layout' +import AdminPermissionApi from '@/package/SimpleTrade/api/admin-permission' +import SearchForm from '@/components/SearchForm' + +interface AdminPermission { + id: number; + name: string; + code: string; + isHelp: boolean; + parentId: number; + updateTime: string; + createTime: string; +} + +const AdminPermissionList: FC = () => { + const [loading, setLoading] = useState(false) + const [btnLoading, setBtnLoading] = useState(false) + const [visible, setVisible] = useState(false) + const [title, setTitle] = useState('新增权限') + const [permissionId, setPermissionId] = useState(0) + const [permissionList, setPermissionList] = useState>([]) + const [treeSelectList, setTreeSelectList] = useState>([]) + const [form] = Form.useForm() + const { setFieldsValue, getFieldsValue, resetFields } = form + const searchForm = useRef() + + const getAdminPermissions = (search: object = {}) => { + AdminPermissionApi.getAdminPermissions(search).then((res: any) => { + const permissions = res.data ? res.data : [] + const adminPermissionsTree = makeTree(permissions) + setPermissionList(adminPermissionsTree) + }) + } + + const setTreeSelectData = () => { + const root = [{ value: 0, title: '根所属' }] + const treeSelectData = root.concat( + makeTreeSelectData(permissionList, 'id', 'name') + ) + setTreeSelectList(treeSelectData) + } + + useEffect(() => { + getAdminPermissions() + // eslint-disable-next-line + }, []) + + const add = () => { + resetFields() + setPermissionId(0) + setVisible(true) + setTitle('新增权限') + setFieldsValue({ parentId: 0, code: '' }) + setTreeSelectData() + } + + const edit = (record: any) => { + setPermissionId(record.id) + setFieldsValue({ ...record }) + setVisible(true) + setTitle('编辑权限') + setTreeSelectData() + } + + const handleSearch = (values) => { + getAdminPermissions(values) + } + + const cancelModel = () => { + setVisible(false) + } + + const delAdminPermission = (record: AdminPermission) => { + setBtnLoading(true) + const ids = [record.id] + AdminPermissionApi.deleteAdminPermission(ids) + .then((res) => { + message.success(res.message) + getAdminPermissions() + }) + .finally(() => { + setBtnLoading(false) + }) + } + + const handleSubmit = () => { + setLoading(true) + if (permissionId) { + AdminPermissionApi.updateAdminPermission(permissionId, getFieldsValue()) + .then((res) => { + message.success(res.message) + setVisible(false) + getAdminPermissions() + }) + .finally(() => { + setLoading(false) + }) + } else { + AdminPermissionApi.addAdminPermission(getFieldsValue()) + .then((res) => { + message.success(res.message) + setVisible(false) + getAdminPermissions() + }) + .finally(() => { + setLoading(false) + }) + } + } + const AddBtn = () => ( + + ) + const columns: any = [ + { + title: '名称', + dataIndex: 'name' + }, + { + title: '权限标识', + dataIndex: 'code' + }, + { + title: '操作', + dataIndex: 'operations', + align: 'center', + render: (text, record) => ( + <> + {isAuthorized('adminpermission:list:del') && ( + + )} + {isAuthorized('adminpermission:list:edit') && ( + + )} + + ) + } + ] + + // 搜索栏配置项 + const searchConfigList = [ + { + key: 'name', + slot: , + initialValue: '' + } + ] + const nameValidator = (rule, value) => { + if (!value) { + return Promise.reject(new Error('请输入名称')) + } + return Promise.resolve() + } + const codeValidator = (rule, value) => { + const parentId = form.getFieldValue('parentId') + const isHelp = form.getFieldValue('isHelp') + if (isHelp) { + return Promise.resolve() + } + if (!parentId && !value) { + return Promise.reject(new Error('请输入权限标识')) + } + if (!parentId && !/^[a-zA-Z0-9:]+$/.test(value)) { + return Promise.reject(new Error('权限标识格式不正确')) + } + return Promise.resolve() + } + return ( + <> + {isAuthorized('adminpermission:list:add') && } + {visible && ( + + +
    + + + + + + + + + + + + + + + + +
    +
    + )} + +
    record.id} + columns={columns} + dataSource={permissionList} + pagination={false} + /> + + ) +} + +export default AdminPermissionList diff --git a/src/package/SimpleTrade/pages/adminupload/uploadapk/index.tsx b/src/package/SimpleTrade/pages/adminupload/uploadapk/index.tsx new file mode 100644 index 0000000..03ffcba --- /dev/null +++ b/src/package/SimpleTrade/pages/adminupload/uploadapk/index.tsx @@ -0,0 +1,43 @@ +import React, { FC } from 'react'; +import { InboxOutlined } from '@ant-design/icons'; +import { message, Upload } from 'antd'; + +const props = { + name: 'file', + multiple: true, + action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76', + onChange(info) { + const { status } = info.file; + if (status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (status === 'done') { + message.success(`${info.file.name} file uploaded successfully.`); + } else if (status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, + onDrop(e) { + console.log('Dropped files', e.dataTransfer.files); + }, +}; + +const { Dragger } = Upload; + +const UploadAPK: FC = () => { + return ( +
    +
    + +

    + +

    +

    点击进行上传

    +

    把需要上传的文件拖拽至此处

    +
    +
    +
    + ) +} + +export default UploadAPK; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/adminuser/adminuser.less b/src/package/SimpleTrade/pages/adminuser/adminuser.less new file mode 100644 index 0000000..167d5e3 --- /dev/null +++ b/src/package/SimpleTrade/pages/adminuser/adminuser.less @@ -0,0 +1,3 @@ +.mr-5 { + margin-right: 5px; +} diff --git a/src/package/SimpleTrade/pages/adminuser/edit/index.tsx b/src/package/SimpleTrade/pages/adminuser/edit/index.tsx new file mode 100644 index 0000000..d94d1f0 --- /dev/null +++ b/src/package/SimpleTrade/pages/adminuser/edit/index.tsx @@ -0,0 +1,211 @@ +import React, { useState, FC, useEffect } from 'react' +import { useHistory } from 'react-router-dom' +import { Form, Input, Button, message, Spin, Tree } from 'antd' +import { formItemLayout, wrapperCol } from '@/package/SimpleTrade/config/layout' +import { + closeTabAction, + getQuery, + makeTree, + makeTreeData, + treeFindParentById, + diffArray +} from '@/assets/js/publicFunc' +import MySelect from '@/components/MySelect' +import AdminUserApi from '@/package/SimpleTrade/api/admin-user' +import AdminPermissionApi from '@/package/SimpleTrade/api/admin-permission' + +const FormView: FC = () => { + const query = getQuery() + const { id } = query + + // 原始权限tree + let originalTreeData: Array = [] + + const [form] = Form.useForm() + const { setFieldsValue, getFieldsValue, resetFields } = form + + const [loading, setLoading] = useState(false) + const [treeData, setTreeData] = useState>([]) + const [checkedKeys, setCheckedKeys] = useState>([]) + + const history: CommonObjectType = useHistory() + + // 获取权限列表数据 + const getPermissions = async () => { + await AdminPermissionApi.getAdminPermissions().then((res: any) => { + const data: Array = res.data ? res.data : [] + originalTreeData = makeTree(data) + const treeDataTemp = makeTreeData(originalTreeData, 'id', 'name') + setTreeData(treeDataTemp) + }) + } + + useEffect(() => { + getPermissions() + if (id) { + AdminUserApi.getAdminUser(id).then((res) => { + const data: any = res.data ? res.data : {} + const adminUsers = data.adminUser ? data.adminUser : {} + const permissions = data.permissions ? data.permissions : [] + const permissionIds = permissions.map((item) => { + return item.permissionId + }) + + // tree父子受控回显需要过滤掉父级ID + let parents: Array = [] + + permissionIds.forEach((item: number | string) => { + const temp: Array = treeFindParentById( + originalTreeData, + item + ) + parents = parents.concat(temp) + }) + + const checkIds: Array = diffArray( + permissionIds, + parents + ) + setCheckedKeys(checkIds) + + adminUsers.status = adminUsers.status.toString() + resetFields() + setFieldsValue({ ...adminUsers }) + }) + } else { + setFieldsValue({ status: '1' }) + } + // eslint-disable-next-line + }, [id]) + + const onCheck = (checkedKeysValue: any) => { + setCheckedKeys(checkedKeysValue) + setFieldsValue({ permissions: checkedKeysValue }) + } + + const handleSubmit = () => { + setLoading(true) + const submitForm: any = { ...getFieldsValue() } + if (typeof submitForm.status === 'string') { + submitForm.status = parseInt(submitForm.status, 0) + } + if (id) { + AdminUserApi.updateAdminUser(id, submitForm) + .then((res) => { + message.success(res.message) + }) + .finally(() => { + setLoading(false) + }) + } else { + AdminUserApi.addAdminUser(submitForm) + .then((res) => { + setLoading(false) + message.success(res.message) + const returnUrl = '/adminuser/list' + closeTabAction(history, returnUrl) + }) + .catch(() => { + setLoading(false) + }) + } + } + + const nameValidator = (rule, value) => { + if (value.length < 4) { + return Promise.reject(new Error('用户名最少4个字符')) + } + if (!/^[a-zA-Z0-9]{4,}$/.test(value)) { + return Promise.reject(new Error('用户名只能是数字字母下划线组合')) + } + return Promise.resolve() + } + + const repasswordValidator = (rule, value) => { + const password = form.getFieldValue('password') + if (password && password !== value) { + return Promise.reject(new Error('两次密码输入不一致')) + } + return Promise.resolve() + } + + return ( + +
    + + + + {!id && ( + + + + )} + {!id && ( + + + + )} + + + + + + + + + + +
    + ) +} + +export default FormView diff --git a/src/package/SimpleTrade/pages/adminuser/list/index.tsx b/src/package/SimpleTrade/pages/adminuser/list/index.tsx new file mode 100644 index 0000000..338fe85 --- /dev/null +++ b/src/package/SimpleTrade/pages/adminuser/list/index.tsx @@ -0,0 +1,250 @@ +import React, { useRef, FC, useState } from 'react' +import { useHistory } from 'react-router-dom' +import { Button, Form, Input, Modal, Tag, Spin, message } from 'antd' +import MyTable from '@/components/MyTable' +import { isAuthorized } from '@/assets/js/publicFunc' +import MySelect from '@/components/MySelect' +import AdminUserApi from '@/package/SimpleTrade/api/admin-user' +import { modalLayoutSm5 } from '@/package/SimpleTrade/config/layout' +import '../adminuser.less' + +interface AdminUser { + id: number; + name: string; + status: number; + updateTime: string; + createTime: string; +} + +const StatusArr: Array = ['冻结', '正常'] + +const StatusTagArr: Array = ['gold', 'blue'] + +const AdminUserList: FC = () => { + const tableRef: RefType = useRef() + const history = useHistory() + const [form] = Form.useForm() + const { getFieldsValue, resetFields } = form + + const [loading, setLoading] = useState(false) + const [btnLoading, setBtnLoading] = useState(false) + const [visible, setVisible] = useState(false) + const [id, setId] = useState(0) + const [delIds, setDelIds] = useState>([]) + const [delDisabeld, setDelDisabeld] = useState(true) + + const addAdminUser = () => { + history.push('/adminuser/list/add') + } + + const editAdminUserPwd = (record: AdminUser) => { + resetFields() + setVisible(true) + setId(record.id) + } + + const cancelModel = () => { + setVisible(false) + } + + const editAdminUser = (record: AdminUser) => { + history.push(`/adminuser/list/edit?id=${record.id}`) + } + + const onSelectRow = (rowKeys: Array) => { + setDelIds(rowKeys) + if (rowKeys.length > 0) { + setDelDisabeld(false) + } else { + setDelDisabeld(true) + } + } + + const repasswordValidator = (rule, value) => { + const password = form.getFieldValue('password') + if (password && password !== value) { + return Promise.reject(new Error('两次密码输入不一致')) + } + return Promise.resolve() + } + + const delAdminUser = () => { + setBtnLoading(true) + AdminUserApi.deleteAdminUser(delIds) + .then((res: any) => { + message.success(res.message) + tableRef.current.update() + }) + .finally(() => { + setBtnLoading(false) + }) + } + + const handleSubmit = () => { + setLoading(true) + const submitForm = { ...getFieldsValue() } + AdminUserApi.updateAdminUserPwd(id, submitForm) + .then((res: any) => { + message.success(res.message) + }) + .finally(() => { + setLoading(false) + }) + } + + // 搜索栏配置项 + const searchConfigList = [ + { + key: 'name', + slot: , + initialValue: '' + }, + { + key: 'status', + slot: ( + + ) + } + ] + const columns = [ + { + title: '用户名', + dataIndex: 'name' + }, + { + title: '状态', + dataIndex: 'status', + render: (status: number) => ( + <> + {StatusArr[status]} + + ) + }, + { + title: '更新时间', + dataIndex: 'updateTime' + }, + { + title: '创建时间', + dataIndex: 'createTime' + }, + { + title: '操作', + dataIndex: 'operations', + align: 'center', + render: (text, record) => ( + <> + {isAuthorized('adminuser:list:edit') && ( +
    + + +
    + )} + + ) + } + ] + + const delAdminUserEl = ( + + ) + + const addAdminUserEl = ( + + ) + + return ( + <> + {visible && ( + + +
    + + + + + + + + + + +
    +
    + )} + {isAuthorized('adminuser:list:add') && addAdminUserEl} + {isAuthorized('adminuser:list:del') && delAdminUserEl} + + + ) +} +export default AdminUserList diff --git a/src/package/SimpleTrade/pages/client/mt4history/index.tsx b/src/package/SimpleTrade/pages/client/mt4history/index.tsx new file mode 100644 index 0000000..db1bd41 --- /dev/null +++ b/src/package/SimpleTrade/pages/client/mt4history/index.tsx @@ -0,0 +1,61 @@ +import MyTable from "@/components/MyTable"; +import React, { FC } from "react"; +import clientApi from "@/package/SimpleTrade/api/client"; +import { Input } from "antd"; + +const MT4History: FC = () => { + + const column = [ + { + title: '订单号', + dataIndex: 'ticket', + align: 'center' + }, + { + title: '手数', + dataIndex: 'volume', + align: 'center' + }, + { + title: '开仓价格', + dataIndex: 'open_price', + align: 'center' + }, + { + title: '开仓时间', + dataIndex: 'open_time', + align: 'center' + }, + { + title: '平仓价格', + dataIndex: 'close_price', + align: 'center' + }, + { + title: '平仓时间', + dataIndex: 'close_time', + align: 'center' + }, + ] + + const searchConfigList = [ + { + key: 'login', + slot: , + initialValue: '', + } + ] + + return ( +
    + +
    + ) +} + +export default MT4History; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/client/mt4order/index.tsx b/src/package/SimpleTrade/pages/client/mt4order/index.tsx new file mode 100644 index 0000000..fbd1045 --- /dev/null +++ b/src/package/SimpleTrade/pages/client/mt4order/index.tsx @@ -0,0 +1,110 @@ +import React, { FC, useState, useMemo, useRef } from "react"; +import MyTable from "@/components/MyTable"; +import clientApi from "@/package/SimpleTrade/api/client"; +import { Button, Modal, notification } from "antd"; + +const MT4Order: FC = () => { + + const tableRefs = useRef() + const [visible, setVisible] = useState(false) + const [currentItem, setCurrentItem] = useState({} as { [key: string]: any }) + const statusText = useMemo(() => ( + { + '-2': '创建订单失败', + '-1': '取消订单', + '0': '发送前', + '1': '挂单中', + '2': '寻找B仓', + '3': '止盈止损设置', + '4': '持仓中', + '5': '已结算', + } + ), []) + + const column = useMemo(() => [ + { + title: '订单ID', + dataIndex: 'order' + }, + { + title: '账号', + dataIndex: 'login' + }, + { + title: '开仓价格', + dataIndex: 'open_price' + }, + { + title: '开仓时间', + dataIndex: 'open_time', + render: (_time) => (
    {_time}
    ) + }, + { + title: '平仓价格', + dataIndex: 'close_price', + }, + { + title: '平仓时间', + dataIndex: 'close_time', + render: (time) =>
    {time.indexOf('1970-01-01') < 0 && time}
    + }, + { + title: '状态', + dataIndex: 'handle_status', + render: (status) => ( +
    {statusText[`${status}`] || ''}
    + ) + }, + // { + // title: '操作', + // dataIndex: 'operations', + // align: 'center', + // key: Date.now(), + // render: (text, record) => ( + //
    + // {record.account_forex_type === 1 && record.handle_status === 4 && ( + // + // )} + //
    + // ) + // } + ], []) + + // const closePosition = async () => { + // let params = { + // login: currentItem.login, + // ticket: `${currentItem.order}`, + // volume: currentItem.volume + // } + // setVisible(false) + // const res: any = await clientApi.close_order(params) + // if (res.code === 0) { + // notification.success({ + // message: '平仓成功' + // }) + // setCurrentItem({}) + // setTimeout(() => { + // tableRefs.current?.update() + // }, 1000) + // } + // } + + return ( +
    + + {/* setVisible(false)} title='提示' onOk={closePosition}> +
    确认平仓吗?
    +
    */} +
    + ) +} + +export default MT4Order; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/client/mt4settlementorder/index.tsx b/src/package/SimpleTrade/pages/client/mt4settlementorder/index.tsx new file mode 100644 index 0000000..9798865 --- /dev/null +++ b/src/package/SimpleTrade/pages/client/mt4settlementorder/index.tsx @@ -0,0 +1,47 @@ +import MyTable from "@/components/MyTable"; +import React, { FC } from "react"; +import clientApi from "@/package/SimpleTrade/api/client"; + +const MT4SettlementOrder: FC = () => { + + const columns = [ + { + title: '订单ID', + dataIndex: 'ticket' + }, + { + title: '用户ID', + dataIndex: 'user_id', + align: 'center' + }, + { + title: '手数', + dataIndex: 'volume', + align: 'center', + render: (volume) => ( +
    {Number(volume) / 100}
    + ) + }, + { + title: '开仓价格', + dataIndex: 'open_price', + align: 'center' + }, + { + title: '开仓时间', + dataIndex: 'open_time', + align: 'center' + }, + ] + + return ( +
    + +
    + ) +} + +export default MT4SettlementOrder; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/client/recharge/index.tsx b/src/package/SimpleTrade/pages/client/recharge/index.tsx new file mode 100644 index 0000000..328efb1 --- /dev/null +++ b/src/package/SimpleTrade/pages/client/recharge/index.tsx @@ -0,0 +1,90 @@ +import React, { FC } from "react"; +import clientApi from "@/package/SimpleTrade/api/client"; +import MyTable from "@/components/MyTable"; +import { Input } from "antd"; +import { copy, getTime, splitAddress } from "@/utils"; +import { CopyOutlined } from "@ant-design/icons"; + +const RechargeRecord: FC = () => { + const columns = [ + { + title: '账号ID', + dataIndex: 'a_mt4_login' + }, + { + title: '备注昵称', + dataIndex: 'remark' + }, + { + title: 'from地址', + dataIndex: 'from_address', + render: (address) => ( +
    +
    {splitAddress(address, 5)}
    +
    copy(address)}> + +
    +
    + ) + }, + { + title: 'to地址', + dataIndex: 'to_address', + render: (address) => ( +
    +
    {splitAddress(address, 5)}
    +
    copy(address)}> + +
    +
    + ) + }, + { + title: '充值状态', + dataIndex: 'status' + }, + { + title: '链ID', + dataIndex: 'chain_id' + }, + { + title: '区块高度', + dataIndex: 'block_height' + }, + { + title: '数量', + dataIndex: 'balance_real' + }, + { + title: '币种', + dataIndex: 'symbol' + }, + { + title: '时间', + dataIndex: 'create_time', + render: (_time) => (
    {getTime(_time * 1000)}
    ) + } + ] + + // 搜索栏配置项 + const searchConfigList = [ + { + key: 'name', + slot: , + initialValue: '' + } + ] + + return ( +
    + +
    + ) +}; + +export default RechargeRecord; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/client/user/index.tsx b/src/package/SimpleTrade/pages/client/user/index.tsx new file mode 100644 index 0000000..e01e502 --- /dev/null +++ b/src/package/SimpleTrade/pages/client/user/index.tsx @@ -0,0 +1,236 @@ +import React, { FC, useEffect, useMemo, useRef, useState } from "react"; +import clientApi from "@/package/SimpleTrade/api/client"; +import MyTable from "@/components/MyTable"; +import { Button, Input, Modal, notification, Popconfirm, Select } from "antd"; +import { copy, splitAddress } from "@/utils"; +import { CopyOutlined } from "@ant-design/icons"; + +const UserList: FC = () => { + + const [currentItem, setCurrentItem] = useState({} as any) + const [isModalOpen, setIsModalOpen] = useState(false) + const [lv, setLv] = useState(0); + const tableRefs = useRef() + const options = useMemo(() => [ + { value: 0, label: 'R' }, + { value: 1, label: 'G' }, + { value: 2, label: 'G1' }, + { value: 3, label: 'G2' }, + { value: 4, label: 'G3' }, + { value: 5, label: 'G4' }, + { value: 6, label: 'G5' }, + ], []) + const columns = [ + { + title: '邮箱', + dataIndex: 'email' + }, + { + title: '备注昵称', + dataIndex: 'remark' + }, + { + title: '地址', + dataIndex: 'address', + render: (address) => ( +
    +
    {splitAddress(address, 5)}
    +
    copy(address)}> + +
    +
    + ) + }, + { + title: 'A账号', + dataIndex: 'a_mt4_login' + }, + { + title: 'A仓余额', + dataIndex: 'a_mt4_balance' + }, + { + title: 'A仓订单数量', + dataIndex: 'a_product' + }, + { + title: 'B账号', + dataIndex: 'b_mt4_login' + }, + { + title: 'B仓余额', + dataIndex: 'b_mt4_balance' + }, + { + title: 'B仓订单数量', + dataIndex: 'b_product' + }, + { + title: '手数', + dataIndex: 'volume' + }, + { + title: '级别', + dataIndex: 'level', + render: (level) => ( +
    {options[level] ? options[level].label : level}
    + ) + }, + { + title: '保险开关', + dataIndex: 'insurance', + render: (status) => ( +
    {status === 1 ? '开' : '关'}
    + ) + }, + { + title: '邀请码', + dataIndex: 'invite_code' + }, + { + title: '推荐人', + dataIndex: 'referrer' + }, + { + title: '操作', + dataIndex: 'operations', + align: 'center', + fixed: 'right', + key: Date.now(), + width: 180, + render: (text, record) => { + return ( +
    +
    + + +
    +
    + deactivateAccount(record.invite_code,record.deactivate)}> + + +
    +
    + ) + } + } + ] + // 搜索栏配置项 + const searchConfigList = [ + { + key: 'name', + slot: , + initialValue: '' + } + ] + const nicknameRefs = useRef(null) + + const deactivateAccount = async (code:string,status:boolean)=>{ + const res:any = await clientApi.user_deactivate({ + invite_code:code, + deactivate:!status + }) + if(res.code === 0){ + notification.success({ + message: !status ? '停用成功' : '启用成功' + }) + tableRefs.current?.update() + } + } + + const rename = async (name: string, code: string) => { + Modal.confirm({ + title: '修改昵称', + content: ( + + ), + onOk: async () => { + let _name = nicknameRefs.current.state.value + const res: any = await clientApi.user_rename({ + invite_code: code, + remark: _name + }) + if (res.code === 0) { + notification.success({ + message: '设置成功' + }) + tableRefs.current?.update() + } + }, + onCancel: () => { + nicknameRefs.current && nicknameRefs.current.setValue('') + }, + + }) + setTimeout(() => { + nicknameRefs.current && nicknameRefs.current.setValue(name) + }, 100) + + } + + const setLevel = async () => { + if (currentItem.level === lv) { + notification.error({ + message: '设置等级相同', + }) + return; + } + let res: any = await clientApi.up_levle({ + level: lv, + invite_code: currentItem.invite_code + }) + if (res.code === 0) { + notification.success({ + message: '设置成功' + }) + setIsModalOpen(false) + tableRefs.current?.update() + } + } + + const handleChange = (_, e) => { + setLv(e.value) + } + + useEffect(() => { + if (!isModalOpen) { + setCurrentItem({}) + setLv(0) + } + }, [isModalOpen]) + + return ( +
    + + setIsModalOpen(false)} + > + { + isModalOpen && ( + , + initialValue: '' + } + ] + + const handleOrder = async (item, type: Withdraw_Check) => { + const res: any = await clientApi.withdraw_check({ + id: item.id, + status: type + }) + if (res.code === 0) { + notification.success({ + message: type === Withdraw_Check.WithdrawCheckAgree ? '已同意' : '已拒绝' + }) + tableRefs.current?.update() + } + } + + return ( +
    + +
    + ) +}; + +export default WithdrawRecord; \ No newline at end of file diff --git a/src/package/SimpleTrade/pages/home/index.css b/src/package/SimpleTrade/pages/home/index.css new file mode 100644 index 0000000..faf1375 --- /dev/null +++ b/src/package/SimpleTrade/pages/home/index.css @@ -0,0 +1,38 @@ +.home .box { + width: 100%; + margin-top: 20px; + border-radius: 10px; + padding: 20px; + box-sizing: border-box; + min-height: 280px; +} +.home .box .solid { + min-height: 200px; + width: 1px; +} +.home .box .img-box { + width: 60px; + height: 60px; + background-color: #44D600; + border-radius: 6px; + display: flex; + justify-content: center; + align-items: center; +} +.home .box .img-box img { + width: 30px; + height: 30px; + object-fit: cover; +} +.row { + display: flex; +} +.row-items { + display: flex; + align-items: center; +} +.row-between { + display: flex; + align-items: center; + justify-content: space-between; +} diff --git a/src/package/SimpleTrade/pages/home/index.less b/src/package/SimpleTrade/pages/home/index.less new file mode 100644 index 0000000..070cbf3 --- /dev/null +++ b/src/package/SimpleTrade/pages/home/index.less @@ -0,0 +1,47 @@ +.home { + + .box { + width: 100%; + margin-top: 20px; + border-radius: 10px; + padding: 20px; + box-sizing: border-box; + min-height: 280px; + + .solid{ + min-height: 200px; + width: 1px; + } + + .img-box{ + width: 60px; + height: 60px; + background-color: #44D600; + border-radius: 6px; + display: flex; + justify-content: center; + align-items: center; + + img{ + width: 30px; + height: 30px; + object-fit: cover; + } + } + } +} + +.row{ + display: flex; +} + +.row-items{ + display: flex; + align-items: center; +} + +.row-between{ + display: flex; + align-items: center; + justify-content: space-between; +} diff --git a/src/package/SimpleTrade/pages/home/index.tsx b/src/package/SimpleTrade/pages/home/index.tsx new file mode 100644 index 0000000..915499e --- /dev/null +++ b/src/package/SimpleTrade/pages/home/index.tsx @@ -0,0 +1,352 @@ +import React, { FC, useEffect, useState } from 'react' +import './index.less' +import { useSelector } from 'react-redux' +import api from '@/package/SimpleTrade/api' +import { DatePicker } from 'antd'; +import dayjs from 'dayjs'; +import customParseFormat from 'dayjs/plugin/customParseFormat'; +import weekday from "dayjs/plugin/weekday" +import localeData from "dayjs/plugin/localeData" +dayjs.extend(customParseFormat); +dayjs.extend(weekday); +dayjs.extend(localeData); +const { RangePicker } = DatePicker; +const dateFormat = 'YYYY-MM-DD'; + +const Home: FC = () => { + + const theme = useSelector((state: any) => state.storeData.theme) + + const [userTable, setUserTable] = useState([]) + const [newToDay, setNewToDay] = useState(0) //今日新增 + const [userTotal, setUserTotal] = useState(0) //用户统计 + const start_time = dayjs().subtract(7, 'days') + const end_time = dayjs() + + const [defaultValue, setDefaultValue] = useState([start_time, end_time] as any) //周期合约时间 + const [withdrawTime, setWithdrawTime] = useState([start_time, end_time] as any) //周期充值提现时间 + + const [toDayTx, setToDayTx] = useState([ + { title: '今日订单金额', value: '0' }, + { title: '今日订单数量', value: '0' }, + { title: 'A仓盈利订单数量', value: '0', color: '#3BB900' }, + { title: 'B仓盈利订单数量', value: '0', color: '#3BB900' }, + { title: 'A仓亏损订单数量', value: '0', color: '#F4002C' }, + { title: 'B仓亏损订单数量', value: '0', color: '#F4002C' }, + { title: '盈利订单金额', value: '0', color: '#3BB900' }, + { title: '亏损订单金额', value: '0', color: '#F4002C' }, + ]) + + const [weekTx, setWeekTx] = useState([ + { title: '订单总金额', value: '0' }, + { title: '订单总数量', value: '0' }, + { title: 'A仓盈利订单数量', value: '0', color: '#3BB900' }, + { title: 'B仓盈利订单数量', value: '0', color: '#3BB900' }, + { title: 'A仓亏损订单数量', value: '0', color: '#F4002C' }, + { title: 'B仓亏损订单数量', value: '0', color: '#F4002C' }, + { title: '盈利订单金额', value: '0', color: '#3BB900' }, + { title: '亏损订单金额', value: '0', color: '#F4002C' }, + ]) + + const [transaction, setTransaction] = useState([]) + const [weekTransaction, setWeekTransaction] = useState([]) + + // 用户统计 + const getUserData = async () => { + const res: any = await api.user_statistics() + if (res.code === 0) { + setNewToDay(res.data.NewToday) + setUserTotal(res.data.total_amount) + setUserTable(res.data.AdminUserAmountList) + } + } + + // 周期合约交易订单统计 + const getWeekTxOrderStatic = async () => { + const start = Math.floor(defaultValue[0].valueOf() / 1000) + const end = Math.floor(defaultValue[1].valueOf() / 1000) + const res: any = await api.transaction_statistics({ + end_time: end, + start_time: start, + type: 2 + }) + if (res.code === 0) { + weekTx[0].value = res.data.product_amount + weekTx[1].value = res.data.product_num + weekTx[2].value = res.data.a_profit_num + weekTx[3].value = res.data.b_profit_num + weekTx[4].value = res.data.a_loss_num + weekTx[5].value = res.data.b_loss_num + weekTx[6].value = res.data.profit_amount + weekTx[7].value = res.data.loss_amount + setWeekTx([...weekTx]) + } + } + + // 周期充值提现 + const getWeekTransaction = async () => { + const start = Math.floor(withdrawTime[0].valueOf() / 1000) + const end = Math.floor(withdrawTime[1].valueOf() / 1000) + const res: any = await api.week_recharge_withdraw_statistics({ + end_time: end, + start_time: start, + type: 2 + }) + if (res.code === 0 && res.data) { + + setWeekTransaction(res.data) + } + } + + // 今日合约交易订单统计 + const getDayTxOrderStatic = async () => { + const res: any = await api.transaction_statistics({ + type: 1 + }) + if (res.code === 0) { + toDayTx[0].value = res.data.product_amount + toDayTx[1].value = res.data.product_num + toDayTx[2].value = res.data.a_profit_num + toDayTx[3].value = res.data.b_profit_num + toDayTx[4].value = res.data.a_loss_num + toDayTx[5].value = res.data.b_loss_num + toDayTx[6].value = res.data.profit_amount + toDayTx[7].value = res.data.loss_amount + setToDayTx([...toDayTx]) + } + } + + // 充值提现统计 + const getRechargeAndWithdraw = async () => { + const res: any = await api.recharge_withdraw_statistics() + if (res.code === 0) { + setTransaction(res.data) + } + } + + useEffect(() => { + getUserData() + getDayTxOrderStatic() + getRechargeAndWithdraw() + }, []) + + useEffect(() => { + getWeekTxOrderStatic() + }, [defaultValue]) + + useEffect(() => { + getWeekTransaction() + }, [withdrawTime]) + + return ( +
    +

    Hello, Randy!

    +
    Today is a good day to start trading crypto assets!
    + {/* */} +
    +
    用户统计
    +
    +
    +

    {userTotal.toLocaleString()}

    +
    +
    + +
    +
    +
    +{newToDay.toLocaleString()}
    +
    今日新增
    +
    +
    +
    +
    +
    +
    +
    类型
    +
    截止昨日
    +
    今日新增
    +
    +
    + { + userTable.map((item, index) => ( +
    +
    {item.type}
    +
    +
    {Number(item.yesterday_amount).toLocaleString()}
    +
    {item.yesterday_percentage}
    +
    +
    +
    {Number(item.new_today_amount).toLocaleString()}
    +
    {item.new_today_percentage}
    +
    +
    + )) + } +
    +
    +
    +
    + {/* */} +
    +
    +
    今日合约交易订单统计
    +
    + { + toDayTx.map((item, index) => ( +
    +
    {item.title}
    +
    {Number(item.value).toLocaleString()}
    +
    + )) + } +
    +
    +
    +
    +
    +
    +
    周期合约交易订单统计
    +
    + +
    +
    +
    + {/*
    导出
    */} +
    +
    +
    + { + weekTx.map((item, index) => ( +
    +
    {item.title}
    +
    {Number(item.value).toLocaleString()}
    +
    + )) + } +
    +
    +
    + {/* */} + {transaction[0] && transaction[1] &&
    +
    +
    {transaction[0].symbol} 充值提现
    + {/*
    净入金:2131223
    +
    充值提现比:150%
    */} +
    +
    +
    总充值
    +
    {Number(transaction[0].deposit_amount).toLocaleString()}
    +
    +
    +
    充值笔数
    +
    {transaction[0].deposit_num}
    +
    +
    +
    +
    +
    总提现
    +
    {Number(transaction[0].withdrawal_amount).toLocaleString()}
    +
    +
    +
    提现笔数
    +
    {transaction[0].withdrawal_num}
    +
    +
    +
    +
    +
    +
    {transaction[1].symbol} 充值提现
    +
    +
    +
    总充值
    +
    {Number(transaction[1].deposit_amount).toLocaleString()}
    +
    +
    +
    充值笔数
    +
    {transaction[1].deposit_num}
    +
    +
    +
    +
    +
    总提现
    +
    {Number(transaction[1].withdrawal_amount).toLocaleString()}
    +
    +
    +
    提现笔数
    +
    {transaction[1].withdrawal_num}
    +
    +
    +
    +
    } + {/* */} + {weekTransaction[0] && weekTransaction[1] && ( +
    +
    + +
    +
    +
    +
    {weekTransaction[0].symbol} 周期充值提现
    + {/*
    净入金:2131223
    +
    充值提现比:150%
    */} +
    +
    +
    总充值
    +
    {Number(weekTransaction[0].deposit_amount).toLocaleString()}
    +
    +
    +
    充值笔数
    +
    {weekTransaction[0].deposit_num}
    +
    +
    +
    +
    +
    总提现
    +
    {Number(weekTransaction[0].withdrawal_amount).toLocaleString()}
    +
    +
    +
    提现笔数
    +
    {weekTransaction[0].withdrawal_num}
    +
    +
    +
    +
    +
    +
    {weekTransaction[1].symbol} 周期充值提现
    +
    +
    +
    总充值
    +
    {Number(weekTransaction[1].deposit_amount).toLocaleString()}
    +
    +
    +
    充值笔数
    +
    {weekTransaction[1].deposit_num}
    +
    +
    +
    +
    +
    总提现
    +
    {Number(weekTransaction[1].withdrawal_amount).toLocaleString()}
    +
    +
    +
    提现笔数
    +
    {weekTransaction[1].withdrawal_num}
    +
    +
    +
    +
    +
    + )} +
    +
    + ) +} + +export default Home diff --git a/src/package/SimpleTrade/pages/home/vector.png b/src/package/SimpleTrade/pages/home/vector.png new file mode 100644 index 0000000000000000000000000000000000000000..2176906e24c5de1a9a784b4604e3510904be14d5 GIT binary patch literal 589 zcmeAS@N?(olHy`uVBq!ia0vp^Q6S901|%(3I5Gh##^NA%Cx&(BWL^R}EX7WqAsj$Z z!;#Vfl>6@K;uumf=k1+~xlI8QZ4ck8%N`K4a@yVKw_xsqmnv`7mPv0Bu5e3WaZ6~v z%$;%B#H`^F`-|TyF&^iRemvW`Kw+VB(Yb8TXisa;)n$kOXL(Lt5_GBBWyyZ#N8h{W zeBQfc?~<=amzUk0v}Ah6ihbpOTFzP8dsuZ`wVvj6DcEI7ko2zDlkA?~gU`P5x;jZt zd6CvF*=oU`LSb3Av~DrqPrURpX1}lE%gR@gcN%gPUnYX+SVgg*c&2E!I;nc_gbH{d-aQ!M_)hsG3v0#Yg<$?>-;(r=7J{5XJaS zEuUYQT$flWc`yR&5HazvTNk_Eb6S8logPnG=I&T+A8-an{%qx0y(O# zF0ZyOx@uD}>%`&ENoIn9UwL~UW|>a(?)?11+cQhfGQRG8#G!sK?||*M+n1bQ9RB39 z#l1c6vl}~doKl39W((YGIicoarnrf7qAxa~Hy>Gpe@WU1Y<|89m?RiHUHx3vIVCg! E0BNZL)&Kwi literal 0 HcmV?d00001 diff --git a/src/package/SimpleTrade/route/routes.ts b/src/package/SimpleTrade/route/routes.ts new file mode 100644 index 0000000..5095110 --- /dev/null +++ b/src/package/SimpleTrade/route/routes.ts @@ -0,0 +1,177 @@ +import Home from '@/package/SimpleTrade/pages/home' +import ErrorPage from '@/pages/public/errorPage' + +import AdminUserList from '@/package/SimpleTrade/pages/adminuser/list' +import AdminUserEdit from '@/package/SimpleTrade/pages/adminuser/edit' + +import AdminPermissionList from '@/package/SimpleTrade/pages/adminpermission/list' + +import InviteChart from '@/package/SimpleTrade/pages/admininvite/chart' +import UploadAPK from '@/package/SimpleTrade/pages/adminupload/uploadapk' +import UserList from '@/package/SimpleTrade/pages/client/user' +import WithdrawRecord from '@/package/SimpleTrade/pages/client/withdraw' +import RechargeRecord from '@/package/SimpleTrade/pages/client/recharge' +import MT4History from '@/package/SimpleTrade/pages/client/mt4history' +import MT4Order from '@/package/SimpleTrade/pages/client/mt4order' +import MT4SettlementOrder from '@/package/SimpleTrade/pages/client/mt4settlementorder' + +import { HomeOutlined, UserOutlined, AuditOutlined } from '@ant-design/icons' + +/** + * path 跳转的路径 + * component 对应路径显示的组件 + * exact 匹配规则,true的时候则精确匹配。 + */ +const menus = [ + { + path: '/', + name: '首页', + exact: true, + key: 'home', + icon: HomeOutlined, + component: Home, + routes: [] + }, + { + path: '/adminuser', + name: '用户管理', + key: 'adminuser', + type: 'subMenu', + icon: UserOutlined, + iconfont: 'icon-xiaoshouzongjian', + routes: [ + { + path: '/adminuser/list', + name: '用户列表', + exact: true, + key: 'adminuser:list:view', + component: AdminUserList + }, + { + path: '/adminuser/list/add', + name: '新增用户', + exact: true, + key: 'adminuser:list:add', + component: AdminUserEdit, + remove: true + }, + { + path: '/adminuser/list/edit', + name: '编辑用户', + exact: true, + key: 'adminuser:list:edit', + component: AdminUserEdit, + remove: true + } + ] + }, + { + path: '/adminpermission', + name: '权限管理', + key: 'adminpermission', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/adminpermission/list', + name: '权限列表', + exact: true, + key: 'adminpermission:list:view', + component: AdminPermissionList + } + ] + }, + { + path: '/admininvite', + name: '邀请', + key: 'admininvite', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/admininvite/chart', + name: '关联图', + exact: true, + key: 'admininvite:chart:view', + component: InviteChart + } + ] + }, + { + path: '/adminupload', + name: '上传管理', + key: 'adminupload', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/adminupload/uploadapk', + name: '上传APK', + exact: true, + key: 'adminupload:uploadapk:view', + component: UploadAPK + } + ] + }, + { + path: '/client', + name: '客户端', + key: 'client', + type: 'subMenu', + icon: AuditOutlined, + routes: [ + { + path: '/client/userlist', + name: '用户列表', + exact: true, + key: 'client:userlist:view', + component: UserList + }, + { + path: '/client/recharge', + name: '充值记录', + exact: true, + key: 'client:recharge:view', + component: RechargeRecord + }, + { + path: '/client/withdraw', + name: '提现记录', + exact: true, + key: 'client:withdraw:view', + component: WithdrawRecord + }, + { + path: '/client/mt4history', + name: 'MT4历史记录', + exact: true, + key: 'client:mt4history:view', + component: MT4History + }, + { + path: '/client/mt4order', + name: 'MT4订单列表', + exact: true, + key: 'client:mt4order:view', + component: MT4Order + }, + { + path: '/client/mt4settlementorder', + name: 'MT4结算订单列表', + exact: true, + key: 'client:mt4settlementorder:view', + component: MT4SettlementOrder + } + ] + }, + { + path: '/403', + name: '暂无权限', + exact: true, + key: '/403', + component: ErrorPage, + remove: true + } +] + +export default menus diff --git a/src/package/SimpleTrade/types/enum.ts b/src/package/SimpleTrade/types/enum.ts new file mode 100644 index 0000000..1b35e1f --- /dev/null +++ b/src/package/SimpleTrade/types/enum.ts @@ -0,0 +1,38 @@ +// 提币状态 +export enum Withdraw_Status { + WithdrawStatusFail = -1, //链上错误 + WithdrawStatusInit = 0, //初始状态 + WithdrawStatusCheck = 1, //审核 + WithdrawStatusHex = 2, //生成签名数据 + WithdrawStatusSend = 3, //已发送 + WithdrawStatusConfirm = 4, //确认中 + WithdrawStatusEnd = 5, //完成 +} + +export enum Withdraw_Check { + WithdrawCheckNIL =0, // 无需审核0 + WithdrawCheckWait =1, // 审核中1 + WithdrawCheckReject =2, // 审核 驳回2 + WithdrawCheckAgree =3, // 审核同意完成3 +} + +// 提现状态 +export enum Recharge_Status { + TxStatusErr = -1 ,//业务错误 + TxStatusFail = -2, //链上错误 + TxStatusInit = 0, //初始记录 + TxStatusConfirm = 1, //确认数到账 100块后 转入到账户中 + TxStatusNotify = 2, //允许交易 +} + +// 用户状态 +export enum User_Status{ + EmailUserStatusRoot = 0, //根邀请人 + EmailUserStatusInit = 1, //H5注册 + EmailUserStatusUse = 2, //提交激活信息 + EmailUserStatusAMT4 = 3, //创建A仓账号 + EmailUserStatusBMT4 = 4, //创建B仓账号 + EmailUserStatusCopy = 5, //A->B账号关联反向下单 + EmailUserStatusSendEmail = 6, //仓位账号初始化完成进行邮件发送 + EmailUserStatusActivated = 7, //完成激活 +} \ No newline at end of file diff --git a/src/pages/container/Home.module.less b/src/pages/container/Home.module.less new file mode 100644 index 0000000..3469a49 --- /dev/null +++ b/src/pages/container/Home.module.less @@ -0,0 +1,34 @@ +.container { + width: 100vw; +} + +.menu { + height: 100vh; + box-shadow: 2px 0 6px rgba(0, 21, 41, .35); + position: fixed; + overflow-y: auto; + &::-webkit-scrollbar { + width: 0; + } +} + +.content { + height: 100%; + display: flex; + flex: auto; + flex-direction: column; + width: 100%; + margin-left: 220px; + overflow-x: hidden; + transition: margin .2s; + &.collapsed{ + margin-left: 80px; + } + .mainContent { + background: @component-background; + margin: 0 16px 16px; + padding: 16px; + overflow: auto; + transition: all .5s; + } +} diff --git a/src/pages/container/index.tsx b/src/pages/container/index.tsx new file mode 100644 index 0000000..d075f9e --- /dev/null +++ b/src/pages/container/index.tsx @@ -0,0 +1,136 @@ +import React, { FC, useState, useEffect, useRef, Component } from 'react' +import { useHistory, useLocation } from 'react-router-dom' +import MenuView from '@/components/Menu' +import classNames from 'classnames' +import { Layout, BackTop } from 'antd' +import { getKeyName, isAuthorized } from '@/assets/js/publicFunc' +import Header from '@/components/Header' +import TabPanes from '@/components/TabPanes' +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +import styles from './Home.module.less' + +const noNewTab = ['/login'] // 不需要新建 tab的页面 +const noCheckAuth = ['/', '/403'] // 不需要检查权限的页面 +// 检查权限 +const checkAuth = (newPathname: string): boolean => { + // 不需要检查权限的 + // if (noCheckAuth.includes(newPathname)) { + // return true + // } + // const { tabKey: currentKey } = getKeyName(newPathname) + // return isAuthorized(currentKey) + return true; +} + +interface Props extends ReduxProps {} + +interface PanesItemProps { + title: string; + content: Component; + key: string; + closable: boolean; + path: string; +} + +const Home: FC = (props) => { + const [tabActiveKey, setTabActiveKey] = useState('home') + const [panesItem, setPanesItem] = useState({ + title: '', + content: null, + key: '', + closable: false, + path: '' + }) + const pathRef: RefType = useRef('') + + const history = useHistory() + const { pathname, search } = useLocation() + + const { + storeData: { collapsed, userInfo }, + setStoreData + } = props + const { token } = userInfo + + useEffect(() => { + setStoreData('SET_COLLAPSED', document.body.clientWidth <= 1024) + + // 未登录 + if (!token && pathname !== '/login') { + history.replace({ pathname: '/login' }) + return + } + + const { tabKey, title, component: Content } = getKeyName(pathname) + // 新tab已存在或不需要新建tab,return + if (pathname === pathRef.current || noNewTab.includes(pathname)) { + setTabActiveKey(tabKey) + return + } + + // 检查权限,比如直接从地址栏输入的,提示无权限 + const isHasAuth = checkAuth(pathname) + if (!isHasAuth) { + const errorUrl = '/403' + const { + tabKey: errorKey, + title: errorTitle, + component: errorContent + } = getKeyName(errorUrl) + setPanesItem({ + title: errorTitle, + content: errorContent, + key: errorKey, + closable: true, + path: errorUrl + }) + pathRef.current = errorUrl + setTabActiveKey(errorKey) + history.replace(errorUrl) + return + } + + // 记录新的路径,用于下次更新比较 + const newPath = search ? pathname + search : pathname + pathRef.current = newPath + setPanesItem({ + title, + content: Content, + key: tabKey, + closable: tabKey !== 'home', + path: newPath + }) + setTabActiveKey(tabKey) + }, [history, pathname, search, setStoreData, token]) + + return ( + e.preventDefault()} + style={{ display: pathname.includes('/login') ? 'none' : 'flex' }} + > + + +
    + + + + + + + ) +} + +export default connect( + (state) => state, + actions +)(Home) diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx new file mode 100644 index 0000000..16fbfcf --- /dev/null +++ b/src/pages/login/index.tsx @@ -0,0 +1,100 @@ +import React, { useEffect, FC, useMemo } from 'react' +import { useHistory } from 'react-router-dom' +import { LockOutlined, UserOutlined } from '@ant-design/icons' +import { Form, Input, Button, Select, Cascader } from 'antd' +import ReactCanvasNest from 'react-canvas-nest' +import './login.less' +import Logo from '@/assets/img/logo.png' +import { setUserInfo } from '@/assets/js/publicFunc' +import { connect } from 'react-redux' +import * as actions from '@/store/actions' +import common from '@/api' + +interface Props extends ReduxProps { } + +const LoginForm: FC = ({ + storeData: { theme, userInfo = {} }, + setStoreData +}) => { + + const history = useHistory() + useEffect(() => { + const { token } = userInfo + if (token) { + history.push('/') + return + } + // 重置 tab栏为首页 + setStoreData('SET_CURTAB', ['/']) + }, [history, setStoreData, userInfo]) + + // 触发登录方法 + const onFinish = (values: CommonObjectType): void => { + const { username } = values; + common.login(values).then((res: any) => { + // 登录后返回的数据,包括权限 + const resData = { + userName: username, + token: res.data.token, + permission: res.data.permissions + } + setUserInfo(resData, setStoreData) + history.push('/') + }) + } + + const FormView = ( +
    + + } size="large" /> + + + } + size="large" + /> + + + + + + ) + + const floatColor = theme === 'default' ? '24,144,255' : '110,65,255' + return ( +
    + +
    + + React Antd Admin +
    + {FormView} +
    + ) +} + +export default connect( + (state) => state, + actions +)(LoginForm) diff --git a/src/pages/login/login.less b/src/pages/login/login.less new file mode 100644 index 0000000..0de0deb --- /dev/null +++ b/src/pages/login/login.less @@ -0,0 +1,36 @@ +.login-layout { + display: flex; + flex-direction: column; + height: 100vh; + overflow: auto; + background: url(../../assets/img/login-bg.svg) @component-background no-repeat center 110px; + background-size: 100%; + overflow: hidden; + min-width: 380px; + .login-form { + width: 368px; + margin: 0 auto; + z-index: 2; + } + + .login-form-button { + width: 100%; + } + + .logo-box { + margin: 200px auto 40px; + } + + .logo { + height: 55px; + margin-right: 8px; + } + + .logo-name { + position: relative; + top: 8px; + color: #fdfdfe; + font-weight: 600; + font-size: 26px; + } +} diff --git a/src/pages/public/errorPage/index.tsx b/src/pages/public/errorPage/index.tsx new file mode 100644 index 0000000..1dd1e55 --- /dev/null +++ b/src/pages/public/errorPage/index.tsx @@ -0,0 +1,13 @@ +import React, { FC } from 'react' +import { Result } from 'antd' + +const ErrorPage: FC = () => ( + +) + +export default ErrorPage diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts new file mode 100644 index 0000000..e83cd65 --- /dev/null +++ b/src/react-app-env.d.ts @@ -0,0 +1,12 @@ +/// + +declare module '*.css' +declare module '*.less' +declare module '*.scss' +declare module '*.svg' +declare module '*.png' +declare module '*.jpg' +declare module '*.jpeg' +declare module '*.gif' +declare module '*.bmp' +declare module '*.tiff' diff --git a/src/route/routes.ts b/src/route/routes.ts new file mode 100644 index 0000000..8ed354e --- /dev/null +++ b/src/route/routes.ts @@ -0,0 +1,9 @@ +import SimpleTradeRoutes from '@/package/SimpleTrade/route/routes' + +const routes = { + simpleTradeKey: [...SimpleTradeRoutes], +} + +const currentItem = routes.simpleTradeKey + +export default currentItem \ No newline at end of file diff --git a/src/store/actionTypes/index.ts b/src/store/actionTypes/index.ts new file mode 100644 index 0000000..4f7410b --- /dev/null +++ b/src/store/actionTypes/index.ts @@ -0,0 +1,27 @@ +/** + * redux的 type常量 + * @param {name} string action 要 diapatch 的类型 + * @param {field} string action 要操作的字段名 + */ +export default { + SET_USERINFO: { + name: 'SET_USERINFO', + field: 'userInfo' + }, + SET_COLLAPSED: { + name: 'SET_COLLAPSED', + field: 'collapsed' + }, + SET_CURTAB: { + name: 'SET_CURTAB', + field: 'curTab' + }, + SET_THEME: { + name: 'SET_THEME', + field: 'theme' + }, + SET_RELOADPATH: { + name: 'SET_RELOADPATH', + field: 'reloadPath' + } +} diff --git a/src/store/actions/index.ts b/src/store/actions/index.ts new file mode 100644 index 0000000..bba1c36 --- /dev/null +++ b/src/store/actions/index.ts @@ -0,0 +1,7 @@ +import actionTypes from '@/store/actionTypes' + +// eslint-disable-next-line import/prefer-default-export +export const setStoreData = (type: string, payload: any): object => { + if (!actionTypes[type]) throw new Error('请传入修改的数据类型和值') + return { type, payload } +} diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..9fc9c94 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,23 @@ +import { createStore, applyMiddleware, combineReducers } from 'redux' +import { persistStore, persistReducer } from 'redux-persist' +import promiseMiddleware from 'redux-promise' +import storage from 'redux-persist/lib/storage' +import storeData from '@/store/reducers' + +const reducers = combineReducers({ + storeData +}) + +const persistConfig = { + key: 'root', + storage +} + +const myPersistReducer = persistReducer(persistConfig, reducers) +const store: any = createStore( + myPersistReducer, + applyMiddleware(promiseMiddleware) +) +const persistor = persistStore(store) + +export { store, persistor } diff --git a/src/store/reducers/index.ts b/src/store/reducers/index.ts new file mode 100644 index 0000000..bc3a1df --- /dev/null +++ b/src/store/reducers/index.ts @@ -0,0 +1,21 @@ +import initState from '@/store/state' +import actionTypes from '@/store/actionTypes' + +interface StoreAction { + type: string; + payload: any; +} + +const storeData = ( + state = initState, + { type, payload }: StoreAction +): object => { + if (!actionTypes[type]) return state + const { field } = actionTypes[type] + return { + ...state, + [field]: payload + } +} + +export default storeData diff --git a/src/store/state/index.ts b/src/store/state/index.ts new file mode 100644 index 0000000..547745f --- /dev/null +++ b/src/store/state/index.ts @@ -0,0 +1,25 @@ +interface StoreState { + userInfo: { + userName: string, + permission: string[], + token: string + }; + collapsed: boolean; + curTab: string[]; + theme: string; + reloadPath: string; +} + +const initState: StoreState = { + userInfo: { + userName: '', + permission: [], + token: '' + }, // 用户信息 + collapsed: false, // 菜单收纳状态 + curTab: [], // 当前tab页面 + theme: '', // 网站主题 + reloadPath: 'null', // 需要刷新的tab路径 +} + +export default initState diff --git a/src/test/App.test.jsx b/src/test/App.test.jsx new file mode 100644 index 0000000..c9e3a72 --- /dev/null +++ b/src/test/App.test.jsx @@ -0,0 +1,9 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import App from '../App' + +it('renders without crashing', () => { + const div = document.createElement('div') + ReactDOM.render(, div) + ReactDOM.unmountComponentAtNode(div) +}) diff --git a/src/types/store.d.ts b/src/types/store.d.ts new file mode 100644 index 0000000..221f14c --- /dev/null +++ b/src/types/store.d.ts @@ -0,0 +1,7 @@ +export const WALLETKEY = 'walletKey' +export const SIMPLETRADEKEY = 'simpleTradeKey' +export const FILEFASTKEY = 'filefastKey' +export const DEV_ENV = 'dev' +export const PROD_ENV = 'prod' +export const ROUTEKEY = 'routeKey' +export const ISENV = 'isEnv' \ No newline at end of file diff --git a/src/utils/axios.ts b/src/utils/axios.ts new file mode 100644 index 0000000..b0e2ccb --- /dev/null +++ b/src/utils/axios.ts @@ -0,0 +1,107 @@ +import Axios from 'axios' +import { message } from 'antd' +import { store } from '@/store' +import { HashRouter } from 'react-router-dom' +import { getBaseURL } from '@/config' + +interface AxiosConfig { + baseURL: string; + timeout: number; + headers: { + 'Content-Type': string + }; +} + + +const config: AxiosConfig = { + baseURL: getBaseURL(), + timeout: 60 * 1000, + headers: { + 'Content-Type': 'application/json' + } +} + +const axios = Axios.create(config) + +const router: CommonObjectType = new HashRouter({}) + +// token失效,清除用户信息并返回登录界面 +const clearAll = () => { + store.dispatch({ + type: 'SET_USERINFO', + payload: {} + }) + router.history.replace({ pathname: '/login' }) +} + +// 请求前拦截 +axios.interceptors.request.use( + (req) => { + const { token = '' } = store.getState().storeData.userInfo || {} + // req.headers.Authorization = token + req.headers.Token = token + return req + }, + (err) => { + return Promise.reject(err) + } +) + +// 返回后拦截 +axios.interceptors.response.use( + ({ data }): Promise => { + if (data.code !== 0) { + message.error(data.message || data.msg) + return Promise.reject(data) + } + return Promise.resolve(data) + }, + (err) => { + message.destroy() + try { + if (JSON.stringify(err).includes('401')) { + clearAll() + message.error({ title: '提示', content: 'Unauthorized' }) + return Promise.reject(err) + } + } catch (error) { + clearAll() + } + message.error('网络异常') + return Promise.reject(err) + } +) + +// post请求 +axios.post = (url: string, params?: object): Promise => + axios({ + method: 'post', + url, + data: params + }) + +// get请求 +axios.get = (url: string, params?: object): Promise => + axios({ + method: 'get', + url, + params + }) + +// put请求 +axios.put = (url: string, params?: object): Promise => + axios({ + method: 'put', + url, + data: params + }) + +// delete请求 +axios.delete = (url: string, params?: object): Promise => + axios({ + method: 'delete', + url, + data: params + }) + +export default axios diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..f024041 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,49 @@ +import { notification } from 'antd'; +import './axios' + +export const splitAddress = (address: string, index?: number) => { + try { + let idx = index ? index : 5; + return address.substring(0, idx) + '...' + address.substring(address.length - idx, address.length) + } catch (error) { + return '' + } +} + +export const getTime = (value: number) => { + let date = new Date(value); + let yy: number | string = date.getFullYear(); + let mm: number | string = date.getMonth() + 1; + let dd: number | string = date.getDate(); + let xs: number | string = date.getHours(); + let ff: number | string = date.getMinutes(); + let ss: number | string = date.getSeconds(); + mm = mm >= 10 ? mm : '0' + mm; + dd = dd >= 10 ? dd : '0' + dd; + xs = xs >= 10 ? xs : '0' + xs; + ff = ff >= 10 ? ff : '0' + ff; + ss = ss >= 10 ? ss : '0' + ss; + return `${yy}-${mm}-${dd} ${xs}:${ff}:${ss}` +}; + +export function copy(value: string) { + // 动态创建 textarea 标签 + const textarea: any = document.createElement('textarea') + // 将该 textarea 设为 readonly 防止 iOS 下自动唤起键盘,同时将 textarea 移出可视区域 + textarea.readOnly = 'readonly' + textarea.style.position = 'absolute' + textarea.style.left = '-9999px' + // 将要 copy 的值赋给 textarea 标签的 value 属性 + // 网上有些例子是赋值给innerText,这样也会赋值成功,但是识别不了\r\n的换行符,赋值给value属性就可以 + textarea.value = value + // 将 textarea 插入到 body 中 + document.body.appendChild(textarea) + // 选中值并复制 + textarea.select() + textarea.setSelectionRange(0, textarea.value.length) + document.execCommand('Copy') + document.body.removeChild(textarea) + notification.success({ + message: '复制成功' + }) +} \ No newline at end of file diff --git a/src/utils/tableHook.ts b/src/utils/tableHook.ts new file mode 100644 index 0000000..8556463 --- /dev/null +++ b/src/utils/tableHook.ts @@ -0,0 +1,49 @@ +/** + * tableHook.js 用于处理 Table组件的分页事件 + * 自定义的一个 server hook,该 hook 封装了 ajax 请求中的 { loading, error, response } 三个基础逻辑; + * 有了这个 hook 我们就能很轻松的在每次网络请求里面去处理各种异常逻辑了 + */ +import { useEffect, useState, useCallback } from 'react' + +export const useServiceCallback = ( + service: (arg0?: any) => Promise<{}> +): CommonObjectType[] => { + const [loading, setLoading] = useState(false) + const [error, setError] = useState(null) + const [response, setResponse] = useState(null) + + // 使用 useCallback,来判断 service 是否改变 + const callback = useCallback( + (params) => { + + setLoading(true) + setError(null) + service(params) + .then((res) => { + setLoading(false) + setResponse(res) + }) + .catch(() => { + setLoading(false) + }) + }, + [service] + ) + return [callback, { loading, error, response }] +} + +const useService = ( + service: (arg0?: any) => Promise<{}>, + params?: CommonObjectType +): object => { + const [callback, { loading, error, response }]: any[] = useServiceCallback( + service + ) + useEffect(() => { + callback(params) + return () => {} + }, [callback, params]) + return { loading, error, response } +} + +export default useService diff --git a/src/utils/userIdHook.ts b/src/utils/userIdHook.ts new file mode 100644 index 0000000..ca8998c --- /dev/null +++ b/src/utils/userIdHook.ts @@ -0,0 +1,26 @@ +/** + * 用于处理详情页多tab页签时,数据多余请求的问题 + * 当 userId 有值,且有变化时,才会去请求接口 + */ + +import { useRef } from 'react' + +interface Props { + userIdRef: RefType; + canRequest: boolean; +} + +const useControl = (userId: string): Props => { + const userIdRef: RefType = useRef() + + // 如果没有 userId,或者 userId 不变 + if (!userId || userIdRef.current === userId) { + return { userIdRef, canRequest: false } + } + + // 记录上一次的 userId,用于比较 + userIdRef.current = userId + return { userIdRef, canRequest: true } +} + +export default useControl diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d1eddc1 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,52 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react", + "experimentalDecorators": true, + "baseUrl": "src", + "noImplicitAny": false, + "noImplicitThis": false, + "strictNullChecks": false, + "downlevelIteration": true + }, + "rules": { + "member-access": false, + "ordered-imports": false, + "quotemark": false, + "no-console": false, + "semicolon": false, + "jsx-no-lambda": false + }, + "linterOptions": { + "exclude": [ + "config/**/*.js", + "node_modules/**/*.ts" + ] + }, + "include": [ + "src", + "typings" + ], + "exclude": [ + "node_modules", + "dist", + "build" + ], + "extends": "./paths.json" +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..957b9a6 --- /dev/null +++ b/tslint.json @@ -0,0 +1,23 @@ +{ + "defaultSeverity": "error", + "extends": [ + "tslint-react" + ], + "jsRules": {}, + "rules": { + "member-access": false, + "ordered-imports": false, + "quotemark": false, + "no-console": false, + "semicolon": false, + "jsx-no-lambda": false, + "no-implicit-dependencies": ["optional", ["src"]] + }, + "rulesDirectory": [], + "linterOptions": { + "exclude": [ + "config/**/*.js", + "node_modules/**/*.ts" + ] + } +} diff --git a/typings/global.d.ts b/typings/global.d.ts new file mode 100644 index 0000000..f7dff66 --- /dev/null +++ b/typings/global.d.ts @@ -0,0 +1,18 @@ +/// +/// +/// +/// + +declare module "classnames" { + import classNames from 'classnames' + export default classNames +} + +interface ReduxProps { + storeData?: Record; + setStoreData?: (type: string, payload: any) => object; +} + +type RefType = MutableRefObject | ((instance: unknown) => void) + +type CommonObjectType = Record diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..2eeacd7 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,13420 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ant-design/colors@^6.0.0": + version "6.0.0" + resolved "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-6.0.0.tgz?cache=0&sync_timestamp=1612935637470&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Fcolors%2Fdownload%2F%40ant-design%2Fcolors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" + integrity sha1-m5NmJXz/zEfbQrnQIDu1ksE8Apg= + dependencies: + "@ctrl/tinycolor" "^3.4.0" + +"@ant-design/css-animation@^1.7.2": + version "1.7.3" + resolved "https://registry.npm.taobao.org/@ant-design/css-animation/download/@ant-design/css-animation-1.7.3.tgz#60a1c970014e86b28f940510d69e503e428f1136" + integrity sha1-YKHJcAFOhrKPlAUQ1p5QPkKPETY= + +"@ant-design/icons-svg@^4.0.0": + version "4.1.0" + resolved "https://registry.nlark.com/@ant-design/icons-svg/download/@ant-design/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c" + integrity sha1-SAsCX0sg73/o9H1KSEbk/uhOoGw= + +"@ant-design/icons@^4.0.6", "@ant-design/icons@^4.1.0": + version "4.6.2" + resolved "https://registry.npm.taobao.org/@ant-design/icons/download/@ant-design/icons-4.6.2.tgz#290f2e8cde505ab081fda63e511e82d3c48be982" + integrity sha1-KQ8ujN5QWrCB/aY+UR6C08SL6YI= + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-svg" "^4.0.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.9.4" + +"@ant-design/react-slick@~0.25.5": + version "0.25.6" + resolved "https://registry.npm.taobao.org/@ant-design/react-slick/download/@ant-design/react-slick-0.25.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ant-design%2Freact-slick%2Fdownload%2F%40ant-design%2Freact-slick-0.25.6.tgz#4e826b1519e46727b37a10f372fd21a7e220e660" + integrity sha1-ToJrFRnkZyezehDzcv0hp+Ig5mA= + dependencies: + classnames "^2.2.5" + json2mq "^0.2.0" + lodash "^4.17.15" + resize-observer-polyfill "^1.5.0" + +"@babel/code-frame@7.5.5": + version "7.5.5" + resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha1-3PyCa+72XnXFDiHTg319lXmN1lg= + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.14.0", "@babel/compat-data@^7.9.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.0.tgz?cache=0&sync_timestamp=1619727645372&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" + integrity sha1-qQESi84q0CVl35Xm7L8ZXPlGWRk= + +"@babel/core@7.6.0": + version "7.6.0" + resolved "https://registry.nlark.com/@babel/core/download/@babel/core-7.6.0.tgz?cache=0&sync_timestamp=1620839401293&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48" + integrity sha1-mwD3NVTt1nvryG34MD72eL49e0g= + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.0" + "@babel/helpers" "^7.6.0" + "@babel/parser" "^7.6.0" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.0" + "@babel/types" "^7.6.0" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.nlark.com/@babel/core/download/@babel/core-7.9.0.tgz?cache=0&sync_timestamp=1620839401293&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha1-rJd7U4t34TL/cG87ik260JwDxW4= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.2.tgz?cache=0&sync_timestamp=1620839401293&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.2.tgz#54e45334ffc0172048e5c93ded36461d3ad4c417" + integrity sha1-VORTNP/AFyBI5ck97TZGHTrUxBc= + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.2" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-module-transforms" "^7.14.2" + "@babel/helpers" "^7.14.0" + "@babel/parser" "^7.14.2" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.2" + "@babel/types" "^7.14.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.14.2", "@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.2.tgz?cache=0&sync_timestamp=1620840046555&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.2.tgz#d5773e8b557d421fd6ce0d5efa5fd7fc22567c30" + integrity sha1-1Xc+i1V9Qh/Wzg1e+l/X/CJWfDA= + dependencies: + "@babel/types" "^7.14.2" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.12.13.tgz?cache=0&sync_timestamp=1612314684390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha1-D1jobfxLs7H819uAZXDhd9Q5tqs= + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha1-a8IDYciLCnTQUTemXKyNPL9vYfw= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.8.7": + version "7.13.16" + resolved "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.16.tgz?cache=0&sync_timestamp=1618918283860&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" + integrity sha1-bpHczxXj9D5VVt/+MthgEJiHVjw= + dependencies: + "@babel/compat-data" "^7.13.15" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.14.2.tgz?cache=0&sync_timestamp=1620839398628&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.14.2.tgz#4e455b0329af29c2d3ad254b5dd5aed34595385d" + integrity sha1-TkVbAymvKcLTrSVLXdWu00WVOF0= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.17" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" + integrity sha1-oqyH6eMZJprGVbjUQV6U041mPLc= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.0": + version "0.2.0" + resolved "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.0.tgz#a640051772045fedaaecc6f0c6c69f02bdd34bf1" + integrity sha1-pkAFF3IEX+2q7MbwxsafAr3TS/E= + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.13.0.tgz?cache=0&sync_timestamp=1614034233759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" + integrity sha1-F7XFn/Rz2flW9A71cM86dsoSZX8= + dependencies: + "@babel/types" "^7.13.0" + +"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.2": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.2.tgz?cache=0&sync_timestamp=1620839396154&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2" + integrity sha1-OXaItZB2C273cltfCGDIJCfrqsI= + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.14.2" + +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz?cache=0&sync_timestamp=1612314652298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM= + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-hoist-variables@^7.13.0": + version "7.13.16" + resolved "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30" + integrity sha1-GxZRJJ6UtR+PDTNDmEPjPjl3WzA= + dependencies: + "@babel/traverse" "^7.13.15" + "@babel/types" "^7.13.16" + +"@babel/helper-member-expression-to-functions@^7.13.12": + version "7.13.12" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.12.tgz?cache=0&sync_timestamp=1616428111276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" + integrity sha1-3+No8m1CagcpnY1lE4IXaCFubXI= + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.8.3": + version "7.13.12" + resolved "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz?cache=0&sync_timestamp=1618846791460&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" + integrity sha1-xqNppvNiHLJdoBQHhoTakZa2GXc= + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2", "@babel/helper-module-transforms@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.2.tgz?cache=0&sync_timestamp=1620839398699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" + integrity sha1-rBzDDuR7lF4+DE2xL6DFOJUJ3+U= + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-simple-access" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.14.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.2" + "@babel/types" "^7.14.2" + +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz?cache=0&sync_timestamp=1612314687212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha1-XALRcbTIYVsecWP4iMHIHDCiquo= + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68= + +"@babel/helper-remap-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" + integrity sha1-N2p2DZ97SyB3qd0Fqpw5J8rbIgk= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.12": + version "7.13.12" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.12.tgz?cache=0&sync_timestamp=1616428060118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" + integrity sha1-ZEL0wa2RJQJIGlZKc4beDHf/OAQ= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.12" + +"@babel/helper-simple-access@^7.13.12": + version "7.13.12" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.13.12.tgz?cache=0&sync_timestamp=1616428063009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" + integrity sha1-3WxTivthgZ0gWgEsMXkqOcel6vY= + dependencies: + "@babel/types" "^7.13.12" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8= + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz?cache=0&sync_timestamp=1612314686094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha1-6UML4AuvPoiw4T5vnU6vITY3KwU= + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.0.tgz?cache=0&sync_timestamp=1619727412592&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha1-0mytikfGUoaxXfFUcxml0Lzycog= + +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE= + +"@babel/helper-wrap-function@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.13.0.tgz?cache=0&sync_timestamp=1614034233760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" + integrity sha1-vbXGb9qFJuwjWriUrVOhI1x5/MQ= + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helpers@^7.14.0", "@babel/helpers@^7.6.0", "@babel/helpers@^7.9.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.0.tgz?cache=0&sync_timestamp=1619727432208&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" + integrity sha1-6ptr6UeKE9b5Ydu182v3Xi87j2I= + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" + +"@babel/highlight@^7.0.0", "@babel/highlight@^7.12.13": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.0.tgz?cache=0&sync_timestamp=1619727182056&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" + integrity sha1-MZfjdXEe9r+DTmfQ2uyI5PRhE88= + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.2.tgz#0c1680aa44ad4605b16cbdcc5c341a61bde9c746" + integrity sha1-DBaAqkStRgWxbL3MXDQaYb3px0Y= + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.npm.taobao.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" + integrity sha1-o0hNhNC1SfP8kWuZ7keD8m+rrSo= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + +"@babel/plugin-proposal-async-generator-functions@^7.14.2", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.2.tgz?cache=0&sync_timestamp=1620839417583&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.14.2.tgz#3a2085abbf5d5f962d480dbc81347385ed62eb1e" + integrity sha1-OiCFq79dX5YtSA28gTRzhe1i6x4= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz?cache=0&sync_timestamp=1614035098704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-class-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.13.0.tgz?cache=0&sync_timestamp=1614035098704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-class-static-block@^7.13.11": + version "7.13.11" + resolved "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.13.11.tgz?cache=0&sync_timestamp=1619727669793&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-class-static-block%2Fdownload%2F%40babel%2Fplugin-proposal-class-static-block-7.13.11.tgz#6fcbba4a962702c17e5371a0c7b39afde186d703" + integrity sha1-b8u6SpYnAsF+U3Ggx7Oa/eGG1wM= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-class-static-block" "^7.12.13" + +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz?cache=0&sync_timestamp=1620839996248&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.14.2", "@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f" + integrity sha1-Aeur18OBz/Ix+kPjApOaneW+nZ8= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.2": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791" + integrity sha1-YlQvlKqc6Pbbp57saYryIRIlN5E= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.14.2", "@babel/plugin-proposal-json-strings@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.2.tgz?cache=0&sync_timestamp=1620840046817&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.14.2.tgz#830b4e2426a782e8b2878fbfe2cba85b70cbf98c" + integrity sha1-gwtOJCanguiyh4+/4suoW3DL+Yw= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.2": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7" + integrity sha1-IiNIwIChZ44OdOpj/nbydYgtH9c= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546" + integrity sha1-QlsR3GL8JpOaKrQsu6aAvfVzRUY= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz?cache=0&sync_timestamp=1620839422175&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.2", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.2.tgz?cache=0&sync_timestamp=1620839422175&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e" + integrity sha1-grTMBlcRQ/r1BiYQSzNd1xuqT54= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.14.2", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.2.tgz?cache=0&sync_timestamp=1620840046672&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.14.2.tgz#e17d418f81cc103fedd4ce037e181c8056225abc" + integrity sha1-4X1Bj4HMED/t1M4DfhgcgFYiWrw= + dependencies: + "@babel/compat-data" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.2" + +"@babel/plugin-proposal-optional-catch-binding@^7.14.2", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.2.tgz#150d4e58e525b16a9a1431bd5326c4eed870d717" + integrity sha1-FQ1OWOUlsWqaFDG9UybE7thw1xc= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@7.9.0": + version "7.9.0" + resolved "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz?cache=0&sync_timestamp=1620839998724&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.2", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.2.tgz?cache=0&sync_timestamp=1620839998724&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.14.2.tgz#df8171a8b9c43ebf4c1dabe6311b432d83e1b34e" + integrity sha1-34FxqLnEPr9MHavmMRtDLYPhs04= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.13.0.tgz?cache=0&sync_timestamp=1614035100398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha1-BL1MbUD25rv6L1fi2AlLrZAO94c= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-private-property-in-object@^7.14.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.14.0.tgz?cache=0&sync_timestamp=1619727655656&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636" + integrity sha1-saHyAwWGudNInMJhedLrWIMndjY= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-private-property-in-object" "^7.14.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha1-vr3lEzm+gpwXqqrO0YZB3rYrObo= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.12.13": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.12.13.tgz?cache=0&sync_timestamp=1619727671263&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-syntax-class-static-block%2Fdownload%2F%40babel%2Fplugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c" + integrity sha1-jj1nSwYT5nl1zqwndsl7YMr8XJw= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.12.13.tgz?cache=0&sync_timestamp=1612314725413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" + integrity sha1-+sgpvzx+9KG8kWJXtAPljGva9kg= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-flow/download/@babel/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" + integrity sha1-XfmWJQPAqckYOBySnVHU1pSefoY= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" + integrity sha1-BE+4HrrWaY/mLEeIdVdby7m3DxU= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b" + integrity sha1-dipLq+xhF2/sbIhIDexANysUDAs= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha1-xfD6biSfW3OXJ/kjVAz3qAYTAXg= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-typescript@^7.12.13": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha1-nf8RHKZBVM7w9NxSz4Q9nxLORHQ= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-arrow-functions@^7.13.0", "@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.13.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" + integrity sha1-EKWb661S1jegJ6+mkujVzv9ePa4= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-async-to-generator@^7.13.0", "@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.13.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" + integrity sha1-jhEr9ncbgr8el05eJoBsXJmqUW8= + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + +"@babel/plugin-transform-block-scoped-functions@^7.12.13", "@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha1-qb8YNvKjm062zwmWdzneKepL9MQ= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-block-scoping@^7.14.2", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.14.2.tgz?cache=0&sync_timestamp=1620839422743&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.14.2.tgz#761cb12ab5a88d640ad4af4aa81f820e6b5fdf5c" + integrity sha1-dhyxKrWojWQK1K9KqB+CDmtf31w= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-classes@^7.14.2", "@babel/plugin-transform-classes@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.14.2.tgz?cache=0&sync_timestamp=1620840046699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.14.2.tgz#3f1196c5709f064c252ad056207d87b7aeb2d03d" + integrity sha1-PxGWxXCfBkwlKtBWIH2Ht66y0D0= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.13.0", "@babel/plugin-transform-computed-properties@^7.8.3": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034212505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha1-hFxui5u1U3ax+guS7wvcjqBmRO0= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-destructuring@^7.13.17", "@babel/plugin-transform-destructuring@^7.8.3": + version "7.13.17" + resolved "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27" + integrity sha1-Z42WV2Y4wZ1bNrMyUE0/1uBt6ic= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha1-PxYBzCmQW/y2f1ORDxl66v67Ja0= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-duplicate-keys@^7.12.13", "@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.13.tgz?cache=0&sync_timestamp=1612314817333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha1-bwa4eouAP9ko5UuBwljwoAM5BN4= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-exponentiation-operator@^7.12.13", "@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha1-TVI5C5onPmUeSrpq7knvQOgM0KE= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.9.0.tgz?cache=0&sync_timestamp=1614034217513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-flow-strip-types%2Fdownload%2F%40babel%2Fplugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha1-ijU4qkBDTgALj0Sjxcmscim9I5I= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.13.0", "@babel/plugin-transform-for-of@^7.9.0": + version "7.13.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" + integrity sha1-x5n4gagJGsJrVIZ6hFw+l9JpYGI= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-function-name@^7.12.13", "@babel/plugin-transform-function-name@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha1-uwJEUvmq7YYdN0yOeiQlLOOlAFE= + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-literals@^7.12.13", "@babel/plugin-transform-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314818038&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha1-LKRbr+SoIBl88xV5Sk0mVg/kvbk= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-member-expression-literals@^7.12.13", "@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.12.13.tgz?cache=0&sync_timestamp=1612314834575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha1-X/pmzVm54ZExTJ8fgDuTjowIHkA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-modules-amd@^7.14.2", "@babel/plugin-transform-modules-amd@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.2.tgz#6622806fe1a7c07a1388444222ef9535f2ca17b0" + integrity sha1-ZiKAb+GnwHoTiERCIu+VNfLKF7A= + dependencies: + "@babel/helper-module-transforms" "^7.14.2" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.14.0", "@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.14.0.tgz?cache=0&sync_timestamp=1619727184331&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161" + integrity sha1-UrwZnLWB4Jku26Dw+ANWRnWH8WE= + dependencies: + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-simple-access" "^7.13.12" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.13.8", "@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.13.8" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.13.8.tgz?cache=0&sync_timestamp=1614382839114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" + integrity sha1-bQZu4r/zx7PWC/KN7Baa2ZODGuM= + dependencies: + "@babel/helper-hoist-variables" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.14.0", "@babel/plugin-transform-modules-umd@^7.9.0": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.0.tgz?cache=0&sync_timestamp=1619727183056&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34" + integrity sha1-L4F50bvJJjZlzkpl8wVSay6orDQ= + dependencies: + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha1-IhNyWl9bu+NktQw7pZmMlZnFydk= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + +"@babel/plugin-transform-new-target@^7.12.13", "@babel/plugin-transform-new-target@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.12.13.tgz?cache=0&sync_timestamp=1612314816557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-object-super@^7.12.13", "@babel/plugin-transform-object-super@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.12.13.tgz?cache=0&sync_timestamp=1612314795746&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha1-tEFqLWO4974xTz00m9VanBtRcfc= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + +"@babel/plugin-transform-parameters@^7.14.2", "@babel/plugin-transform-parameters@^7.8.7": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31" + integrity sha1-5CkPcuDp6DEADQZkJ8RmcJjezDE= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-property-literals@^7.12.13", "@babel/plugin-transform-property-literals@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha1-TmqeN4ZNjxs7wOLc57+IV9uLGoE= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.13.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.13.13.tgz#0208b1d942bf939cd4f7aa5b255d42602aa4a920" + integrity sha1-Agix2UK/k5zU96pbJV1CYCqkqSA= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-react-display-name@7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz?cache=0&sync_timestamp=1620839926064&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-display-name@^7.12.13", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.14.2.tgz?cache=0&sync_timestamp=1620839926064&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.14.2.tgz#2e854544d42ab3bb9c21f84e153d62e800fbd593" + integrity sha1-LoVFRNQqs7ucIfhOFT1i6AD71ZM= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-react-jsx-development@^7.12.17", "@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.12.17" + resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" + integrity sha1-9RDA+nzXI0FTU5+aNiztQaXKFEc= + dependencies: + "@babel/plugin-transform-react-jsx" "^7.12.17" + +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.12.13.tgz?cache=0&sync_timestamp=1612314726093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-self%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60" + integrity sha1-Qi2Z0SLVkqyrnDXqIqbP2b8Yn2A= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.14.2.tgz?cache=0&sync_timestamp=1620839450233&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-react-jsx-source%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-source-7.14.2.tgz#2620b57e7de775c0687f65d464026d15812941da" + integrity sha1-JiC1fn3ndcBof2XUZAJtFYEpQdo= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12", "@babel/plugin-transform-react-jsx@^7.9.1": + version "7.13.12" + resolved "https://registry.nlark.com/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3" + integrity sha1-HfXfrw9LeEtD6W2m8o1jDndfaLM= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/types" "^7.13.12" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.12.1.tgz?cache=0&sync_timestamp=1602802143347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-pure-annotations%2Fdownload%2F%40babel%2Fplugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha1-BdRvCrTRM5rFmt8goUYskbN6GkI= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.13.15", "@babel/plugin-transform-regenerator@^7.8.7": + version "7.13.15" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39" + integrity sha1-5esolFv4tlY+f4GJRflmqNKZfzk= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.13", "@babel/plugin-transform-reserved-words@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.12.13.tgz?cache=0&sync_timestamp=1612314845661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha1-fZmI1PBuD+aX6h2YAxiKoYtHJpU= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz?cache=0&sync_timestamp=1620839386201&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha1-RUaMCudMwTIE4dOx9M5u6DJYrws= + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.12.13", "@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314820265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha1-23VXMrcMU51QTGOQ2c6Q/mSv960= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-spread@^7.13.0", "@babel/plugin-transform-spread@^7.8.3": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.13.0.tgz?cache=0&sync_timestamp=1614034217488&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" + integrity sha1-hIh3EOJzwYFaznrkWfb0Kl0x1f0= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-sticky-regex@^7.12.13", "@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha1-dg/9k2+s5z+GCuZG+4bugvPQbR8= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-template-literals@^7.13.0", "@babel/plugin-transform-template-literals@^7.8.3": + version "7.13.0" + resolved "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" + integrity sha1-o2BJEnl3rZRDje50Q1mNHO/fQJ0= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-typeof-symbol@^7.12.13", "@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.12.13.tgz?cache=0&sync_timestamp=1612314820235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha1-eF3Weh8upXnZwr5yLejITLhfWn8= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-typescript@^7.9.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.13.0.tgz#4a498e1f3600342d2a9e61f60131018f55774853" + integrity sha1-SkmOHzYANC0qnmH2ATEBj1V3SFM= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-typescript" "^7.12.13" + +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.13.tgz?cache=0&sync_timestamp=1612314845292&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha1-hAztO4FtO1En3R0S3O3F3q0aXnQ= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-unicode-regex@^7.12.13", "@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha1-tSUhaFgE4VWxIC6D/BiNNLtw9aw= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/preset-env@7.9.0": + version "7.9.0" + resolved "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz?cache=0&sync_timestamp=1620839401950&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha1-pfxCSA6VCuj12fjyu8A/UnIt86g= + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-env@^7.4.5": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.14.2.tgz?cache=0&sync_timestamp=1620839401950&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.14.2.tgz#e80612965da73579c84ad2f963c2359c71524ed5" + integrity sha1-6AYSll2nNXnIStL5Y8I1nHFSTtU= + dependencies: + "@babel/compat-data" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" + "@babel/plugin-proposal-async-generator-functions" "^7.14.2" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-class-static-block" "^7.13.11" + "@babel/plugin-proposal-dynamic-import" "^7.14.2" + "@babel/plugin-proposal-export-namespace-from" "^7.14.2" + "@babel/plugin-proposal-json-strings" "^7.14.2" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.2" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2" + "@babel/plugin-proposal-numeric-separator" "^7.14.2" + "@babel/plugin-proposal-object-rest-spread" "^7.14.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.2" + "@babel/plugin-proposal-optional-chaining" "^7.14.2" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-proposal-private-property-in-object" "^7.14.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.0" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.13.0" + "@babel/plugin-transform-async-to-generator" "^7.13.0" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.14.2" + "@babel/plugin-transform-classes" "^7.14.2" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.17" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.13.0" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.14.2" + "@babel/plugin-transform-modules-commonjs" "^7.14.0" + "@babel/plugin-transform-modules-systemjs" "^7.13.8" + "@babel/plugin-transform-modules-umd" "^7.14.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.14.2" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.13.15" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.13.0" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.13.0" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.14.2" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + core-js-compat "^3.9.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha1-Ni8raMZihClw/bXiVP/I/BwuQV4= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@7.9.1": + version "7.9.1" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha1-s0ZAPDbVjDu1RBSCcqDO/ZwoZ3o= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-react@^7.0.0": + version "7.13.13" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761" + integrity sha1-+miVqWxQdj/mk/kUhWhFjVqDl2E= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-transform-react-display-name" "^7.12.13" + "@babel/plugin-transform-react-jsx" "^7.13.12" + "@babel/plugin-transform-react-jsx-development" "^7.12.17" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha1-h3BacrHw1Z3yHBeffD0u9LFs4ZI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/runtime-corejs3@^7.10.2": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.14.0.tgz?cache=0&sync_timestamp=1619727725709&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime-corejs3%2Fdownload%2F%40babel%2Fruntime-corejs3-7.14.0.tgz#6bf5fbc0b961f8e3202888cb2cd0fb7a0a9a3f66" + integrity sha1-a/X7wLlh+OMgKIjLLND7egqaP2Y= + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@7.9.0": + version "7.9.0" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.9.0.tgz?cache=0&sync_timestamp=1619727414495&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha1-M37aZ0AfWwZqbyBaMRPUrBi6SVs= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.1", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.14.0" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.0.tgz?cache=0&sync_timestamp=1619727414495&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" + integrity sha1-RnlLwgthLF915i3QceJN/ZXxy+Y= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.18.9": + version "7.22.6" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" + integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.12.13", "@babel/template@^7.4.0", "@babel/template@^7.6.0", "@babel/template@^7.8.6": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha1-UwJlvooliduzdSOETFvLVZR/syc= + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.4.3", "@babel/traverse@^7.6.0", "@babel/traverse@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.2.tgz?cache=0&sync_timestamp=1620839391311&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" + integrity sha1-kgGo2RJyOoMcJnnH678v4UFtdls= + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.14.2" + "@babel/helper-function-name" "^7.14.2" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.14.2" + "@babel/types" "^7.14.2" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0", "@babel/types@^7.9.0": + version "7.14.2" + resolved "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3" + integrity sha1-QgiuADEH74oFfqgzPlbrZNL2osM= + dependencies: + "@babel/helper-validator-identifier" "^7.14.0" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.nlark.com/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha1-rUldxBsS511YjG24uYNPCPoTHrc= + +"@csstools/normalize.css@^9.0.1": + version "9.0.1" + resolved "https://registry.npm.taobao.org/@csstools/normalize.css/download/@csstools/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" + integrity sha1-wns5HYRX0eiT8e3er15UEtEv+7U= + +"@ctrl/tinycolor@^3.4.0": + version "3.4.0" + resolved "https://registry.npm.taobao.org/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz?cache=0&sync_timestamp=1612895880147&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ctrl%2Ftinycolor%2Fdownload%2F%40ctrl%2Ftinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" + integrity sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8= + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.nlark.com/@hapi/address/download/@hapi/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.nlark.com/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.nlark.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz?cache=0&sync_timestamp=1615984328397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fjoi%2Fdownload%2F%40hapi%2Fjoi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/console/download/@jest/console-24.9.0.tgz?cache=0&sync_timestamp=1620109701854&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Fconsole%2Fdownload%2F%40jest%2Fconsole-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/core/download/@jest/core-24.9.0.tgz?cache=0&sync_timestamp=1620109705972&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/environment/download/@jest/environment-24.9.0.tgz?cache=0&sync_timestamp=1620109845910&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz?cache=0&sync_timestamp=1620109846199&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Ffake-timers%2Fdownload%2F%40jest%2Ffake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/reporters/download/@jest/reporters-24.9.0.tgz?cache=0&sync_timestamp=1620109846460&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1620109701540&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz?cache=0&sync_timestamp=1620109848143&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.nlark.com/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1620109700726&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha1-TWpHk/e5WZ/DaAh3uFapfbzPKp0= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha1-vvWlMgMOHYii9abZM/hOlyJu1I4= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.4.tgz?cache=0&sync_timestamp=1609074618762&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha1-1LNUml213iaD4MEHGrTxQJBLv2k= + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha1-o/LdYbq0O424+hCKEhz//kxnZlU= + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.6.tgz?cache=0&sync_timestamp=1609077165961&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha1-zOk5azCqWv6eN1Zgj1gxrctT0GM= + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.npm.taobao.org/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" + integrity sha1-ohEXsZ7pvnDDeewYd1N+8uHGMwE= + dependencies: + any-observable "^0.3.0" + +"@sheerun/mutationobserver-shim@^0.3.2": + version "0.3.3" + resolved "https://registry.npm.taobao.org/@sheerun/mutationobserver-shim/download/@sheerun/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25" + integrity sha1-VAXujkRO0hLbROeTUfDHClgqriU= + +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha1-2ty2IYUDUy1ohLIQ5/PFAsqqRLE= + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha1-KXVQuajAxzN76hK9/IqAu2b4Wrw= + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha1-wZYwLz5o6ragXpivnKhXC8ExMcc= + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha1-MQ7Ad13oCKai5P1CaMJF/XNMEWU= + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha1-LN7ddH5bGyntTCQeRiVqrIEQ3ZM= + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha1-mpR5HJoogQjSCp0sxkysgg8UE5E= + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha1-FRSHMihDNZocqGsho4Ff0hqItxc= + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha1-Xx4viGsshcZ+dtpC8Pa+Gxdntpc= + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/babel-preset/download/@svgr/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha1-p12MLyAqwOV3Tmv8Fl0CizmhMWw= + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/core@^4.3.2": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/core/download/@svgr/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha1-s3uJ1bdX3Gbox0FW0Aw2gzjSQpM= + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.npm.taobao.org/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha1-HVoIL3uSnvjx9XiVAjj2MOFFMrg= + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/plugin-jsx/download/@svgr/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha1-4rqRPb376FJSo02xAavH69UJkvo= + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@svgr/plugin-svgo/download/@svgr/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha1-2qwKPYcuP1WTXGWI3TcDNoZenjI= + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + +"@svgr/webpack@4.3.2": + version "4.3.2" + resolved "https://registry.npm.taobao.org/@svgr/webpack/download/@svgr/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" + integrity sha1-MZ1Eccjz1cOvNQWSdINNm1uPuVY= + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-transform-react-constant-elements" "^7.0.0" + "@babel/preset-env" "^7.4.5" + "@babel/preset-react" "^7.0.0" + "@svgr/core" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" + +"@testing-library/dom@*": + version "7.31.0" + resolved "https://registry.nlark.com/@testing-library/dom/download/@testing-library/dom-7.31.0.tgz#938451abd3ca27e1b69bb395d4a40759fd7f5b3b" + integrity sha1-k4RRq9PKJ+G2m7OV1KQHWf1/Wzs= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^4.2.0" + aria-query "^4.2.2" + chalk "^4.1.0" + dom-accessibility-api "^0.5.4" + lz-string "^1.4.4" + pretty-format "^26.6.2" + +"@testing-library/dom@^6.15.0": + version "6.16.0" + resolved "https://registry.nlark.com/@testing-library/dom/download/@testing-library/dom-6.16.0.tgz#04ada27ed74ad4c0f0d984a1245bb29b1fd90ba9" + integrity sha1-BK2iftdK1MDw2YShJFuymx/ZC6k= + dependencies: + "@babel/runtime" "^7.8.4" + "@sheerun/mutationobserver-shim" "^0.3.2" + "@types/testing-library__dom" "^6.12.1" + aria-query "^4.0.2" + dom-accessibility-api "^0.3.0" + pretty-format "^25.1.0" + wait-for-expect "^3.0.2" + +"@testing-library/jest-dom@^4.2.4": + version "4.2.4" + resolved "https://registry.nlark.com/@testing-library/jest-dom/download/@testing-library/jest-dom-4.2.4.tgz#00dfa0cbdd837d9a3c2a7f3f0a248ea6e7b89742" + integrity sha1-AN+gy92DfZo8Kn8/CiSOpue4l0I= + dependencies: + "@babel/runtime" "^7.5.1" + chalk "^2.4.1" + css "^2.2.3" + css.escape "^1.5.1" + jest-diff "^24.0.0" + jest-matcher-utils "^24.0.0" + lodash "^4.17.11" + pretty-format "^24.0.0" + redent "^3.0.0" + +"@testing-library/react@^9.3.2": + version "9.5.0" + resolved "https://registry.nlark.com/@testing-library/react/download/@testing-library/react-9.5.0.tgz#71531655a7890b61e77a1b39452fbedf0472ca5e" + integrity sha1-cVMWVaeJC2Hnehs5RS++3wRyyl4= + dependencies: + "@babel/runtime" "^7.8.4" + "@testing-library/dom" "^6.15.0" + "@types/testing-library__react" "^9.1.2" + +"@testing-library/user-event@^7.1.2": + version "7.2.1" + resolved "https://registry.nlark.com/@testing-library/user-event/download/@testing-library/user-event-7.2.1.tgz#2ad4e844175a3738cb9e7064be5ea070b8863a1c" + integrity sha1-KtToRBdaNzjLnnBkvl6gcLiGOhw= + +"@types/aria-query@^4.2.0": + version "4.2.1" + resolved "https://registry.npm.taobao.org/@types/aria-query/download/@types/aria-query-4.2.1.tgz#78b5433344e2f92e8b306c06a5622c50c245bf6b" + integrity sha1-eLVDM0Ti+S6LMGwGpWIsUMJFv2s= + +"@types/axios@^0.14.0": + version "0.14.0" + resolved "https://registry.npm.taobao.org/@types/axios/download/@types/axios-0.14.0.tgz#ec2300fbe7d7dddd7eb9d3abf87999964cafce46" + integrity sha1-7CMA++fX3d1+udOr+HmZlkyvzkY= + dependencies: + axios "*" + +"@types/babel__core@^7.1.0": + version "7.1.14" + resolved "https://registry.nlark.com/@types/babel__core/download/@types/babel__core-7.1.14.tgz?cache=0&sync_timestamp=1618846955673&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" + integrity sha1-+q7vxBhexxw4n0UB7l7ISxcMxAI= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.2" + resolved "https://registry.nlark.com/@types/babel__generator/download/@types/babel__generator-7.6.2.tgz?cache=0&sync_timestamp=1618847138771&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fbabel__generator%2Fdownload%2F%40types%2Fbabel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" + integrity sha1-89cReOGHhY98ReMDgPjxt0FaEtg= + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.0" + resolved "https://registry.nlark.com/@types/babel__template/download/@types/babel__template-7.4.0.tgz?cache=0&sync_timestamp=1618847139012&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fbabel__template%2Fdownload%2F%40types%2Fbabel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" + integrity sha1-DIiN1ws+6e67bk8gDoCdoAdiYr4= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.11.1" + resolved "https://registry.nlark.com/@types/babel__traverse/download/@types/babel__traverse-7.11.1.tgz?cache=0&sync_timestamp=1618847139198&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" + integrity sha1-ZU9sT2dWjiTCOzZ+lHCYxiBvpjk= + dependencies: + "@babel/types" "^7.3.0" + +"@types/d3-array@*": + version "3.0.5" + resolved "https://registry.npmmirror.com/@types/d3-array/-/d3-array-3.0.5.tgz#857c1afffd3f51319bbc5b301956aca68acaa7b8" + integrity sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A== + +"@types/d3-axis@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-axis/-/d3-axis-3.0.2.tgz#96e11d51256baf5bdb2fa73a17d302993e79df07" + integrity sha512-uGC7DBh0TZrU/LY43Fd8Qr+2ja1FKmH07q2FoZFHo1eYl8aj87GhfVoY1saJVJiq24rp1+wpI6BvQJMKgQm8oA== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-brush@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-brush/-/d3-brush-3.0.2.tgz#a610aad5a1e76c375be63e11c5eee1ed9fd2fb40" + integrity sha512-2TEm8KzUG3N7z0TrSKPmbxByBx54M+S9lHoP2J55QuLU0VSQ9mE96EJSAOVNEqd1bbynMjeTS9VHmz8/bSw8rA== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-chord@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-chord/-/d3-chord-3.0.2.tgz#cf6f05ad2d8faaad524e9e6f454b4fd06b200930" + integrity sha512-abT/iLHD3sGZwqMTX1TYCMEulr+wBd0SzyOQnjYNLp7sngdOHYtNkMRI5v3w5thoN+BWtlHVDx2Osvq6fxhZWw== + +"@types/d3-color@*": + version "3.1.0" + resolved "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.0.tgz#6594da178ded6c7c3842f3cc0ac84b156f12f2d4" + integrity sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA== + +"@types/d3-contour@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-contour/-/d3-contour-3.0.2.tgz#d8a0e4d12ec14f7d2bb6e59f3fbc1a527457d0b2" + integrity sha512-k6/bGDoAGJZnZWaKzeB+9glgXCYGvh6YlluxzBREiVo8f/X2vpTEdgPy9DN7Z2i42PZOZ4JDhVdlTSTSkLDPlQ== + dependencies: + "@types/d3-array" "*" + "@types/geojson" "*" + +"@types/d3-delaunay@*": + version "6.0.1" + resolved "https://registry.npmmirror.com/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz#006b7bd838baec1511270cb900bf4fc377bbbf41" + integrity sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ== + +"@types/d3-dispatch@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-dispatch/-/d3-dispatch-3.0.2.tgz#b2fa80bab3bcead68680766e966f59cd6cb9a69f" + integrity sha512-rxN6sHUXEZYCKV05MEh4z4WpPSqIw+aP7n9ZN6WYAAvZoEAghEK1WeVZMZcHRBwyaKflU43PCUAJNjFxCzPDjg== + +"@types/d3-drag@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-drag/-/d3-drag-3.0.2.tgz#5562da3e7b33d782c2c1f9e65c5e91bb01ee82cf" + integrity sha512-qmODKEDvyKWVHcWWCOVcuVcOwikLVsyc4q4EBJMREsoQnR2Qoc2cZQUyFUPgO9q4S3qdSqJKBsuefv+h0Qy+tw== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-dsv@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/d3-dsv/-/d3-dsv-3.0.1.tgz#c51a3505cee42653454b74a00f8713dc3548c362" + integrity sha512-76pBHCMTvPLt44wFOieouXcGXWOF0AJCceUvaFkxSZEu4VDUdv93JfpMa6VGNFs01FHfuP4a5Ou68eRG1KBfTw== + +"@types/d3-ease@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-ease/-/d3-ease-3.0.0.tgz#c29926f8b596f9dadaeca062a32a45365681eae0" + integrity sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA== + +"@types/d3-fetch@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-fetch/-/d3-fetch-3.0.2.tgz#fe1f335243e07c9bd520c9a71756fed8330c54b1" + integrity sha512-gllwYWozWfbep16N9fByNBDTkJW/SyhH6SGRlXloR7WdtAaBui4plTP+gbUgiEot7vGw/ZZop1yDZlgXXSuzjA== + dependencies: + "@types/d3-dsv" "*" + +"@types/d3-force@*": + version "3.0.4" + resolved "https://registry.npmmirror.com/@types/d3-force/-/d3-force-3.0.4.tgz#2d50bd2b695f709797e1745644f6bc123e6e5f5a" + integrity sha512-q7xbVLrWcXvSBBEoadowIUJ7sRpS1yvgMWnzHJggFy5cUZBq2HZL5k/pBSm0GdYWS1vs5/EDwMjSKF55PDY4Aw== + +"@types/d3-format@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/d3-format/-/d3-format-3.0.1.tgz#194f1317a499edd7e58766f96735bdc0216bb89d" + integrity sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg== + +"@types/d3-geo@*": + version "3.0.3" + resolved "https://registry.npmmirror.com/@types/d3-geo/-/d3-geo-3.0.3.tgz#535e5f24be13722964c52354301be09b752f5d6e" + integrity sha512-bK9uZJS3vuDCNeeXQ4z3u0E7OeJZXjUgzFdSOtNtMCJCLvDtWDwfpRVWlyt3y8EvRzI0ccOu9xlMVirawolSCw== + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@*": + version "3.1.2" + resolved "https://registry.npmmirror.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b3a446b5437faededb30ac32b7cc0486559ab1e2" + integrity sha512-9hjRTVoZjRFR6xo8igAJyNXQyPX6Aq++Nhb5ebrUF414dv4jr2MitM2fWiOY475wa3Za7TOS2Gh9fmqEhLTt0A== + +"@types/d3-interpolate@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz#e7d17fa4a5830ad56fe22ce3b4fac8541a9572dc" + integrity sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw== + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-path/-/d3-path-3.0.0.tgz#939e3a784ae4f80b1fde8098b91af1776ff1312b" + integrity sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg== + +"@types/d3-polygon@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-polygon/-/d3-polygon-3.0.0.tgz#5200a3fa793d7736fa104285fa19b0dbc2424b93" + integrity sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw== + +"@types/d3-quadtree@*": + version "3.0.2" + resolved "https://registry.npmmirror.com/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz#433112a178eb7df123aab2ce11c67f51cafe8ff5" + integrity sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw== + +"@types/d3-random@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/d3-random/-/d3-random-3.0.1.tgz#5c8d42b36cd4c80b92e5626a252f994ca6bfc953" + integrity sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ== + +"@types/d3-scale-chromatic@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#103124777e8cdec85b20b51fd3397c682ee1e954" + integrity sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw== + +"@types/d3-scale@*": + version "4.0.3" + resolved "https://registry.npmmirror.com/@types/d3-scale/-/d3-scale-4.0.3.tgz#7a5780e934e52b6f63ad9c24b105e33dd58102b5" + integrity sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ== + dependencies: + "@types/d3-time" "*" + +"@types/d3-selection@*": + version "3.0.5" + resolved "https://registry.npmmirror.com/@types/d3-selection/-/d3-selection-3.0.5.tgz#27cd53b7672d405025e2414d98532d7934c16ebd" + integrity sha512-xCB0z3Hi8eFIqyja3vW8iV01+OHGYR2di/+e+AiOcXIOrY82lcvWW8Ke1DYE/EUVMsBl4Db9RppSBS3X1U6J0w== + +"@types/d3-shape@*": + version "3.1.1" + resolved "https://registry.npmmirror.com/@types/d3-shape/-/d3-shape-3.1.1.tgz#15cc497751dac31192d7aef4e67a8d2c62354b95" + integrity sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A== + dependencies: + "@types/d3-path" "*" + +"@types/d3-time-format@*": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/d3-time-format/-/d3-time-format-4.0.0.tgz#ee7b6e798f8deb2d9640675f8811d0253aaa1946" + integrity sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw== + +"@types/d3-time@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-time/-/d3-time-3.0.0.tgz#e1ac0f3e9e195135361fa1a1d62f795d87e6e819" + integrity sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg== + +"@types/d3-timer@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-3.0.0.tgz#e2505f1c21ec08bda8915238e397fb71d2fc54ce" + integrity sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g== + +"@types/d3-transition@*": + version "3.0.3" + resolved "https://registry.npmmirror.com/@types/d3-transition/-/d3-transition-3.0.3.tgz#d4ac37d08703fb039c87f92851a598ba77400402" + integrity sha512-/S90Od8Id1wgQNvIA8iFv9jRhCiZcGhPd2qX0bKF/PS+y0W5CrXKgIiELd2CvG1mlQrWK/qlYh3VxicqG1ZvgA== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-zoom@*": + version "3.0.3" + resolved "https://registry.npmmirror.com/@types/d3-zoom/-/d3-zoom-3.0.3.tgz#5c29006a61ff7ca512fe21398c66ad95dd846674" + integrity sha512-OWk1yYIIWcZ07+igN6BeoG6rqhnJ/pYe+R1qWFM2DtW49zsoSjgb9G5xB0ZXA8hh2jAzey1XuRmMSoXdKw8MDA== + dependencies: + "@types/d3-interpolate" "*" + "@types/d3-selection" "*" + +"@types/d3@^7.4.0": + version "7.4.0" + resolved "https://registry.npmmirror.com/@types/d3/-/d3-7.4.0.tgz#fc5cac5b1756fc592a3cf1f3dc881bf08225f515" + integrity sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA== + dependencies: + "@types/d3-array" "*" + "@types/d3-axis" "*" + "@types/d3-brush" "*" + "@types/d3-chord" "*" + "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-delaunay" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" + "@types/d3-fetch" "*" + "@types/d3-force" "*" + "@types/d3-format" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" + "@types/d3-polygon" "*" + "@types/d3-quadtree" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" + "@types/d3-selection" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" + "@types/d3-time-format" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-zoom" "*" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.nlark.com/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz?cache=0&sync_timestamp=1618847183815&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Feslint-visitor-keys%2Fdownload%2F%40types%2Feslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= + +"@types/geojson@*": + version "7946.0.10" + resolved "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249" + integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA== + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1618847045236&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/history@*": + version "4.7.8" + resolved "https://registry.npm.taobao.org/@types/history/download/@types/history-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934" + integrity sha1-STSDh5gwdXBf6PTgL7Z/farsSTQ= + +"@types/hoist-non-react-statics@^3.3.0": + version "3.3.1" + resolved "https://registry.npm.taobao.org/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.3" + resolved "https://registry.nlark.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz?cache=0&sync_timestamp=1613378795590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-lib-report%2Fdownload%2F%40types%2Fistanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz?cache=0&sync_timestamp=1613378795649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-3.0.0.tgz?cache=0&sync_timestamp=1613378795649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fistanbul-reports%2Fdownload%2F%40types%2Fistanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha1-UIsTqjRPpJdiNOdd3cw0klc32CE= + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^24.0.0": + version "24.9.1" + resolved "https://registry.nlark.com/@types/jest/download/@types/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha1-Arr5Vzx48bmXSl82d4s2aqd71TQ= + dependencies: + jest-diff "^24.3.0" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.7" + resolved "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0= + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.nlark.com/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/minimatch@*": + version "3.0.4" + resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE= + +"@types/node@*": + version "15.3.0" + resolved "https://registry.nlark.com/@types/node/download/@types/node-15.3.0.tgz#d6fed7d6bc6854306da3dea1af9f874b00783e26" + integrity sha1-1v7X1rxoVDBto96hr5+HSwB4PiY= + +"@types/node@^12.0.0": + version "12.20.13" + resolved "https://registry.nlark.com/@types/node/download/@types/node-12.20.13.tgz#e743bae112bd779ac9650f907197dd2caa7f0364" + integrity sha1-50O64RK9d5rJZQ+QcZfdLKp/A2Q= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4= + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= + +"@types/prop-types@*", "@types/prop-types@^15.7.3": + version "15.7.3" + resolved "https://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.nlark.com/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= + +"@types/react-dom@*": + version "17.0.5" + resolved "https://registry.nlark.com/@types/react-dom/download/@types/react-dom-17.0.5.tgz#df44eed5b8d9e0b13bb0cd38e0ea6572a1231227" + integrity sha1-30Tu1bjZ4LE7sM044OplcqEjEic= + dependencies: + "@types/react" "*" + +"@types/react-dom@^16.9.0": + version "16.9.13" + resolved "https://registry.nlark.com/@types/react-dom/download/@types/react-dom-16.9.13.tgz#5898f0ee68fe200685e6b61d3d7d8828692814d0" + integrity sha1-WJjw7mj+IAaF5rYdPX2IKGkoFNA= + dependencies: + "@types/react" "^16" + +"@types/react-redux@^7.1.16", "@types/react-redux@^7.1.7": + version "7.1.16" + resolved "https://registry.npm.taobao.org/@types/react-redux/download/@types/react-redux-7.1.16.tgz#0fbd04c2500c12105494c83d4a3e45c084e3cb21" + integrity sha1-D70EwlAMEhBUlMg9Sj5FwITjyyE= + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-router-dom@^5.1.4": + version "5.1.7" + resolved "https://registry.npm.taobao.org/@types/react-router-dom/download/@types/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" + integrity sha1-oSbZ6nYHn/u9sNkiUHPrV5ercnE= + dependencies: + "@types/history" "*" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*": + version "5.1.14" + resolved "https://registry.nlark.com/@types/react-router/download/@types/react-router-5.1.14.tgz?cache=0&sync_timestamp=1620201775236&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Freact-router%2Fdownload%2F%40types%2Freact-router-5.1.14.tgz#e0442f4eb4c446541ad7435d44a97f8fe6df40da" + integrity sha1-4EQvTrTERlQa10NdRKl/j+bfQNo= + dependencies: + "@types/history" "*" + "@types/react" "*" + +"@types/react@*": + version "17.0.5" + resolved "https://registry.nlark.com/@types/react/download/@types/react-17.0.5.tgz#3d887570c4489011f75a3fc8f965bf87d09a1bea" + integrity sha1-PYh1cMRIkBH3Wj/I+WW/h9CaG+o= + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^16", "@types/react@^16.9.0": + version "16.14.6" + resolved "https://registry.nlark.com/@types/react/download/@types/react-16.14.6.tgz#d933a2a6bc1bfe320a5eea480e8f45ba8126d6ee" + integrity sha1-2TOiprwb/jIKXupIDo9FuoEm1u4= + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/redux-promise@^0.5.28": + version "0.5.29" + resolved "https://registry.nlark.com/@types/redux-promise/download/@types/redux-promise-0.5.29.tgz#9d169b5fe33fd67200814da7e778a1f61b1b4b59" + integrity sha1-nRabX+M/1nIAgU2n53ih9hsbS1k= + dependencies: + redux "^3.6.0" + +"@types/resize-observer-browser@^0.1.7": + version "0.1.7" + resolved "https://registry.npmmirror.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.7.tgz#294aaadf24ac6580b8fbd1fe3ab7b59fe85f9ef3" + integrity sha512-G9eN0Sn0ii9PWQ3Vl72jDPgeJwRWhv2Qk/nQkJuWmRmOB4HX3/BhD5SE1dZs/hzPZL/WKnvF0RHdTSG54QJFyg== + +"@types/scheduler@*": + version "0.16.1" + resolved "https://registry.npm.taobao.org/@types/scheduler/download/@types/scheduler-0.16.1.tgz?cache=0&sync_timestamp=1613384488348&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fscheduler%2Fdownload%2F%40types%2Fscheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" + integrity sha1-GIRSBehv8AOFF6q3oYpiprn3EnU= + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz?cache=0&sync_timestamp=1613384491701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fstack-utils%2Fdownload%2F%40types%2Fstack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= + +"@types/testing-library__dom@*": + version "7.5.0" + resolved "https://registry.npm.taobao.org/@types/testing-library__dom/download/@types/testing-library__dom-7.5.0.tgz#e0a00dd766983b1d6e9d10d33e708005ce6ad13e" + integrity sha1-4KAN12aYOx1unRDTPnCABc5q0T4= + dependencies: + "@testing-library/dom" "*" + +"@types/testing-library__dom@^6.12.1": + version "6.14.0" + resolved "https://registry.npm.taobao.org/@types/testing-library__dom/download/@types/testing-library__dom-6.14.0.tgz#1aede831cb4ed4a398448df5a2c54b54a365644e" + integrity sha1-Gu3oMctO1KOYRI31osVLVKNlZE4= + dependencies: + pretty-format "^24.3.0" + +"@types/testing-library__react@^9.1.2": + version "9.1.3" + resolved "https://registry.npm.taobao.org/@types/testing-library__react/download/@types/testing-library__react-9.1.3.tgz#35eca61cc6ea923543796f16034882a1603d7302" + integrity sha1-NeymHMbqkjVDeW8WA0iCoWA9cwI= + dependencies: + "@types/react-dom" "*" + "@types/testing-library__dom" "*" + pretty-format "^25.1.0" + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.nlark.com/@types/yargs-parser/download/@types/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= + +"@types/yargs@^13.0.0": + version "13.0.11" + resolved "https://registry.nlark.com/@types/yargs/download/@types/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" + integrity sha1-3vLwyT5L3yxh1+NImbF+NL4o07E= + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.nlark.com/@types/yargs/download/@types/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw= + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.2.0": + version "2.34.0" + resolved "https://registry.nlark.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha1-b4zopGx96kpvHRcdK7j7rm2sK+k= + dependencies: + "@typescript-eslint/experimental-utils" "2.34.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.34.0": + version "2.34.0" + resolved "https://registry.nlark.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.34.0.tgz?cache=0&sync_timestamp=1621117373123&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha1-01JLZEzbQO687KZ/jPPkzJyPmA8= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^2.2.0": + version "2.34.0" + resolved "https://registry.nlark.com/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha1-UCUmMMoxloVCDpo5ygX+GFola8g= + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.nlark.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha1-FK62NTs57wcyzH8bgoUpSTfPN9U= + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz?cache=0&sync_timestamp=1610041484025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz?cache=0&sync_timestamp=1610041494828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz?cache=0&sync_timestamp=1610041493871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.nlark.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz?cache=0&sync_timestamp=1610041485419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz?cache=0&sync_timestamp=1610041488584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz?cache=0&sync_timestamp=1610041488856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz?cache=0&sync_timestamp=1610041484395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz?cache=0&sync_timestamp=1610041489596&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz?cache=0&sync_timestamp=1610041488066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.nlark.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +abab@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^4.1.0, acorn-globals@^4.3.0: + version "4.3.4" + resolved "https://registry.nlark.com/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0: + version "5.3.1" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499155970&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns= + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.nlark.com/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= + +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: + version "6.4.2" + resolved "https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= + +add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/add-dom-event-listener/download/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha1-apLbOg3Qq8JU4JXA8dwUrLuq4xA= + dependencies: + object-assign "4.x" + +address@1.1.2, address@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-2.0.0.tgz?cache=0&sync_timestamp=1603701108010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fadjust-sourcemap-loader%2Fdownload%2Fadjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha1-ZHEUOvdewCM0shn1S8eXDFL7KaQ= + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.nlark.com/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= + dependencies: + color-convert "^2.0.1" + +antd@4.2.0: + version "4.2.0" + resolved "https://registry.nlark.com/antd/download/antd-4.2.0.tgz#1b6c9cb1d534b33e83a24052d9a7ccbaba19d138" + integrity sha1-G2ycsdU0sz6DokBS2afMuroZ0Tg= + dependencies: + "@ant-design/icons" "^4.1.0" + "@ant-design/react-slick" "~0.25.5" + array-tree-filter "^2.1.0" + classnames "~2.2.6" + copy-to-clipboard "^3.2.0" + css-animation "^1.5.0" + lodash "^4.17.13" + moment "^2.24.0" + omit.js "^1.0.2" + prop-types "^15.7.2" + raf "^3.4.1" + rc-animate "~2.11.0" + rc-cascader "~1.0.0" + rc-checkbox "~2.2.0" + rc-collapse "~1.11.3" + rc-dialog "~7.6.0" + rc-drawer "~3.1.1" + rc-dropdown "~3.0.0" + rc-field-form "~1.2.0" + rc-input-number "~4.6.1" + rc-mentions "~1.1.0" + rc-menu "~8.0.1" + rc-notification "~4.0.0" + rc-pagination "~2.2.0" + rc-picker "~1.4.0" + rc-progress "~2.5.0" + rc-rate "~2.6.0" + rc-resize-observer "^0.2.0" + rc-select "~10.2.0" + rc-slider "~9.2.3" + rc-steps "~3.5.0" + rc-switch "~1.9.0" + rc-table "~7.5.2" + rc-tabs "~10.1.1" + rc-tooltip "~4.0.2" + rc-tree "~3.1.0" + rc-tree-select "~3.1.0" + rc-trigger "~4.0.0" + rc-upload "~3.0.4" + rc-util "^4.20.0" + rc-virtual-list "^1.1.0" + resize-observer-polyfill "^1.5.1" + scroll-into-view-if-needed "^2.2.20" + warning "~4.0.3" + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/any-observable/download/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + integrity sha1-r5M0deWAamfQ198JDdXovvZdEZs= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.2" + resolved "https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/aria-query/download/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + +aria-query@^4.0.2, aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/aria-query/download/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha1-DSymyazrVriXfp/tau1+FbvS+Ds= + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/arity-n/download/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz?cache=0&sync_timestamp=1618846805394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farr-flatten%2Fdownload%2Farr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-find@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/array-find/download/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.3.tgz?cache=0&sync_timestamp=1613857733971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-includes%2Fdownload%2Farray-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha1-x/YZs4KtKvr1Mmzd/cCvxhr3aQo= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/array-tree-filter/download/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA= + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624407140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624407140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1620042121153&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.4.tgz?cache=0&sync_timestamp=1605688512391&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha1-bvY4tDMSvUAbTGGZ/ex+LcnpoSM= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flatmap/download/array.prototype.flatmap-1.2.4.tgz?cache=0&sync_timestamp=1605694586036&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flatmap%2Fdownload%2Farray.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha1-lM/UfMFVbsB0fZf3x3OMWBIgBMk= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha1-EamAuE67kXgc41sP3C7ilON4Pwc= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@1.4.1: + version "1.4.1" + resolved "https://registry.nlark.com/assert/download/assert-1.4.1.tgz?cache=0&sync_timestamp=1618847153747&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fassert%2Fdownload%2Fassert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.nlark.com/assert/download/assert-1.5.0.tgz?cache=0&sync_timestamp=1618847153747&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fassert%2Fdownload%2Fassert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async-validator@^3.0.3: + version "3.5.2" + resolved "https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" + integrity sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.nlark.com/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.nlark.com/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.nlark.com/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.6.1: + version "9.8.6" + resolved "https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8= + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= + +axe-core@^4.0.2: + version "4.2.0" + resolved "https://registry.nlark.com/axe-core/download/axe-core-4.2.0.tgz#6594db4ee62f78be79e32a7295d21b099b60668d" + integrity sha1-ZZTbTuYveL554ypyldIbCZtgZo0= + +axios@*, axios@^0.21.1: + version "0.21.1" + resolved "https://registry.nlark.com/axios/download/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg= + dependencies: + follow-redirects "^1.10.0" + +axobject-query@^2.0.2, axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.nlark.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-eslint@10.0.3: + version "10.0.3" + resolved "https://registry.nlark.com/babel-eslint/download/babel-eslint-10.0.3.tgz?cache=0&sync_timestamp=1618846971799&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" + integrity sha1-gaLGab4PIF4ZRi/tJILTPkaHqIo= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= + dependencies: + babylon "^6.18.0" + +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1620109936089&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.0.6: + version "8.0.6" + resolved "https://registry.nlark.com/babel-loader/download/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha1-4zvbbzYrA/S7FBoMIauHxQG3Dfs= + dependencies: + find-cache-dir "^2.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + pify "^4.0.1" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1618846790496&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-import@^1.12.2: + version "1.13.3" + resolved "https://registry.npm.taobao.org/babel-plugin-import/download/babel-plugin-import-1.13.3.tgz#9dbbba7d1ac72bd412917a830d445e00941d26d7" + integrity sha1-nbu6fRrHK9QSkXqDDUReAJQdJtc= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/runtime" "^7.0.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= + dependencies: + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0: + version "2.8.0" + resolved "https://registry.nlark.com/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz?cache=0&sync_timestamp=1620233906429&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-macros%2Fdownload%2Fbabel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.4: + version "0.3.7" + resolved "https://registry.npm.taobao.org/babel-plugin-named-asset-import/download/babel-plugin-named-asset-import-0.3.7.tgz?cache=0&sync_timestamp=1603462325329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-named-asset-import%2Fdownload%2Fbabel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha1-FWzVXT8SKKV2V3Q0CTevyDmAZ90= + +babel-plugin-polyfill-corejs2@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.0.tgz#686775bf9a5aa757e10520903675e3889caeedc4" + integrity sha1-aGd1v5pap1fhBSCQNnXjiJyu7cQ= + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2" + integrity sha1-9LS7exkymCffNv9W9ubTZwJst6I= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.0" + core-js-compat "^3.9.1" + +babel-plugin-polyfill-regenerator@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8" + integrity sha1-hT9fVxb0aR2YyE+Aacdjbqjaerg= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.0" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.nlark.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz?cache=0&sync_timestamp=1618847044608&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-syntax-object-rest-spread%2Fdownload%2Fbabel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.nlark.com/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/babel-plugin-transform-react-remove-prop-types/download/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha1-8u2vm0xqX75cHWeL+1MQeMFVXzo= + +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-preset-react-app@^9.0.2: + version "9.1.2" + resolved "https://registry.npm.taobao.org/babel-preset-react-app/download/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha1-VHddl2WIqKbRqZIBpwK+/sr0gDA= + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@6.x, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.nlark.com/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.nlark.com/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1618847007562&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz?cache=0&sync_timestamp=1615984442879&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbody-parser%2Fdownload%2Fbody-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz?cache=0&sync_timestamp=1618847049949&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowser-process-hrtime%2Fdownload%2Fbrowser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.npm.taobao.org/browser-resolve/download/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.nlark.com/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0= + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.nlark.com/browserify-sign/download/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM= + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@4.7.0: + version "4.7.0" + resolved "https://registry.nlark.com/browserslist/download/browserslist-4.7.0.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha1-nuiSJf/AfbA0CfL+5STcgidFihc= + dependencies: + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" + +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.6.4, browserslist@^4.9.1: + version "4.16.6" + resolved "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" + integrity sha1-15ASd6WojlVO0wWxg+ybDAj2b6I= + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.nlark.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1616431156987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1616431156987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1606867297052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha1-AylVJ9WL081Kp1Nj81sujZe+L0I= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: + version "1.0.30001228" + resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001228.tgz?cache=0&sync_timestamp=1620658722974&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001228.tgz#bfdc5942cd3326fa51ee0b42fbef4da9d492a7fa" + integrity sha1-v9xZQs0zJvpR7gtC++9NqdSSp/o= + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" + integrity sha1-M3HvY2XvnCX6S4HBas4OnH3FjD4= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.1" + resolved "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.nlark.com/chardet/download/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.nlark.com/check-types/download/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= + +chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.5.1" + resolved "https://registry.nlark.com/chokidar/download/chokidar-3.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha1-7pznu+vSt59J8wR5nVRo4x4U5oo= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classcat@^5.0.3: + version "5.0.4" + resolved "https://registry.npmmirror.com/classcat/-/classcat-5.0.4.tgz#e12d1dfe6df6427f260f03b80dc63571a5107ba6" + integrity sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g== + +classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6: + version "2.3.1" + resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha1-38+jiR4wbsHa0QXQ6I9EF7hTXo4= + +classnames@~2.2.6: + version "2.2.6" + resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1616153455026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1618847036567&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/cli-truncate/download/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.nlark.com/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.nlark.com/clone-deep/download/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.nlark.com/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.5.4: + version "1.5.5" + resolved "https://registry.nlark.com/color-string/download/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.3" + resolved "https://registry.nlark.com/color/download/color-3.1.3.tgz?cache=0&sync_timestamp=1618846945133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor%2Fdownload%2Fcolor-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4= + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.nlark.com/colorette/download/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.nlark.com/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1618847060379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.11.0, commander@^2.18.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1618847060379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.nlark.com/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1618847060379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +common-tags@^1.8.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha1-jjFT5ULUo56bEFVENK+q+YlWqTc= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-classes@^1.2.5: + version "1.2.6" + resolved "https://registry.nlark.com/component-classes/download/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= + dependencies: + component-indexof "0.0.3" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.nlark.com/component-indexof/download/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/compose-function/download/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.nlark.com/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression-webpack-plugin@^3.0.1: + version "3.1.0" + resolved "https://registry.npm.taobao.org/compression-webpack-plugin/download/compression-webpack-plugin-3.1.0.tgz#9f510172a7b5fae5aad3b670652e8bd7997aeeca" + integrity sha1-n1EBcqe1+uWq07ZwZS6L15l67so= + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.0.0" + neo-async "^2.5.0" + schema-utils "^2.6.1" + serialize-javascript "^2.1.2" + webpack-sources "^1.0.1" + +compression@^1.5.2: + version "1.7.4" + resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompression%2Fdownload%2Fcompression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +compute-scroll-into-view@^1.0.17: + version "1.0.17" + resolved "https://registry.npm.taobao.org/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz?cache=0&sync_timestamp=1614042283471&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompute-scroll-into-view%2Fdownload%2Fcompute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" + integrity sha1-aojxis2dQunPS6pr7H4FImB6t6s= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.nlark.com/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.10, confusing-browser-globals@^1.0.9: + version "1.0.10" + resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha1-MNHn89G4grJexJM9HRraw1PSClk= + +connect-history-api-fallback@^1.3.0: + version "1.6.0" + resolved "https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz?cache=0&sync_timestamp=1618847040596&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconnect-history-api-fallback%2Fdownload%2Fconnect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +connected-react-router@^6.5.2: + version "6.9.1" + resolved "https://registry.npm.taobao.org/connected-react-router/download/connected-react-router-6.9.1.tgz#d842eebaa15b9920e2e45fc03d74e41110e94e4c" + integrity sha1-2ELuuqFbmSDi5F/APXTkERDpTkw= + dependencies: + lodash.isequalwith "^4.4.0" + prop-types "^15.7.2" + optionalDependencies: + immutable "^3.8.1 || ^4.0.0-rc.1" + seamless-immutable "^7.1.3" + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.nlark.com/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +contains-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-1.0.0.tgz#3458b332185603e8eed18f518d4a10888a3abc91" + integrity sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE= + dependencies: + normalize-path "^2.1.1" + path-starts-with "^1.0.0" + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.nlark.com/copy-anything/download/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha1-hCQHugJGaw34RIGbvjuuu+XUXYc= + dependencies: + is-what "^3.12.0" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.nlark.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3.2.0: + version "3.3.1" + resolved "https://registry.nlark.com/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4= + dependencies: + toggle-selection "^1.0.6" + +core-js-compat@^3.6.2, core-js-compat@^3.9.0, core-js-compat@^3.9.1: + version "3.12.1" + resolved "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.12.1.tgz#2c302c4708505fa7072b0adb5156d26f7801a18b" + integrity sha1-LDAsRwhQX6cHKwrbUVbSb3gBoYs= + dependencies: + browserslist "^4.16.6" + semver "7.0.0" + +core-js-pure@^3.0.0: + version "3.12.1" + resolved "https://registry.nlark.com/core-js-pure/download/core-js-pure-3.12.1.tgz#934da8b9b7221e2a2443dc71dfa5bd77a7ea00b8" + integrity sha1-k02oubciHiokQ9xx36W9d6fqALg= + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.nlark.com/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1620508113239&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= + +core-js@^3.5.0: + version "3.12.1" + resolved "https://registry.nlark.com/core-js/download/core-js-3.12.1.tgz?cache=0&sync_timestamp=1620508113239&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.12.1.tgz#6b5af4ff55616c08a44d386f1f510917ff204112" + integrity sha1-a1r0/1VhbAikTThvH1EJF/8gQRI= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.nlark.com/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-env@^7.0.2: + version "7.0.3" + resolved "https://registry.npm.taobao.org/cross-env/download/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha1-hlJkspZ33AFbqEGJGJZd0jL8VM8= + dependencies: + cross-spawn "^7.0.1" + +cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.1: + version "7.0.3" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-animation@1.x, css-animation@^1.3.2, css-animation@^1.5.0: + version "1.6.1" + resolved "https://registry.npm.taobao.org/css-animation/download/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" + integrity sha1-FiBko7DVH5WLf/N7PW1N4Y4XA54= + dependencies: + babel-runtime "6.x" + component-classes "^1.2.5" + +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha1-3979MlS/ioICeZNnTM81SDv8s8U= + dependencies: + postcss "^7.0.5" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.nlark.com/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.nlark.com/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/css-loader/download/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha1-2CVPcuQSuyI4u0TdZ0/770lzM+o= + dependencies: + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^2.0.0" + postcss-value-parser "^3.3.0" + schema-utils "^1.0.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ= + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^2.0.0, css-select@^2.0.2: + version "2.1.0" + resolved "https://registry.nlark.com/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1618846786574&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.nlark.com/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.nlark.com/css-tree/download/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0= + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/css.escape/download/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + +css@^2.0.0, css@^2.2.3: + version "2.2.4" + resolved "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha1-O/LypowQ9cagir2SN4Mx7oA83bA= + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.nlark.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz?cache=0&sync_timestamp=1619610644776&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha1-kgYisfwelaNOiDggPxOXpQTy0/8= + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.3" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.nlark.com/cssnano/download/cssnano-4.1.11.tgz?cache=0&sync_timestamp=1619611252094&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano%2Fdownload%2Fcssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408777341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk= + dependencies: + css-tree "^1.1.2" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: + version "0.3.8" + resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= + +cssstyle@^1.0.0, cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= + dependencies: + cssom "0.3.x" + +csstype@^3.0.2: + version "3.0.8" + resolved "https://registry.nlark.com/csstype/download/csstype-3.0.8.tgz?cache=0&sync_timestamp=1618818466657&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" + integrity sha1-0iZqeScp+yJ80hb7Vy9Dco4a00A= + +customize-cra@^0.8.0: + version "0.8.0" + resolved "https://registry.npm.taobao.org/customize-cra/download/customize-cra-0.8.0.tgz#011e65fde9e443733668551740b76e3eefe95822" + integrity sha1-AR5l/enkQ3M2aFUXQLduPu/pWCI= + dependencies: + lodash.flow "^3.5.0" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +"d3-color@1 - 3": + version "3.1.0" + resolved "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +"d3-dispatch@1 - 3": + version "3.0.1" + resolved "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-ease@1 - 3": + version "3.0.1" + resolved "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +"d3-interpolate@1 - 3": + version "3.0.1" + resolved "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +"d3-timer@1 - 3": + version "3.0.1" + resolved "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3": + version "3.0.1" + resolved "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dagre@^0.8.5: + version "0.8.5" + resolved "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee" + integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw== + dependencies: + graphlib "^2.1.8" + lodash "^4.17.15" + +damerau-levenshtein@^1.0.4, damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.nlark.com/damerau-levenshtein/download/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha1-ZDaAA1EqGmmSWTdBoJqdMag29V0= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073454623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.nlark.com/date-fns/download/date-fns-1.30.1.tgz?cache=0&sync_timestamp=1620446304247&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdate-fns%2Fdownload%2Fdate-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= + +dayjs@^1.11.10: + version "1.11.10" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.nlark.com/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.5, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.nlark.com/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o= + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4= + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/decamelize/download/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha1-ZW17vICUxMeI6lPFhAkIycfQY8c= + dependencies: + xregexp "4.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606859714626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365756089&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz?cache=0&sync_timestamp=1618847174317&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdefine-properties%2Fdownload%2Fdefine-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz?cache=0&sync_timestamp=1601076882347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +del@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/del/download/del-5.1.0.tgz?cache=0&sync_timestamp=1601076882347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha1-2Uh8lONnQQ5u/ykl7ljAyEp1s6c= + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.4: + version "2.0.5" + resolved "https://registry.nlark.com/detect-node/download/detect-node-2.0.5.tgz#9d270aa7eaa5af0b72c4c9d9b814e7f4ce738b79" + integrity sha1-nScKp+qlrwtyxMnZuBTn9M5zi3k= + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/detect-port-alt/download/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha1-JHB96r6TLUo89iEwICfCsmZWgnU= + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz?cache=0&sync_timestamp=1607352548704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.nlark.com/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/dom-accessibility-api/download/dom-accessibility-api-0.3.0.tgz#511e5993dd673b97c87ea47dba0e3892f7e0c983" + integrity sha1-UR5Zk91nO5fIfqR9ug44kvfgyYM= + +dom-accessibility-api@^0.5.4: + version "0.5.4" + resolved "https://registry.npm.taobao.org/dom-accessibility-api/download/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166" + integrity sha1-sG0FnN1KStmnknX51BSlwSYkEWY= + +dom-align@^1.7.0: + version "1.12.1" + resolved "https://registry.nlark.com/dom-align/download/dom-align-1.12.1.tgz?cache=0&sync_timestamp=1619755585067&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-align%2Fdownload%2Fdom-align-1.12.1.tgz#aedbc2c312983b46ea6b7a4d636617336a490ee9" + integrity sha1-rtvCwxKYO0bqa3pNY2YXM2pJDuk= + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.1" + resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" + integrity sha1-2EWhVl18BBqV5dq2IYSrQeOlGb4= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298554829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc= + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1618563954924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-4.2.0.tgz?cache=0&sync_timestamp=1618563954924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha1-+XaKXwNL5gqJonwuTQ9066DYsFk= + dependencies: + domelementtype "^2.2.0" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2: + version "2.6.0" + resolved "https://registry.nlark.com/domutils/download/domutils-2.6.0.tgz#2e15c04185d43fb16ae7057cb76433c6edb938b7" + integrity sha1-LhXAQYXUP7Fq5wV8t2Qzxu25OLc= + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.nlark.com/dot-prop/download/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz?cache=0&sync_timestamp=1603163578680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdotenv-expand%2Fdownload%2Fdotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@6.2.0: + version "6.2.0" + resolved "https://registry.nlark.com/dotenv/download/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" + integrity sha1-lBwEEFNdlCyL7PKNPzV9vZ1HYGQ= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.nlark.com/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.nlark.com/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.723: + version "1.3.728" + resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.728.tgz#dbedd6373f595ae10a13d146b66bece4c1afa5bd" + integrity sha1-2+3WNz9ZWuEKE9FGtmvs5MGvpb0= + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1, emoji-regex@^7.0.2: + version "7.0.3" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.nlark.com/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.5.0" + resolved "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1620663202047&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enhanced-resolve@~0.9.0: + version "0.9.1" + resolved "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz?cache=0&sync_timestamp=1620663202047&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + integrity sha1-TW5omzcl+GCQknzMhs2fFjW4ni4= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8= + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.nlark.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: + version "1.18.0" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0.tgz?cache=0&sync_timestamp=1614814706790&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + integrity sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ= + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.2" + is-string "^1.0.5" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.nlark.com/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= + +escodegen@^1.11.0, escodegen@^1.9.1: + version "1.14.3" + resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-airbnb-base@^14.2.1: + version "14.2.1" + resolved "https://registry.nlark.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" + integrity sha1-ii6zhFXcWjElUBk7MZza7vBCzR4= + dependencies: + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" + object.entries "^1.1.2" + +eslint-config-airbnb@^18.0.1: + version "18.2.1" + resolved "https://registry.npm.taobao.org/eslint-config-airbnb/download/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" + integrity sha1-t/4rQvn4Fz6CW3PIAUtZLkScmNk= + dependencies: + eslint-config-airbnb-base "^14.2.1" + object.assign "^4.1.2" + object.entries "^1.1.2" + +eslint-config-prettier@^6.10.0: + version "6.15.0" + resolved "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha1-f5P2y31FqS8VN6cOzAY2bhrG/tk= + dependencies: + get-stdin "^6.0.0" + +eslint-config-react-app@^5.0.2: + version "5.2.1" + resolved "https://registry.npm.taobao.org/eslint-config-react-app/download/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha1-aYv3ru4n8M6gE56u8mHHv33WI98= + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-alias@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-alias/download/eslint-import-resolver-alias-1.1.2.tgz#297062890e31e4d6651eb5eba9534e1f6e68fc97" + integrity sha1-KXBiiQ4x5NZlHrXrqVNOH25o/Jc= + +eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc= + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-import-resolver-webpack@^0.11.1: + version "0.11.1" + resolved "https://registry.nlark.com/eslint-import-resolver-webpack/download/eslint-import-resolver-webpack-0.11.1.tgz#fcf1fd57a775f51e18f442915f85dd6ba45d2f26" + integrity sha1-/PH9V6d19R4Y9EKRX4Xda6RdLyY= + dependencies: + array-find "^1.0.0" + debug "^2.6.8" + enhanced-resolve "~0.9.0" + find-root "^1.1.0" + has "^1.0.1" + interpret "^1.0.0" + lodash "^4.17.4" + node-libs-browser "^1.0.0 || ^2.0.0" + resolve "^1.10.0" + semver "^5.3.0" + +eslint-loader@3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-3.0.2.tgz?cache=0&sync_timestamp=1601214436656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-loader%2Fdownload%2Feslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" + integrity sha1-WmJzFqUdb0HTV7n28FVOkVBs3W4= + dependencies: + fs-extra "^8.1.0" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^1.3.1" + schema-utils "^2.2.0" + +eslint-module-utils@^2.4.0, eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.nlark.com/eslint-module-utils/download/eslint-module-utils-2.6.1.tgz?cache=0&sync_timestamp=1620972183296&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + integrity sha1-tRvh5HPdDeHF6mOOIkKcJJDqgjM= + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@3.13.0: + version "3.13.0" + resolved "https://registry.nlark.com/eslint-plugin-flowtype/download/eslint-plugin-flowtype-3.13.0.tgz?cache=0&sync_timestamp=1619186669487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-flowtype%2Fdownload%2Feslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha1-4kHr05wM5Rk0Wj8HTsHr3kz4Dyw= + dependencies: + lodash "^4.17.15" + +eslint-plugin-html@^6.0.0: + version "6.1.2" + resolved "https://registry.npm.taobao.org/eslint-plugin-html/download/eslint-plugin-html-6.1.2.tgz#fa26e4804428956c80e963b6499c192061c2daf3" + integrity sha1-+ibkgEQolWyA6WO2SZwZIGHC2vM= + dependencies: + htmlparser2 "^6.0.1" + +eslint-plugin-import@2.18.2: + version "2.18.2" + resolved "https://registry.nlark.com/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY= + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + +eslint-plugin-import@^2.20.1: + version "2.23.2" + resolved "https://registry.nlark.com/eslint-plugin-import/download/eslint-plugin-import-2.23.2.tgz#ee15dd68fc7a1a1ba4c653c734e0d01c100d3484" + integrity sha1-7hXdaPx6GhukxlPHNODQHBANNIQ= + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + contains-path "^1.0.0" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.4.0" + minimatch "^3.0.4" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-jsx-a11y@^6.2.3: + version "6.4.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha1-othMqkl1aUL0Lx/6uQAkNjkXGP0= + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + +eslint-plugin-prettier@^3.1.2: + version "3.4.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.0.tgz#cdbad3bf1dbd2b177e9825737fe63b476a08f0c7" + integrity sha1-zbrTvx29Kxd+mCVzf+Y7R2oI8Mc= + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.nlark.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha1-YhC21aNyBfC5KFj4laToJwIKfQQ= + +eslint-plugin-react-hooks@^2.3.0: + version "2.5.1" + resolved "https://registry.nlark.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" + integrity sha1-TvWTBZJYjOFxq+sm9ADH+8vCPNA= + +eslint-plugin-react@7.14.3: + version "7.14.3" + resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" + integrity sha1-kRAw3X6YuknhsiCFmVcYRqZr3xM= + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" + object.fromentries "^2.0.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" + +eslint-plugin-react@^7.18.3: + version "7.23.2" + resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" + integrity sha1-LSKRsPlcA3KLVYafARAikOeS1JQ= + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1599933651660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933651660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint@^6.1.0, eslint@^6.8.0: + version "6.8.0" + resolved "https://registry.nlark.com/eslint/download/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1607143966756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1: + version "1.4.0" + resolved "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.nlark.com/events/download/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz?cache=0&sync_timestamp=1616041710425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventsource%2Fdownload%2Feventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.6.tgz?cache=0&sync_timestamp=1616788824594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexec-sh%2Fdownload%2Fexec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w= + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^2.0.3: + version "2.1.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" + integrity sha1-5dPs2DfSpg7FDz2nj9OXZ3R7vpk= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^3.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.nlark.com/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/expect/download/expect-24.9.0.tgz?cache=0&sync_timestamp=1620109665032&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexpect%2Fdownload%2Fexpect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.16.2, express@^4.16.3: + version "4.17.1" + resolved "https://registry.nlark.com/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1618847120573&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/extend/download/extend-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fextend%2Fdownload%2Fextend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM= + +fast-glob@^2.0.2: + version "2.2.7" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1610876605854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-glob@^3.0.3: + version "3.2.5" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.5.tgz?cache=0&sync_timestamp=1610876605854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha1-eTmvKmVt55pPGQGQPuityqfLlmE= + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha1-u5+5VaBxMKkY62PB9RYcwypdCFg= + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.nlark.com/figures/download/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.nlark.com/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz?cache=0&sync_timestamp=1613794357372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-loader@3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz?cache=0&sync_timestamp=1603900022388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" + integrity sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o= + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@3.6.1, filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.nlark.com/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0: + version "3.3.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ= + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.nlark.com/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1611061309017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +flux-standard-action@^2.0.3: + version "2.1.1" + resolved "https://registry.npm.taobao.org/flux-standard-action/download/flux-standard-action-2.1.1.tgz#b2e204145ea8e4294d6b0f178d8e8c416802948f" + integrity sha1-suIEFF6o5ClNaw8XjY6MQWgClI8= + dependencies: + lodash "^4.17.15" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555300559&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" + integrity sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M= + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.nlark.com/for-each/download/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha1-abRH6IoKXTLD5whPPxcQA0shN24= + dependencies: + is-callable "^1.1.3" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.nlark.com/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.nlark.com/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1620986346354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha1-zh13GQtE2Bp2GxC2KEo3N5XkHww= + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^2.0.4" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@7.0.1, fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.nlark.com/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.nlark.com/fs-extra/download/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@2.0.7: + version "2.0.7" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" + integrity sha1-OCybRDxsusTFcYfN2iOqO/HM/Co= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz?cache=0&sync_timestamp=1618847182644&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffunctional-red-black-tree%2Fdownload%2Ffunctional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y= + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.nlark.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/get-stdin/download/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs= + +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/get-stdin/download/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha1-jV3pjxUXGhJcXlFmQ8em0OqKlvY= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha1-SWaheV7lrOZecGxLe+txJX1uItM= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1620073321855&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1620073321855&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.1.7" + resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha1-Oxk+kjPwHULQs/eClLvutBj5SpA= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A= + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c= + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1617957813601&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1617957813601&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@8.0.2: + version "8.0.2" + resolved "https://registry.nlark.com/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.nlark.com/globby/download/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha1-J3WT50WsqkZGw6tBEonsR6A5JUM= + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.nlark.com/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.6" + resolved "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4= + +graphlib@^2.1.8: + version "2.1.8" + resolved "https://registry.npmmirror.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" + integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== + dependencies: + lodash "^4.17.15" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.nlark.com/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@5.1.1, gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523244597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +hammerjs@^2.0.8: + version "2.0.8" + resolved "https://registry.npm.taobao.org/hammerjs/download/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" + integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.nlark.com/har-validator/download/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.npm.taobao.org/harmony-reflect/download/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha1-Mey9MuZIo00DDYattn1NR1R/5xA= + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.nlark.com/history/download/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha1-MzcaZeOoOyZ0NOKz87G0xYqtTPM= + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= + dependencies: + react-is "^16.7.0" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + version "1.4.0" + resolved "https://registry.nlark.com/html-entities/download/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha1-z70bAdKvr5rcobEK59/6uYxx0tw= + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz?cache=0&sync_timestamp=1613643546928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= + +html-minifier@^3.5.20: + version "3.5.21" + resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-webpack-plugin@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" + integrity sha1-LFMIPBFRv+wgR5sfiq8AOed7VRM= + dependencies: + html-minifier "^3.5.20" + loader-utils "^1.1.0" + lodash "^4.17.11" + pretty-error "^2.1.1" + tapable "^1.1.0" + util.promisify "1.0.0" + +htmlparser2@^3.10.1: + version "3.10.1" + resolved "https://registry.nlark.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1618846794076&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +htmlparser2@^6.0.1: + version "6.1.0" + resolved "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1618846794076&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha1-xNditsM3GgXb5l6UrkOp+EX7j7c= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.nlark.com/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k= + +http-proxy-middleware@^0.19.1: + version "0.19.2" + resolved "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.2.tgz#ee73dcc8348165afefe8de2ff717751d181608ee" + integrity sha1-7nPcyDSBZa/v6N4v9xd1HRgWCO4= + dependencies: + http-proxy "^1.18.1" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.nlark.com/http-proxy/download/http-proxy-1.18.1.tgz?cache=0&sync_timestamp=1618847045732&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-proxy%2Fdownload%2Fhttp-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +husky@^3.0.9: + version "3.1.0" + resolved "https://registry.npm.taobao.org/husky/download/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" + integrity sha1-X6rVIKuGBYLtlPDBp38PBMkLV8A= + dependencies: + chalk "^2.4.2" + ci-info "^2.0.0" + cosmiconfig "^5.2.1" + execa "^1.0.0" + get-stdin "^7.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^4.2.0" + please-upgrade-node "^3.2.0" + read-pkg "^5.2.0" + run-node "^1.0.0" + slash "^3.0.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&sync_timestamp=1605801291394&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/identity-obj-proxy/download/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.1: + version "5.1.8" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc= + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1618422657851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.nlark.com/immer/download/immer-1.10.0.tgz?cache=0&sync_timestamp=1619363110051&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fimmer%2Fdownload%2Fimmer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0= + +"immutable@^3.8.1 || ^4.0.0-rc.1": + version "4.0.0-rc.12" + resolved "https://registry.nlark.com/immutable/download/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217" + integrity sha1-ylmn5MGa6Nm/dKl73w9uLypdAhc= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/import-cwd/download/import-cwd-2.1.0.tgz?cache=0&sync_timestamp=1618846826220&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fimport-cwd%2Fdownload%2Fimport-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469561643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469561643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1618679442183&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679442183&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.nlark.com/ini/download/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= + +inquirer@6.5.0: + version "6.5.0" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.0.tgz?cache=0&sync_timestamp=1614296916461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha1-IwMxfvyaTqfsLi32+GVptzSsz0I= + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1614296916461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM= + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885528721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw= + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4= + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.nlark.com/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha1-YjUwMd++4HzrNGVqa95Z7+yujdk= + dependencies: + call-bind "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" + integrity sha1-/7OBRCUDI1rSReqJ5Fs9v/BA7lo= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" + integrity sha1-PAh48DXLghIo01DS4eNnGXFqPeg= + dependencies: + call-bind "^1.0.2" + +is-buffer@^1.0.2, is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.nlark.com/is-callable/download/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha1-ix4FALc6HXbHBIdjbzaOUZ3o244= + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz?cache=0&sync_timestamp=1613632023079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-ci%2Fdownload%2Fis-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0, is-core-module@^2.4.0: + version "2.4.0" + resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME= + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.4" + resolved "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" + integrity sha1-VQz8wDr62gXuo90wmBx7CVUfc+U= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-generator-fn/download/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ= + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" + integrity sha1-bt+u7XlQz/Ga/tzp+/yp7m3Sies= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-observable/download/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + integrity sha1-s+mGyPRN6VCGfKtUA/WjRlAFl14= + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz?cache=0&sync_timestamp=1620047110449&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.1.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-path-inside@^3.0.1: + version "3.0.3" + resolved "https://registry.nlark.com/is-path-inside/download/is-path-inside-3.0.3.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM= + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618600489644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.nlark.com/is-promise/download/is-promise-2.2.2.tgz?cache=0&sync_timestamp=1618847016863&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-promise%2Fdownload%2Fis-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha1-OauVnMv5p3TPB597QMeib3YxNfE= + +is-regex@^1.0.4, is-regex@^1.1.2: + version "1.1.3" + resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" + integrity sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758= + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-regexp/download/is-regexp-1.0.0.tgz?cache=0&sync_timestamp=1618847156637&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regexp%2Fdownload%2Fis-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-root/download/is-root-2.1.0.tgz?cache=0&sync_timestamp=1617783295661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-root%2Fdownload%2Fis-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= + +is-string@^1.0.5: + version "1.0.6" + resolved "https://registry.nlark.com/is-string/download/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" + integrity sha1-P+XVmS+w2TQE8yWE1LAXmnG1Sl8= + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= + dependencies: + has-symbols "^1.0.2" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-what@^3.12.0: + version "3.14.1" + resolved "https://registry.npm.taobao.org/is-what/download/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-windows%2Fdownload%2Fis-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.nlark.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.nlark.com/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.nlark.com/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.nlark.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.nlark.com/istanbul-reports/download/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= + dependencies: + html-escaper "^2.0.0" + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-24.9.0.tgz?cache=0&sync_timestamp=1618267928269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-cli/download/jest-cli-24.9.0.tgz?cache=0&sync_timestamp=1620109658447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-cli%2Fdownload%2Fjest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-config/download/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@^24.0.0, jest-diff@^24.3.0, jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-diff/download/jest-diff-24.9.0.tgz?cache=0&sync_timestamp=1620109905103&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-diff%2Fdownload%2Fjest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-each/download/jest-each-24.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-each%2Fdownload%2Fjest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fourteen@0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom-fourteen/download/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" + integrity sha1-qtY5Op1LVltppgkQm/Rp9ivxjMw= + dependencies: + jest-mock "^24.5.0" + jest-util "^24.5.0" + jsdom "^14.0.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz?cache=0&sync_timestamp=1620109665758&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-environment-node/download/jest-environment-node-24.9.0.tgz?cache=0&sync_timestamp=1620109666351&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-get-type/download/jest-get-type-24.9.0.tgz?cache=0&sync_timestamp=1620109654091&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-get-type%2Fdownload%2Fjest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-haste-map/download/jest-haste-map-24.9.0.tgz?cache=0&sync_timestamp=1620109938959&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-haste-map%2Fdownload%2Fjest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz?cache=0&sync_timestamp=1620109907007&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.0.0, jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz?cache=0&sync_timestamp=1620109940035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-message-util/download/jest-message-util-24.9.0.tgz?cache=0&sync_timestamp=1620109663114&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-message-util%2Fdownload%2Fjest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.5.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.nlark.com/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-24.9.0.tgz?cache=0&sync_timestamp=1607352728942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-regex-util%2Fdownload%2Fjest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz?cache=0&sync_timestamp=1620109867917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@24.9.0, jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-runner/download/jest-runner-24.9.0.tgz?cache=0&sync_timestamp=1620109667875&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-runner%2Fdownload%2Fjest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-runtime/download/jest-runtime-24.9.0.tgz?cache=0&sync_timestamp=1620109907304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-runtime%2Fdownload%2Fjest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-serializer/download/jest-serializer-24.9.0.tgz?cache=0&sync_timestamp=1620109856601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-serializer%2Fdownload%2Fjest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-snapshot/download/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-util@^24.5.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-validate/download/jest-validate-24.9.0.tgz?cache=0&sync_timestamp=1620109668158&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-validate%2Fdownload%2Fjest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.4.0: + version "0.4.0" + resolved "https://registry.nlark.com/jest-watch-typeahead/download/jest-watch-typeahead-0.4.0.tgz#4d5356839a85421588ce452d2440bf0d25308397" + integrity sha1-TVNWg5qFQhWIzkUtJEC/DSUwg5c= + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.1" + jest-watcher "^24.3.0" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-watcher/download/jest-watcher-24.9.0.tgz?cache=0&sync_timestamp=1620109846354&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest-watcher%2Fdownload%2Fjest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest-worker/download/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest@24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/jest/download/jest-24.9.0.tgz?cache=0&sync_timestamp=1620109658791&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjest%2Fdownload%2Fjest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha1-mH0pDAWgi1LFYYjBAC42jtsAcXE= + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/js-tokens/download/js-tokens-3.0.2.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.nlark.com/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^14.0.0: + version "14.1.0" + resolved "https://registry.nlark.com/jsdom/download/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" + integrity sha1-kWRjtglJVrCmwXgslOOAzTDhmBs= + dependencies: + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.1.3" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553637722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/json2mq/download/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= + dependencies: + string-convert "^0.2.0" + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +json5@^2.1.0, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM= + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.nlark.com/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: + version "2.4.1" + resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" + integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= + dependencies: + array-includes "^3.1.1" + object.assign "^4.1.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" + integrity sha1-QRCNLOxAjDRTwbvopKrp4eK9j4I= + dependencies: + array-includes "^3.1.2" + object.assign "^4.1.2" + +killable@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/kind-of/download/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= + dependencies: + is-buffer "^1.0.2" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.nlark.com/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.npm.taobao.org/language-subtag-registry/download/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha1-BKwhi+pG8EywOQhGAsbanniN1Fo= + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/language-tags/download/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.nlark.com/lazy-cache/download/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.nlark.com/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY= + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.11.1: + version "3.13.1" + resolved "https://registry.npm.taobao.org/less/download/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha1-DryR0qDpwMZzW4PUlrCrBYMHeQk= + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.nlark.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +lint-staged@^9.4.2: + version "9.5.0" + resolved "https://registry.nlark.com/lint-staged/download/lint-staged-9.5.0.tgz#290ec605252af646d9b74d73a0fa118362b05a33" + integrity sha1-KQ7GBSUq9kbZt01zoPoRg2KwWjM= + dependencies: + chalk "^2.4.2" + commander "^2.20.0" + cosmiconfig "^5.2.1" + debug "^4.1.1" + dedent "^0.7.0" + del "^5.0.0" + execa "^2.0.3" + listr "^0.14.3" + log-symbols "^3.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.1.1" + string-argv "^0.3.0" + stringify-object "^3.3.0" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/listr-update-renderer/download/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + integrity sha1-Tqg2hUinuK7LfgbYyVy0WuLt5qI= + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/listr-verbose-renderer/download/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + integrity sha1-8RMhZ1NepMEmEQK58o2sfLoeA9s= + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@^0.14.3: + version "0.14.3" + resolved "https://registry.nlark.com/listr/download/listr-0.14.3.tgz?cache=0&sync_timestamp=1618847250737&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flistr%2Fdownload%2Flistr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + integrity sha1-L+qQlgTkNL5GTFC926DUlpKPpYY= + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610027918622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.nlark.com/loader-utils/download/loader-utils-1.2.3.tgz?cache=0&sync_timestamp=1618846812625&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.nlark.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1618846812625&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash-es@^4.2.1: + version "4.17.21" + resolved "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.21.tgz?cache=0&sync_timestamp=1613835893273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash-es%2Fdownload%2Flodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.flow@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/lodash.flow/download/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= + +lodash.isequalwith@^4.4.0: + version "4.4.0" + resolved "https://registry.npm.taobao.org/lodash.isequalwith/download/lodash.isequalwith-4.4.0.tgz#266726ddd528f854f21f4ea98a065606e0fbc6b0" + integrity sha1-Jmcm3dUo+FTyH06pigZWBuD7xrA= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: + version "4.17.21" + resolved "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/log-symbols/download/log-symbols-1.0.2.tgz?cache=0&sync_timestamp=1618847128438&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flog-symbols%2Fdownload%2Flog-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/log-symbols/download/log-symbols-3.0.0.tgz?cache=0&sync_timestamp=1618847128438&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flog-symbols%2Fdownload%2Flog-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha1-86CFFqXeqJMzan3uFNGKHP2rd8Q= + dependencies: + chalk "^2.4.2" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.nlark.com/log-update/download/log-update-2.3.0.tgz?cache=0&sync_timestamp=1618847231329&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flog-update%2Fdownload%2Flog-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +loglevel@^1.4.1: + version "1.7.1" + resolved "https://registry.nlark.com/loglevel/download/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" + integrity sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc= + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1606867333511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.nlark.com/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= + dependencies: + yallist "^4.0.0" + +lz-string@^1.4.4: + version "1.4.4" + resolved "https://registry.npm.taobao.org/lz-string/download/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.14.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.nlark.com/mem/download/mem-4.3.0.tgz?cache=0&sync_timestamp=1618933842431&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmem%2Fdownload%2Fmem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/memory-fs/download/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.nlark.com/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-deep@^3.0.2: + version "3.0.3" + resolved "https://registry.nlark.com/merge-deep/download/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" + integrity sha1-Gisq6SbaiyrpOgrBXZDNGSJ2YAM= + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/microevent.ts/download/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k= + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": + version "1.47.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.47.0.tgz?cache=0&sync_timestamp=1617306166016&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" + integrity sha1-jLMT5Zll08Bc+/iYkVomevRqM1w= + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.30" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.30.tgz?cache=0&sync_timestamp=1617340124913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" + integrity sha1-bnvotMR5gl+F7WMmaV23P5MF1i0= + dependencies: + mime-db "1.47.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.4: + version "2.5.2" + resolved "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk= + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.npm.taobao.org/mini-create-react-context/download/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha1-ByFxVhv9ySLaCKYMIZekl8wtHV4= + dependencies: + "@babel/runtime" "^7.12.1" + tiny-warning "^1.0.3" + +mini-css-extract-plugin@0.8.0: + version "0.8.0" + resolved "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" + integrity sha1-gdQexP5YxxOpatfHI82y0L1NcOE= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +mini-store@^3.0.1: + version "3.0.6" + resolved "https://registry.nlark.com/mini-store/download/mini-store-3.0.6.tgz#44b86be5b2877271224ce0689b3a35a2dffb1ca9" + integrity sha1-RLhr5bKHcnEiTOBomzo1ot/7HKk= + dependencies: + hoist-non-react-statics "^3.3.2" + shallowequal "^1.0.2" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1618847017774&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.nlark.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw= + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha1-fUL/HzljVILhX5zbUxhN7r1YFf0= + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +moment@^2.24.0: + version "2.29.1" + resolved "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M= + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.nlark.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.nlark.com/ms/download/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.nlark.com/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +nan@^2.12.1: + version "2.14.2" + resolved "https://registry.nlark.com/nan/download/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +native-request@^1.0.5: + version "1.0.8" + resolved "https://registry.nlark.com/native-request/download/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" + integrity sha1-j2a/YG4PfqJ8DlmV6y9dA+M65vs= + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.nlark.com/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&sync_timestamp=1614510016909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599054189018&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.nlark.com/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^5.4.2: + version "5.4.5" + resolved "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.5.tgz?cache=0&sync_timestamp=1615492999434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha1-DLwaKw9lhJO0Ald1oTrZOOlgke8= + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.29, node-releases@^1.1.71: + version "1.1.72" + resolved "https://registry.nlark.com/node-releases/download/node-releases-1.1.72.tgz?cache=0&sync_timestamp=1620978655178&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" + integrity sha1-FIAqtrEDmnmgx9ZithClu9durL4= + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" + integrity sha1-f5G+MX9qRm7+08nymArYpO6LD6U= + dependencies: + path-key "^3.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.0.7, nwsapi@^2.1.3: + version "2.2.0" + resolved "https://registry.nlark.com/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.nlark.com/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618847043548&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.3.1: + version "1.3.1" + resolved "https://registry.nlark.com/object-hash/download/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= + +object-inspect@^1.9.0: + version "1.10.3" + resolved "https://registry.nlark.com/object-inspect/download/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha1-wqp9LQn1DJk3VwT3oK3yTFeC02k= + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857698573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha1-ud7qpfx/GEag+uzc7sE45XePU6w= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-path@0.11.4: + version "0.11.4" + resolved "https://registry.npm.taobao.org/object-path/download/object-path-0.11.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-path%2Fdownload%2Fobject-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/object.entries/download/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha1-xgHH8Wi2I3RUGgfdvT4tXk93EaY= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + +object.fromentries@^2.0.0, object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha1-JuG6XEVxxcbwiQzvRHMGZFahILg= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860004199&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" + integrity sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.3.tgz?cache=0&sync_timestamp=1614057640160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.values%2Fdownload%2Fobject.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +omit.js@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/omit.js/download/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858" + integrity sha1-kaFPDrqEBm36AVvzDkdMR/MLyFg= + dependencies: + babel-runtime "^6.23.0" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.nlark.com/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.nlark.com/open/download/open-6.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/opencollective-postinstall/download/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" + integrity sha1-eg//l49tv6TQBiOPusmO1BmMMlk= + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha1-XTfh81B3udysQwE3InGv3rKhNZg= + +opn@^5.1.0: + version "5.5.0" + resolved "https://registry.nlark.com/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.nlark.com/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.nlark.com/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/p-map/download/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= + dependencies: + aggregate-error "^3.0.0" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.nlark.com/pako/download/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.nlark.com/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.nlark.com/parse5/download/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz?cache=0&sync_timestamp=1599054201722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparseurl%2Fdownload%2Fparseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.nlark.com/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971695678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971695678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-starts-with@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/path-starts-with/download/path-starts-with-1.0.0.tgz#b28243015e8b138de572682ac52da42e646ad84e" + integrity sha1-soJDAV6LE43lcmgqxS2kLmRq2E4= + dependencies: + normalize-path "^2.1.1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo= + dependencies: + isarray "0.0.1" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz?cache=0&sync_timestamp=1611752107592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752107592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752107592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU= + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.2.3" + resolved "https://registry.nlark.com/picomatch/download/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" + integrity sha1-RlVH81nMwgbTxI5Goby4m/fuYZ0= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz?cache=0&sync_timestamp=1618847023792&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpinkie-promise%2Fdownload%2Fpinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/pirates/download/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +pkg-up@2.0.0, pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +please-upgrade-node@^3.1.1, please-upgrade-node@^3.2.0: + version "3.2.0" + resolved "https://registry.nlark.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI= + dependencies: + semver-compare "^1.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= + +pnp-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha1-YqHNMGj0bVZLszxW6yUOTVhmdus= + dependencies: + ts-pnp "^1.1.2" + +portfinder@^1.0.9: + version "1.0.28" + resolved "https://registry.nlark.com/portfinder/download/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz?cache=0&sync_timestamp=1600194210360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-attribute-case-insensitive%2Fdownload%2Fpostcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/postcss-browser-comments/download/postcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88" + integrity sha1-3EjWqN2/8YioCgALc5NDbLGK7Yg= + dependencies: + postcss "^7.0.2" + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689139608&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.nlark.com/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g= + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.nlark.com/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha1-//0T/+/61zYhvl84cHaiiwApTgw= + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz?cache=0&sync_timestamp=1610468042298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-properties%2Fdownload%2Fpostcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz?cache=0&sync_timestamp=1610469257838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-selectors%2Fdownload%2Fpostcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha1-bjpBd9Dts6vMhf22+7HCbauuq6I= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1618056302844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1618056303153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1618056303643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4= + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/postcss-env-function/download/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha1-Dz49PFfwlKksK69LYkHwsNpTZdc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.1.0.tgz?cache=0&sync_timestamp=1605876068890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-flexbugs-fixes%2Fdownload%2Fpostcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha1-4JSp3xeD4iALexn4ddytOzr/iyA= + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha1-R30QcROt5gJLFBKDF63ivR4XBG4= + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha1-djuHiFls7puHTJmSAc3egGWe9oA= + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE= + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU= + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha1-KJIKLymUW+1MMZjX32SW1BDT8og= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha1-nTIGmhBTH+Lsr6C2rHUO4Lx+/FM= + dependencies: + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha1-u1GmhWzRIomrSuINseOCHvE9fS4= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.nlark.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1618847231779&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-logical/download/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha1-JJXQ+LgunyYnJfdflAGzTntF1bU= + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz?cache=0&sync_timestamp=1610466264580&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-media-minmax%2Fdownload%2Fpostcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU= + dependencies: + postcss "^7.0.2" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.nlark.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588245463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.nlark.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha1-3ZlT9t1Ha1/R7y2IMMiSl2C1bmM= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + postcss-value-parser "^3.3.1" + +postcss-modules-scope@^2.1.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593260387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/postcss-modules-values/download/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" + integrity sha1-R5tG3Axco9x/pScIUYNrnscVL2Q= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.nlark.com/postcss-nesting/download/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI= + dependencies: + postcss "^7.0.2" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1618056304554&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1618056314160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@7.0.1: + version "7.0.1" + resolved "https://registry.nlark.com/postcss-normalize/download/postcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e" + integrity sha1-61FWjZYriqYagxg4PIu35UMyKC4= + dependencies: + "@csstools/normalize.css" "^9.0.1" + browserslist "^4.1.1" + postcss "^7.0.2" + postcss-browser-comments "^2.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha1-MezzUOnG9t3CUKePDD4RHzLdTDA= + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/postcss-page-break/download/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8= + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-place/download/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.nlark.com/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha1-w03az4+QI4OzWtHgMPF49M3xGKU= + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha1-LtPu05OzcCh53sSocDKyENrrBNE= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw= + dependencies: + postcss "^7.0.2" + +postcss-safe-parser@4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha1-h1bZ5MNv3OLHKwkbvIyhdqsfzeo= + dependencies: + postcss "^7.0.0" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-matches%2Fdownload%2Fpostcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.1.tgz?cache=0&sync_timestamp=1612096191464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-not%2Fdownload%2Fpostcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha1-JjAW7vHPIZ4K3pqRN4D8H0ggTL8= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.6" + resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo= + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.3.tgz?cache=0&sync_timestamp=1618056390441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha1-2otHLZAdoeIFtHvcmGN7np5VDl8= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.14: + version "7.0.14" + resolved "https://registry.nlark.com/postcss/download/postcss-7.0.14.tgz?cache=0&sync_timestamp=1620676610377&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" + integrity sha1-RSftaxyg2CxTzl7BogQcI0a71uU= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.nlark.com/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1620676610377&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha1-0r4AuZj38hHYonaXQHny6SuXDiQ= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.nlark.com/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s= + dependencies: + fast-diff "^1.1.2" + +prettier@1.18.2: + version "1.18.2" + resolved "https://registry.nlark.com/prettier/download/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + integrity sha1-aCPnxZAAF7S9Os9G/prEtNe9qeo= + +pretty-bytes@^5.1.0: + version "5.6.0" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha1-NWJW9kOAR3PIL2RyP+eMksYr6us= + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.nlark.com/pretty-error/download/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y= + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^24.0.0, pretty-format@^24.3.0, pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.nlark.com/pretty-format/download/pretty-format-24.9.0.tgz?cache=0&sync_timestamp=1620109856947&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpretty-format%2Fdownload%2Fpretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty-format@^25.1.0: + version "25.5.0" + resolved "https://registry.nlark.com/pretty-format/download/pretty-format-25.5.0.tgz?cache=0&sync_timestamp=1620109856947&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpretty-format%2Fdownload%2Fpretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha1-eHPB13T2gsNLjUi2dDor8qxVeRo= + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.nlark.com/pretty-format/download/pretty-format-26.6.2.tgz?cache=0&sync_timestamp=1620109856947&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpretty-format%2Fdownload%2Fpretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha1-41wnBfFMt/4v6U+geDRbREEg/JM= + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz?cache=0&sync_timestamp=1599054255267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.nlark.com/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= + dependencies: + asap "~2.0.6" + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.nlark.com/prompts/download/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha1-vv07EZW6BS+f0v3opIbE6C7nf2E= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz?cache=0&sync_timestamp=1599054283476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprop-types%2Fdownload%2Fprop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.nlark.com/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.nlark.com/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz?cache=0&sync_timestamp=1599054212574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fq%2Fdownload%2Fq-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.nlark.com/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.nlark.com/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz?cache=0&sync_timestamp=1613399913000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystring%2Fdownload%2Fquerystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= + +raf@^3.4.0, raf@^3.4.1: + version "3.4.1" + resolved "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.nlark.com/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc-align@^3.0.0-rc.0: + version "3.0.0" + resolved "https://registry.nlark.com/rc-align/download/rc-align-3.0.0.tgz#5b0510aaa12dfef7b8d79877d39e43de5ef831bc" + integrity sha1-WwUQqqEt/ve415h3055D3l74Mbw= + dependencies: + classnames "2.x" + dom-align "^1.7.0" + rc-util "^4.12.0" + resize-observer-polyfill "^1.5.1" + +rc-align@^4.0.0: + version "4.0.9" + resolved "https://registry.nlark.com/rc-align/download/rc-align-4.0.9.tgz#46d8801c4a139ff6a65ad1674e8efceac98f85f2" + integrity sha1-RtiAHEoTn/amWtFnTo786smPhfI= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.3.0" + resize-observer-polyfill "^1.5.1" + +rc-animate@2.x, rc-animate@^2.10.0, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.9.2, rc-animate@~2.11.0: + version "2.11.1" + resolved "https://registry.nlark.com/rc-animate/download/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" + integrity sha1-JmbutvHypJWhOyrwniNnEieP2yw= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + css-animation "^1.3.2" + prop-types "15.x" + raf "^3.4.0" + rc-util "^4.15.3" + react-lifecycles-compat "^3.0.4" + +rc-animate@^3.0.0: + version "3.1.1" + resolved "https://registry.nlark.com/rc-animate/download/rc-animate-3.1.1.tgz#defdd863f56816c222534e4dc68feddecd081386" + integrity sha1-3v3YY/VoFsIiU05Nxo/t3s0IE4Y= + dependencies: + "@ant-design/css-animation" "^1.7.2" + classnames "^2.2.6" + raf "^3.4.0" + rc-util "^4.15.3" + +rc-cascader@~1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/rc-cascader/download/rc-cascader-1.0.1.tgz#770de1e1fa7bd559aabd4d59e525819b8bc809b7" + integrity sha1-dw3h4fp71VmqvU1Z5SWBm4vICbc= + dependencies: + array-tree-filter "^2.1.0" + rc-trigger "^4.0.0" + rc-util "^4.0.4" + warning "^4.0.1" + +rc-checkbox@~2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/rc-checkbox/download/rc-checkbox-2.2.0.tgz?cache=0&sync_timestamp=1607402886550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-checkbox%2Fdownload%2Frc-checkbox-2.2.0.tgz#a0ce95c34f05e0eb882664174518cd4baa36dce9" + integrity sha1-oM6Vw08F4OuIJmQXRRjNS6o23Ok= + dependencies: + babel-runtime "^6.23.0" + classnames "2.x" + +rc-collapse@~1.11.3: + version "1.11.8" + resolved "https://registry.nlark.com/rc-collapse/download/rc-collapse-1.11.8.tgz#66a40089d469519e9424009ab1c927e214041d80" + integrity sha1-ZqQAidRpUZ6UJACasckn4hQEHYA= + dependencies: + classnames "2.x" + css-animation "1.x" + prop-types "^15.5.6" + rc-animate "2.x" + react-is "^16.7.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-dialog@~7.6.0: + version "7.6.1" + resolved "https://registry.npm.taobao.org/rc-dialog/download/rc-dialog-7.6.1.tgz?cache=0&sync_timestamp=1614949683544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-dialog%2Fdownload%2Frc-dialog-7.6.1.tgz#11545ccc0b945934fa76079726e0d853e52d705f" + integrity sha1-EVRczAuUWTT6dgeXJuDYU+UtcF8= + dependencies: + babel-runtime "6.x" + rc-animate "2.x" + rc-util "^4.16.1" + +rc-drawer@~3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/rc-drawer/download/rc-drawer-3.1.3.tgz?cache=0&sync_timestamp=1614159639291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-drawer%2Fdownload%2Frc-drawer-3.1.3.tgz#cbcb04d4c07f0b66f2ece11d847f4a1bd80ea0b7" + integrity sha1-y8sE1MB/C2by7OEdhH9KG9gOoLc= + dependencies: + classnames "^2.2.6" + rc-util "^4.16.1" + react-lifecycles-compat "^3.0.4" + +rc-dropdown@~3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/rc-dropdown/download/rc-dropdown-3.0.2.tgz?cache=0&sync_timestamp=1600332823107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-dropdown%2Fdownload%2Frc-dropdown-3.0.2.tgz#e486b67f5e8e8b9e326426d5a80254621453d66a" + integrity sha1-5Ia2f16Oi54yZCbVqAJUYhRT1mo= + dependencies: + babel-runtime "^6.26.0" + classnames "^2.2.6" + rc-trigger "^4.0.0" + +rc-field-form@~1.2.0: + version "1.2.4" + resolved "https://registry.npm.taobao.org/rc-field-form/download/rc-field-form-1.2.4.tgz?cache=0&sync_timestamp=1615543149778&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-field-form%2Fdownload%2Frc-field-form-1.2.4.tgz#2634f03ddd340eea81db154e9e891e378a38ce5d" + integrity sha1-JjTwPd00DuqB2xVOnokeN4o4zl0= + dependencies: + "@babel/runtime" "^7.8.4" + async-validator "^3.0.3" + rc-util "^4.20.3" + +rc-hammerjs@~0.6.0: + version "0.6.10" + resolved "https://registry.npm.taobao.org/rc-hammerjs/download/rc-hammerjs-0.6.10.tgz#1831a3bd8f2199700bfcc5ad6b20a35630aeb5e0" + integrity sha1-GDGjvY8hmXAL/MWtayCjVjCuteA= + dependencies: + babel-runtime "6.x" + hammerjs "^2.0.8" + prop-types "^15.5.9" + +rc-input-number@~4.6.1: + version "4.6.3" + resolved "https://registry.nlark.com/rc-input-number/download/rc-input-number-4.6.3.tgz?cache=0&sync_timestamp=1620994498835&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-input-number%2Fdownload%2Frc-input-number-4.6.3.tgz#828e5d11a8ea9be4b01c2463a57acfcaec283f5e" + integrity sha1-go5dEajqm+SwHCRjpXrPyuwoP14= + dependencies: + classnames "^2.2.0" + rc-util "^4.5.1" + +rc-mentions@~1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/rc-mentions/download/rc-mentions-1.1.0.tgz#fa4994b94eee03e5254a0a600839ed19e1f9f0e9" + integrity sha1-+kmUuU7uA+UlSgpgCDntGeH58Ok= + dependencies: + classnames "^2.2.6" + rc-menu "^8.0.1" + rc-trigger "^4.0.0" + rc-util "^4.6.0" + +rc-menu@^8.0.1: + version "8.10.7" + resolved "https://registry.nlark.com/rc-menu/download/rc-menu-8.10.7.tgz?cache=0&sync_timestamp=1620390241868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-menu%2Fdownload%2Frc-menu-8.10.7.tgz#8ea2d2c27137f77a8580c403df634ec5d780f046" + integrity sha1-jqLSwnE393qFgMQD32NOxdeA8EY= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + mini-store "^3.0.1" + rc-motion "^2.0.1" + rc-trigger "^5.1.2" + rc-util "^5.7.0" + resize-observer-polyfill "^1.5.0" + shallowequal "^1.1.0" + +rc-menu@~8.0.1: + version "8.0.3" + resolved "https://registry.nlark.com/rc-menu/download/rc-menu-8.0.3.tgz?cache=0&sync_timestamp=1620390241868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-menu%2Fdownload%2Frc-menu-8.0.3.tgz#d553eaa892da6c02c74c9b1d2e778f140ace4d99" + integrity sha1-1VPqqJLabALHTJsdLnePFArOTZk= + dependencies: + classnames "2.x" + mini-store "^3.0.1" + rc-animate "^2.10.1" + rc-trigger "^4.0.0" + rc-util "^4.13.0" + resize-observer-polyfill "^1.5.0" + scroll-into-view-if-needed "^2.2.20" + shallowequal "^1.1.0" + +rc-motion@^1.0.0: + version "1.1.2" + resolved "https://registry.nlark.com/rc-motion/download/rc-motion-1.1.2.tgz?cache=0&sync_timestamp=1619056787675&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-motion%2Fdownload%2Frc-motion-1.1.2.tgz#07212f1b96c715b8245ec121339146c4a9b0968c" + integrity sha1-ByEvG5bHFbgkXsEhM5FGxKmwlow= + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + raf "^3.4.1" + rc-util "^5.0.6" + +rc-motion@^2.0.0, rc-motion@^2.0.1: + version "2.4.3" + resolved "https://registry.nlark.com/rc-motion/download/rc-motion-2.4.3.tgz?cache=0&sync_timestamp=1619056787675&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-motion%2Fdownload%2Frc-motion-2.4.3.tgz#2afd129da8764ee0372ba83442949d8ecb1c7ad2" + integrity sha1-Kv0Snah2TuA3K6g0QpSdjsscetI= + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.2.1" + +rc-notification@~4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/rc-notification/download/rc-notification-4.0.0.tgz?cache=0&sync_timestamp=1614675471156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-notification%2Fdownload%2Frc-notification-4.0.0.tgz#ffe59783d6738003972dde8b9658f1acd469cd2c" + integrity sha1-/+WXg9ZzgAOXLd6LlljxrNRpzSw= + dependencies: + classnames "2.x" + rc-animate "2.x" + rc-util "^4.0.4" + +rc-pagination@~2.2.0: + version "2.2.5" + resolved "https://registry.nlark.com/rc-pagination/download/rc-pagination-2.2.5.tgz#40d675c06d604099be91831b019ca19f40c1999d" + integrity sha1-QNZ1wG1gQJm+kYMbAZyhn0DBmZ0= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + +rc-picker@~1.4.0: + version "1.4.16" + resolved "https://registry.npm.taobao.org/rc-picker/download/rc-picker-1.4.16.tgz?cache=0&sync_timestamp=1615463386426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-picker%2Fdownload%2Frc-picker-1.4.16.tgz#50b6bde3d237cc327917353d21e3bb9ce004ee5c" + integrity sha1-ULa949I3zDJ5FzU9IeO7nOAE7lw= + dependencies: + classnames "^2.2.1" + moment "^2.24.0" + rc-trigger "^4.0.0" + rc-util "^4.17.0" + shallowequal "^1.1.0" + +rc-progress@~2.5.0: + version "2.5.3" + resolved "https://registry.npm.taobao.org/rc-progress/download/rc-progress-2.5.3.tgz#00f01b95bdbe1856d3a5f82242051902e8b7a8e7" + integrity sha1-APAblb2+GFbTpfgiQgUZAui3qOc= + dependencies: + babel-runtime "6.x" + prop-types "^15.5.8" + +rc-rate@~2.6.0: + version "2.6.0" + resolved "https://registry.nlark.com/rc-rate/download/rc-rate-2.6.0.tgz#3990f1b0c7f0da91465c12af3612c03dd836703d" + integrity sha1-OZDxsMfw2pFGXBKvNhLAPdg2cD0= + dependencies: + classnames "^2.2.5" + rc-util "^4.20.1" + +rc-resize-observer@^0.2.0: + version "0.2.6" + resolved "https://registry.nlark.com/rc-resize-observer/download/rc-resize-observer-0.2.6.tgz#c1b642f6d1293e34c4e3715f47f69443a167b825" + integrity sha1-wbZC9tEpPjTE43FfR/aUQ6FnuCU= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.0.0" + resize-observer-polyfill "^1.5.1" + +rc-resize-observer@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/rc-resize-observer/download/rc-resize-observer-1.0.0.tgz#97fb89856f62fec32ab6e40933935cf58e2e102d" + integrity sha1-l/uJhW9i/sMqtuQJM5Nc9Y4uEC0= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.0.0" + resize-observer-polyfill "^1.5.1" + +rc-select@^10.1.0: + version "10.5.1" + resolved "https://registry.nlark.com/rc-select/download/rc-select-10.5.1.tgz?cache=0&sync_timestamp=1618886345948&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-select%2Fdownload%2Frc-select-10.5.1.tgz#4d4c5d4f8d2fd3b7e3dccf74e4c43142b2979247" + integrity sha1-TUxdT40v07fj3M905MQxQrKXkkc= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-animate "^3.0.0" + rc-trigger "^4.3.0" + rc-util "^5.0.1" + rc-virtual-list "^1.1.2" + warning "^4.0.3" + +rc-select@~10.2.0: + version "10.2.5" + resolved "https://registry.nlark.com/rc-select/download/rc-select-10.2.5.tgz?cache=0&sync_timestamp=1618886345948&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-select%2Fdownload%2Frc-select-10.2.5.tgz#826217e49c24e12680b231d8d9f041b75633a10a" + integrity sha1-gmIX5Jwk4SaAsjHY2fBBt1YzoQo= + dependencies: + classnames "2.x" + rc-animate "^2.10.0" + rc-trigger "^4.0.0" + rc-util "^4.20.0" + rc-virtual-list "^1.1.2" + warning "^4.0.3" + +rc-slider@~9.2.3: + version "9.2.4" + resolved "https://registry.npm.taobao.org/rc-slider/download/rc-slider-9.2.4.tgz?cache=0&sync_timestamp=1616675519253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-slider%2Fdownload%2Frc-slider-9.2.4.tgz#92e2b58c53def9921ae0fc2822727ab5785b9ed0" + integrity sha1-kuK1jFPe+ZIa4PwoInJ6tXhbntA= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + rc-tooltip "^4.0.0" + rc-util "^4.0.4" + shallowequal "^1.1.0" + warning "^4.0.3" + +rc-steps@~3.5.0: + version "3.5.0" + resolved "https://registry.nlark.com/rc-steps/download/rc-steps-3.5.0.tgz#36b2a7f1f49907b0d90363884b18623caf9fb600" + integrity sha1-NrKn8fSZB7DZA2OISxhiPK+ftgA= + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.3" + lodash "^4.17.5" + prop-types "^15.5.7" + +rc-switch@~1.9.0: + version "1.9.2" + resolved "https://registry.npm.taobao.org/rc-switch/download/rc-switch-1.9.2.tgz#7921c766411fe9a6426510c3429022d6ba4dfde2" + integrity sha1-eSHHZkEf6aZCZRDDQpAi1rpN/eI= + dependencies: + classnames "^2.2.1" + prop-types "^15.5.6" + react-lifecycles-compat "^3.0.4" + +rc-table@~7.5.2: + version "7.5.10" + resolved "https://registry.nlark.com/rc-table/download/rc-table-7.5.10.tgz#ba9901cb80cb72cb573c58017a9468e462c58e4c" + integrity sha1-upkBy4DLcstXPFgBepRo5GLFjkw= + dependencies: + classnames "^2.2.5" + raf "^3.4.1" + rc-resize-observer "^0.2.0" + rc-util "^4.20.1" + shallowequal "^1.1.0" + +rc-tabs@~10.1.1: + version "10.1.1" + resolved "https://registry.nlark.com/rc-tabs/download/rc-tabs-10.1.1.tgz#847d8c2038842a3cb5f2e74935d0e38b85fce61e" + integrity sha1-hH2MIDiEKjy18udJNdDji4X85h4= + dependencies: + classnames "2.x" + lodash "^4.17.5" + rc-hammerjs "~0.6.0" + resize-observer-polyfill "^1.5.1" + warning "^4.0.3" + +rc-tooltip@^4.0.0: + version "4.2.3" + resolved "https://registry.nlark.com/rc-tooltip/download/rc-tooltip-4.2.3.tgz?cache=0&sync_timestamp=1620376922725&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-tooltip%2Fdownload%2Frc-tooltip-4.2.3.tgz#f6fb2a6d9e76ef64295a1d9b5a1618f8634c0645" + integrity sha1-9vsqbZ5272QpWh2bWhYY+GNMBkU= + dependencies: + "@babel/runtime" "^7.11.2" + rc-trigger "^4.2.1" + +rc-tooltip@~4.0.2: + version "4.0.3" + resolved "https://registry.nlark.com/rc-tooltip/download/rc-tooltip-4.0.3.tgz?cache=0&sync_timestamp=1620376922725&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-tooltip%2Fdownload%2Frc-tooltip-4.0.3.tgz#728b760863643ec2e85827a2e7fb28d961b3b759" + integrity sha1-cot2CGNkPsLoWCei5/so2WGzt1k= + dependencies: + rc-trigger "^4.0.0" + +rc-tree-select@~3.1.0: + version "3.1.3" + resolved "https://registry.nlark.com/rc-tree-select/download/rc-tree-select-3.1.3.tgz#d31efbf9955d70b250fe50645b39f3b705a3d124" + integrity sha1-0x77+ZVdcLJQ/lBkWznztwWj0SQ= + dependencies: + classnames "2.x" + rc-select "^10.1.0" + rc-tree "^3.1.0" + rc-util "^4.17.0" + +rc-tree@^3.1.0: + version "3.11.0" + resolved "https://registry.nlark.com/rc-tree/download/rc-tree-3.11.0.tgz#87edf01842bd88a05519e30dd7312bee3f7e2618" + integrity sha1-h+3wGEK9iKBVGeMN1zEr7j9+Jhg= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.0.0" + rc-virtual-list "^3.0.1" + +rc-tree@~3.1.0: + version "3.1.10" + resolved "https://registry.nlark.com/rc-tree/download/rc-tree-3.1.10.tgz#9f4bff49f52cca79af57a28abda62eeb58144f4e" + integrity sha1-n0v/SfUsynmvV6KKvaYu61gUT04= + dependencies: + classnames "2.x" + prop-types "^15.5.8" + rc-animate "^2.9.2" + rc-util "^4.11.0" + rc-virtual-list "^1.1.0" + react-lifecycles-compat "^3.0.4" + +rc-trigger@^4.0.0, rc-trigger@^4.2.1, rc-trigger@^4.3.0: + version "4.4.3" + resolved "https://registry.nlark.com/rc-trigger/download/rc-trigger-4.4.3.tgz?cache=0&sync_timestamp=1620282721609&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-trigger%2Fdownload%2Frc-trigger-4.4.3.tgz#ed449cd6cce446555bc57f4394229c5c7154f4b0" + integrity sha1-7USc1szkRlVbxX9DlCKcXHFU9LA= + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + raf "^3.4.1" + rc-align "^4.0.0" + rc-motion "^1.0.0" + rc-util "^5.0.1" + +rc-trigger@^5.1.2: + version "5.2.7" + resolved "https://registry.nlark.com/rc-trigger/download/rc-trigger-5.2.7.tgz?cache=0&sync_timestamp=1620282721609&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-trigger%2Fdownload%2Frc-trigger-5.2.7.tgz#c6128ded1744a0b5abf9f6a3611eefa7cfa2183a" + integrity sha1-xhKN7RdEoLWr+fajYR7vp8+iGDo= + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.5.0" + +rc-trigger@~4.0.0: + version "4.0.2" + resolved "https://registry.nlark.com/rc-trigger/download/rc-trigger-4.0.2.tgz?cache=0&sync_timestamp=1620282721609&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-trigger%2Fdownload%2Frc-trigger-4.0.2.tgz#42fe7bdb6a5b34035e20fa9ebfad69ec948b56be" + integrity sha1-Qv5722pbNANeIPqev61p7JSLVr4= + dependencies: + classnames "^2.2.6" + prop-types "15.x" + raf "^3.4.1" + rc-align "^3.0.0-rc.0" + rc-animate "^2.10.2" + rc-util "^4.20.0" + +rc-upload@~3.0.4: + version "3.0.4" + resolved "https://registry.nlark.com/rc-upload/download/rc-upload-3.0.4.tgz?cache=0&sync_timestamp=1620965009342&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-upload%2Fdownload%2Frc-upload-3.0.4.tgz#5fd8ba9eefc1e466225240ae997404693d86fa09" + integrity sha1-X9i6nu/B5GYiUkCumXQEaT2G+gk= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + +rc-util@^4.0.4, rc-util@^4.11.0, rc-util@^4.12.0, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.16.1, rc-util@^4.17.0, rc-util@^4.20.0, rc-util@^4.20.1, rc-util@^4.20.3, rc-util@^4.5.1, rc-util@^4.6.0: + version "4.21.1" + resolved "https://registry.nlark.com/rc-util/download/rc-util-4.21.1.tgz?cache=0&sync_timestamp=1620285199919&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-util%2Fdownload%2Frc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" + integrity sha1-iGAtDDGFAgqhBT2aHnDqwWG+ywU= + dependencies: + add-dom-event-listener "^1.1.0" + prop-types "^15.5.10" + react-is "^16.12.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0, rc-util@^5.7.0, rc-util@^5.9.4: + version "5.12.2" + resolved "https://registry.nlark.com/rc-util/download/rc-util-5.12.2.tgz?cache=0&sync_timestamp=1620285199919&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-util%2Fdownload%2Frc-util-5.12.2.tgz#41572687a2cd174fdaec028da756d288e398e9f8" + integrity sha1-QVcmh6LNF0/a7AKNp1bSiOOY6fg= + dependencies: + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" + +rc-virtual-list@^1.1.0, rc-virtual-list@^1.1.2: + version "1.1.6" + resolved "https://registry.nlark.com/rc-virtual-list/download/rc-virtual-list-1.1.6.tgz#b255baf9aacde149a8893324e6307214094f4c0a" + integrity sha1-slW6+arN4UmoiTMk5jByFAlPTAo= + dependencies: + classnames "^2.2.6" + raf "^3.4.1" + rc-util "^5.0.0" + +rc-virtual-list@^3.0.1: + version "3.2.6" + resolved "https://registry.nlark.com/rc-virtual-list/download/rc-virtual-list-3.2.6.tgz#2c92a40f4425e19881b38134d6bd286a11137d2d" + integrity sha1-LJKkD0Ql4ZiBs4E01r0oahETfS0= + dependencies: + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.0.7" + +react-app-polyfill@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/react-app-polyfill/download/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha1-iQ+NfyhCzmBz8DCxF96RMKXzhfA= + dependencies: + core-js "^3.5.0" + object-assign "^4.1.1" + promise "^8.0.3" + raf "^3.4.1" + regenerator-runtime "^0.13.3" + whatwg-fetch "^3.0.0" + +react-app-rewired@^2.1.5: + version "2.1.8" + resolved "https://registry.npm.taobao.org/react-app-rewired/download/react-app-rewired-2.1.8.tgz#e192f93b98daf96889418d33d3e86cf863812b56" + integrity sha1-4ZL5O5ja+WiJQY0z0+hs+GOBK1Y= + dependencies: + semver "^5.6.0" + +react-canvas-nest@^1.0.10: + version "1.1.1" + resolved "https://registry.nlark.com/react-canvas-nest/download/react-canvas-nest-1.1.1.tgz#e53687ad725a2131101276b565b144dde6863015" + integrity sha1-5TaHrXJaITEQEna1ZbFE3eaGMBU= + +react-dev-utils@^9.1.0: + version "9.1.0" + resolved "https://registry.nlark.com/react-dev-utils/download/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha1-OtK7iEijIxnXYNCoTFbBS9quXoE= + dependencies: + "@babel/code-frame" "7.5.5" + address "1.1.2" + browserslist "4.7.0" + chalk "2.4.2" + cross-spawn "6.0.5" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.6.1" + find-up "3.0.0" + fork-ts-checker-webpack-plugin "1.5.0" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "6.5.0" + is-root "2.1.0" + loader-utils "1.2.3" + open "^6.3.0" + pkg-up "2.0.0" + react-error-overlay "^6.0.3" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + sockjs-client "1.4.0" + strip-ansi "5.2.0" + text-table "0.2.0" + +react-dom@^16.13.1: + version "16.14.0" + resolved "https://registry.nlark.com/react-dom/download/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha1-etg47Cmnd/s8dcOhkPZhz5Kri4k= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-error-overlay@^6.0.3: + version "6.0.9" + resolved "https://registry.nlark.com/react-error-overlay/download/react-error-overlay-6.0.9.tgz?cache=0&sync_timestamp=1618847372583&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-error-overlay%2Fdownload%2Freact-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha1-PHQwEMk1lgjDdezWvHbzXZOZWwo= + +react-flow-renderer@^10.3.17: + version "10.3.17" + resolved "https://registry.npmmirror.com/react-flow-renderer/-/react-flow-renderer-10.3.17.tgz#06d6ecef5559ba5d3e64d2c8dcb74c43071d62b1" + integrity sha512-bywiqVErlh5kCDqw3x0an5Ur3mT9j9CwJsDwmhmz4i1IgYM1a0SPqqEhClvjX+s5pU4nHjmVaGXWK96pwsiGcQ== + dependencies: + "@babel/runtime" "^7.18.9" + "@types/d3" "^7.4.0" + "@types/resize-observer-browser" "^0.1.7" + classcat "^5.0.3" + d3-drag "^3.0.0" + d3-selection "^3.0.0" + d3-zoom "^3.0.0" + zustand "^3.7.2" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.nlark.com/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1621009763544&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.nlark.com/react-is/download/react-is-17.0.2.tgz?cache=0&sync_timestamp=1621009763544&other_urls=https%3A%2F%2Fregistry.nlark.com%2Freact-is%2Fdownload%2Freact-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA= + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-lifecycles-compat%2Fdownload%2Freact-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-redux@^7.1.3: + version "7.2.4" + resolved "https://registry.nlark.com/react-redux/download/react-redux-7.2.4.tgz#1ebb474032b72d806de2e0519cd07761e222e225" + integrity sha1-HrtHQDK3LYBt4uBRnNB3YeIi4iU= + dependencies: + "@babel/runtime" "^7.12.1" + "@types/react-redux" "^7.1.16" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^16.13.1" + +react-router-breadcrumbs-hoc@^3.2.4: + version "3.3.1" + resolved "https://registry.npm.taobao.org/react-router-breadcrumbs-hoc/download/react-router-breadcrumbs-hoc-3.3.1.tgz#3ed9de26e0a08fd9311273947d80e9782f7dd1a0" + integrity sha1-PtneJuCgj9kxEnOUfYDpeC990aA= + +react-router-dom@^5.1.2: + version "5.2.0" + resolved "https://registry.npm.taobao.org/react-router-dom/download/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha1-nmWk0MReEyieZsexfH4XXQ6hVmI= + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/react-router/download/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha1-Qk51ZByodH+/duXsyml4GqN+opM= + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-scripts@3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/react-scripts/download/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" + integrity sha1-WMzWtP+ifxtNKYbL3KqRZmDp4zw= + dependencies: + "@babel/core" "7.6.0" + "@svgr/webpack" "4.3.2" + "@typescript-eslint/eslint-plugin" "^2.2.0" + "@typescript-eslint/parser" "^2.2.0" + babel-eslint "10.0.3" + babel-jest "^24.9.0" + babel-loader "8.0.6" + babel-plugin-named-asset-import "^0.3.4" + babel-preset-react-app "^9.0.2" + camelcase "^5.2.0" + case-sensitive-paths-webpack-plugin "2.2.0" + css-loader "2.1.1" + dotenv "6.2.0" + dotenv-expand "5.1.0" + eslint "^6.1.0" + eslint-config-react-app "^5.0.2" + eslint-loader "3.0.2" + eslint-plugin-flowtype "3.13.0" + eslint-plugin-import "2.18.2" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.14.3" + eslint-plugin-react-hooks "^1.6.1" + file-loader "3.0.1" + fs-extra "7.0.1" + html-webpack-plugin "4.0.0-beta.5" + identity-obj-proxy "3.0.0" + is-wsl "^1.1.0" + jest "24.9.0" + jest-environment-jsdom-fourteen "0.1.0" + jest-resolve "24.9.0" + jest-watch-typeahead "0.4.0" + mini-css-extract-plugin "0.8.0" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.5.0" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-normalize "7.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.1" + react-app-polyfill "^1.0.4" + react-dev-utils "^9.1.0" + resolve "1.12.0" + resolve-url-loader "3.1.0" + sass-loader "7.2.0" + semver "6.3.0" + style-loader "1.0.0" + terser-webpack-plugin "1.4.1" + ts-pnp "1.1.4" + url-loader "2.1.0" + webpack "4.41.0" + webpack-dev-server "3.2.1" + webpack-manifest-plugin "2.1.1" + workbox-webpack-plugin "4.3.1" + optionalDependencies: + fsevents "2.0.7" + +react@^16.13.1: + version "16.14.0" + resolved "https://registry.nlark.com/react/download/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha1-lNd23dCqo32j7aj8W2sYpMmjEU0= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-4.0.0.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.nlark.com/readdirp/download/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4= + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= + dependencies: + util.promisify "^1.0.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/recursive-readdir/download/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha1-mUb7MnThYo3m42svZxSVO0hFCU8= + dependencies: + minimatch "3.0.4" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redux-devtools-instrument@^1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/redux-devtools-instrument/download/redux-devtools-instrument-1.10.0.tgz#036caf79fa1e5f25ec4bae38a9af4f08c69e323a" + integrity sha1-A2yvefoeXyXsS644qa9PCMaeMjo= + dependencies: + lodash "^4.17.19" + symbol-observable "^1.2.0" + +redux-devtools@^3.5.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/redux-devtools/download/redux-devtools-3.7.0.tgz#5bc2d50227d94ce95c79dbfdf2ffc7a23c553553" + integrity sha1-W8LVAifZTOlcedv98v/HojxVNVM= + dependencies: + "@types/prop-types" "^15.7.3" + lodash "^4.17.19" + prop-types "^15.7.2" + redux-devtools-instrument "^1.10.0" + +redux-persist@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/redux-persist/download/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8" + integrity sha1-tNKXL5hZWXwTDUDUsUb+zatRs6g= + +redux-promise@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/redux-promise/download/redux-promise-0.6.0.tgz#c64723b5213bb5603c11b74302883b682e06b319" + integrity sha1-xkcjtSE7tWA8EbdDAog7aC4Gsxk= + dependencies: + flux-standard-action "^2.0.3" + is-promise "^2.1.0" + +redux@^3.6.0: + version "3.7.2" + resolved "https://registry.nlark.com/redux/download/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + integrity sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s= + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + +redux@^4.0.0, redux@^4.0.4: + version "4.1.0" + resolved "https://registry.nlark.com/redux/download/redux-4.1.0.tgz#eb049679f2f523c379f1aff345c8612f294c88d4" + integrity sha1-6wSWefL1I8N58a/zRchhLylMiNQ= + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.nlark.com/regex-parser/download/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha1-nmao9z2JoQdhbmOznU3t3+6RKzc= + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpp@^3.0.0: + version "3.1.0" + resolved "https://registry.nlark.com/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413461940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha1-LepamgcjMpj78NuR+pq8TG4PitY= + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha1-tInu98mizkNydicBFCnPgzpxg+Y= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.5" + resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.5.tgz?cache=0&sync_timestamp=1609588663632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" + integrity sha1-SDsaxZxmAaswp6WWpZZcq8z90KU= + dependencies: + css-select "^2.0.2" + dom-converter "^0.2" + htmlparser2 "^3.10.1" + lodash "^4.17.20" + strip-ansi "^3.0.0" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.nlark.com/request-promise-core/download/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.5: + version "1.0.9" + resolved "https://registry.nlark.com/request-promise-native/download/request-promise-native-1.0.9.tgz?cache=0&sync_timestamp=1618847006003&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frequest-promise-native%2Fdownload%2Frequest-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.nlark.com/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/resolve-pathname/download/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0= + +resolve-url-loader@3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/resolve-url-loader/download/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" + integrity sha1-VNgYHTPNG2allUTQXK345Kp9N8w= + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.0.0" + compose-function "3.0.3" + convert-source-map "1.6.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.14" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.nlark.com/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.12.0: + version "1.12.0" + resolved "https://registry.nlark.com/resolve/download/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha1-P8ZEo1yEpIVUYJ/ybsUrZvpXffY= + dependencies: + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.20.0" + resolved "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.nlark.com/resolve/download/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha1-1BAWKT1KhYajnKXZtfFcvqH1XkY= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/rework-visit/download/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/rework/download/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1614946161596&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1614946161596&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz?cache=0&sync_timestamp=1614946161596&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.nlark.com/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.nlark.com/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= + +run-async@^2.2.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/run-node/download/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" + integrity sha1-RrULlGoqotSUeuHYhumFb9nKvl4= + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925943325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1599054209520&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1599054209520&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.nlark.com/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sass-loader@7.2.0: + version "7.2.0" + resolved "https://registry.nlark.com/sass-loader/download/sass-loader-7.2.0.tgz?cache=0&sync_timestamp=1620926301236&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass-loader%2Fdownload%2Fsass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" + integrity sha1-40EVI5MJ0VslJ8titd/vtiqW/38= + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^5.5.0" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.nlark.com/scheduler/download/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0, schema-utils@^2.6.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +scroll-into-view-if-needed@^2.2.20: + version "2.2.28" + resolved "https://registry.npm.taobao.org/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" + integrity sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo= + dependencies: + compute-scroll-into-view "^1.0.17" + +seamless-immutable@^7.1.3: + version "7.1.4" + resolved "https://registry.npm.taobao.org/seamless-immutable/download/seamless-immutable-7.1.4.tgz#6e9536def083ddc4dea0207d722e0e80d0f372f8" + integrity sha1-bpU23vCD3cTeoCB9ci4OgNDzcvg= + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.9.1: + version "1.10.11" + resolved "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k= + dependencies: + node-forge "^0.10.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/semver-compare/download/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@^7.3.2: + version "7.3.5" + resolved "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc= + dependencies: + lru-cache "^6.0.0" + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha1-z8IArvd7YAxH2pu4FJyUPnmML9s= + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE= + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.nlark.com/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserve-static%2Fdownload%2Fserve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.0.2, shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/shallowequal/download/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha1-785cj9wQTudRslxY1CkAEfpeos8= + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1614858571178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz?cache=0&sync_timestamp=1618555008681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz?cache=0&sync_timestamp=1618555008681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.3.0.tgz?cache=0&sync_timestamp=1616686717128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha1-EvydbLZj2lc509xftuhofalcsXc= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz?cache=0&sync_timestamp=1616686717128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.nlark.com/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.nlark.com/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.nlark.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.7" + resolved "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU= + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.2.tgz?cache=0&sync_timestamp=1617826295004&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha1-FXk5E08gRk5zAd26PpD/qPdyisU= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz?cache=0&sync_timestamp=1617826295004&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha1-ksJBv23oI2W1x/tL126XVSLhKU0= + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.nlark.com/stack-utils/download/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs= + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1618430946341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-argv@^0.3.0: + version "0.3.1" + resolved "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha1-leL77AQnrhkYSTX4FtdKqkxcGdo= + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/string-convert/download/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/string-length/download/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.2" + resolved "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.nlark.com/string.prototype.matchall/download/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha1-YI8lXpPgchB/XeBm+Bot+3jPayk= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has-symbols "^1.0.1" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz?cache=0&sync_timestamp=1614127461586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +style-loader@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.0.0.tgz?cache=0&sync_timestamp=1602248048594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstyle-loader%2Fdownload%2Fstyle-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha1-HVKW+RZejiyF0k7uC3yvnsjKH4I= + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.1" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1618056391120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1618560983872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1618560983872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1618560983872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1618560983872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +svg-parser@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha1-/cLinhOVFzYUC3bLEiyO5mMOtrU= + +svgo@^1.0.0, svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.nlark.com/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +symbol-observable@^1.0.3, symbol-observable@^1.1.0, symbol-observable@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz?cache=0&sync_timestamp=1618451954701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.nlark.com/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^0.1.8: + version "0.1.10" + resolved "https://registry.nlark.com/tapable/download/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + integrity sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q= + +tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +terser-webpack-plugin@1.4.1: + version "1.4.1" + resolved "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz?cache=0&sync_timestamp=1620830611931&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^1.4.1: + version "1.4.5" + resolved "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1620830611931&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.nlark.com/terser/download/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.nlark.com/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz?cache=0&sync_timestamp=1618847142316&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftext-table%2Fdownload%2Ftext-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.nlark.com/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.nlark.com/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.nlark.com/timers-browserify/download/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU= + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/tiny-warning/download/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.nlark.com/toggle-selection/download/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/tryer/download/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= + +ts-pnp@1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha1-ricSaWDrrvuHTG1/pHKXKasgDZA= + +ts-pnp@^1.1.2: + version "1.2.0" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.nlark.com/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs= + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1618846758811&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138184534&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM= + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.nlark.com/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.nlark.com/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz?cache=0&sync_timestamp=1615215448661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.5.0.tgz?cache=0&sync_timestamp=1615215448661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha1-Ci54wud5B7JSq+XymMGwHGPw2z0= + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^3.8.3: + version "3.9.9" + resolved "https://registry.nlark.com/typescript/download/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" + integrity sha1-5pkFxUvAaB0FGL1NWHzG8tCxpnQ= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.nlark.com/uglify-js/download/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +uglify-js@^3.6.0: + version "3.13.6" + resolved "https://registry.nlark.com/uglify-js/download/uglify-js-3.13.6.tgz#6815ac7fdd155d03c83e2362bb717e5b39b74013" + integrity sha1-aBWsf90VXQPIPiNiu3F+Wzm3QBM= + +uglifyjs-webpack-plugin@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-2.2.0.tgz#e75bc80e7f1937f725954c9b4c5a1e967ea9d0d7" + integrity sha1-51vIDn8ZN/cllUybTFoeln6p0Nc= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + uglify-js "^3.6.0" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +unbox-primitive@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE= + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.nlark.com/upper-case/download/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237624359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.nlark.com/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.1.0.tgz?cache=0&sync_timestamp=1602252626029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" + integrity sha1-vMHsq70ZfpE+yiP14DeOJLRBKWE= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.0.0" + +url-parse@^1.4.3: + version "1.5.1" + resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz?cache=0&sync_timestamp=1613659652440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-parse%2Fdownload%2Furl-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" + integrity sha1-1fqYkK+KXh8nSiyYN2UQ9kJfbjs= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618847135337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.nlark.com/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159895694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.1.1.tgz?cache=0&sync_timestamp=1610159895694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha1-d4MvV87SyUeBdBScrpuW6ZGM1Us= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159895694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.nlark.com/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/value-equal/download/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw= + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.nlark.com/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.nlark.com/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +wait-for-expect@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/wait-for-expect/download/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" + integrity sha1-0vFLL3t3jJuCFEEJyPqJzqrapGM= + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.nlark.com/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +warning@^4.0.1, warning@^4.0.3, warning@~4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/warning/download/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.0: + version "1.7.5" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= + +webpack-bundle-analyzer@^3.6.0: + version "3.9.0" + resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" + integrity sha1-9vlNsQj7V05BWtMT3kGicH0z7zw= + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.19" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-dev-middleware@^3.5.1: + version "3.7.3" + resolved "https://registry.nlark.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU= + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@3.2.1: + version "3.2.1" + resolved "https://registry.nlark.com/webpack-dev-server/download/webpack-dev-server-3.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" + integrity sha1-G0XOPs/FW26+Xjbasnd8ArxQjE4= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.0.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^4.1.1" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "^0.19.1" + import-local "^2.0.0" + internal-ip "^4.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + schema-utils "^1.0.0" + selfsigned "^1.9.1" + semver "^5.6.0" + serve-index "^1.7.2" + sockjs "0.3.19" + sockjs-client "1.3.0" + spdy "^4.0.0" + strip-ansi "^3.0.0" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.5.1" + webpack-log "^2.0.0" + yargs "12.0.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1615477439589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/webpack-manifest-plugin/download/webpack-manifest-plugin-2.1.1.tgz#6b3e280327815b83152c79f42d0ca13b665773c4" + integrity sha1-az4oAyeBW4MVLHn0LQyhO2ZXc8Q= + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" + +webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.41.0: + version "4.41.0" + resolved "https://registry.nlark.com/webpack/download/webpack-4.41.0.tgz?cache=0&sync_timestamp=1620663741729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" + integrity sha1-22olS95nF2n3wU6QoaVec2Avxws= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.nlark.com/websocket-driver/download/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.nlark.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.0.0: + version "3.6.2" + resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.6.2.tgz?cache=0&sync_timestamp=1614452314097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-fetch%2Fdownload%2Fwhatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha1-3O0k838mJO0CgXJdUdDi4/5nf4w= + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.nlark.com/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.nlark.com/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9, which@^1.3.0, which@^1.3.1: + version "1.3.1" + resolved "https://registry.nlark.com/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.nlark.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.nlark.com/worker-farm/download/worker-farm-1.7.0.tgz?cache=0&sync_timestamp=1618846953836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fworker-farm%2Fdownload%2Fworker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/worker-rpc/download/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU= + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.nlark.com/write-file-atomic/download/write-file-atomic-2.4.1.tgz?cache=0&sync_timestamp=1618847057132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.nlark.com/ws/download/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= + dependencies: + async-limiter "~1.0.0" + +ws@^6.0.0, ws@^6.1.2: + version "6.2.1" + resolved "https://registry.nlark.com/ws/download/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/xregexp/download/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha1-5pgYneSd0qGMxWh7BeF8jkOUMCA= + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + +yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.2.tgz?cache=0&sync_timestamp=1618736097365&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyaml%2Fdownload%2Fyaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha1-IwHF/78StGfejaIzOkWeKeeSDks= + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= + dependencies: + camelcase "^4.1.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@12.0.2: + version "12.0.2" + resolved "https://registry.nlark.com/yargs/download/yargs-12.0.2.tgz?cache=0&sync_timestamp=1620086465147&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha1-/lgjQ2k5KvM+y+9TgZFx7/D1qtw= + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + +yargs@^13.3.0: + version "13.3.2" + resolved "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1620086465147&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +zustand@^3.7.2: + version "3.7.2" + resolved "https://registry.npmmirror.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d" + integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==