From aebad3589838a5a86a759281adf3a90b8594a7dd Mon Sep 17 00:00:00 2001 From: jiannibang <271381693@qq.com> Date: Wed, 16 Nov 2022 13:35:56 +0800 Subject: [PATCH] first commit --- .gitignore | 25 + README.md | 70 + package.json | 52 + public/aes.js | 650 + public/es7.js | 1 + public/favicon.ico | Bin 0 -> 3870 bytes public/index.html | 39 + public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/manifest.json | 25 + public/polyfill.js | 3 + public/robots.txt | 3 + src/App.js | 14 + src/App.scss | 17 + src/App.test.js | 8 + src/components/DefaultPopup/DefaultPopup.js | 211 + src/components/DefaultPopup/arrow.png | Bin 0 -> 526 bytes src/components/DefaultPopup/close.png | Bin 0 -> 596 bytes src/components/DefaultPopup/go.png | Bin 0 -> 12020 bytes src/components/DefaultPopup/search.png | Bin 0 -> 1570 bytes src/components/DefaultPopup/style.scss | 230 + src/components/Floors/Floors.js | 78 + src/components/Floors/Floors.scss | 95 + src/components/Floors/loc.png | Bin 0 -> 977 bytes src/components/Floors/up.png | Bin 0 -> 242 bytes src/components/HeadBar/HeadBar.js | 184 + src/components/HeadBar/HeadBar.scss | 271 + src/components/HeadBar/arrow.png | Bin 0 -> 316 bytes src/components/HeadBar/back.png | Bin 0 -> 841 bytes src/components/HeadBar/end.png | Bin 0 -> 1240 bytes src/components/HeadBar/start.png | Bin 0 -> 1213 bytes src/components/HeadBar/switch.png | Bin 0 -> 791 bytes src/components/Malls/Malls.js | 260 + src/components/Malls/Malls.scss | 242 + src/components/Malls/close_white.png | Bin 0 -> 833 bytes src/components/Malls/pos.png | Bin 0 -> 998 bytes src/components/Malls/search.png | Bin 0 -> 936 bytes src/components/Malls/up.png | Bin 0 -> 464 bytes src/components/More/2d.png | Bin 0 -> 870 bytes src/components/More/3d.png | Bin 0 -> 1372 bytes src/components/More/More.js | 53 + src/components/More/More.scss | 53 + src/components/NavBottom/NavBottom.js | 180 + src/components/NavBottom/NavBottom.scss | 335 + src/components/NavBottom/ar.png | Bin 0 -> 1687 bytes src/components/NavBottom/back.png | Bin 0 -> 3096 bytes src/components/NavBottom/bubble.png | Bin 0 -> 865 bytes src/components/NavBottom/close.png | Bin 0 -> 596 bytes src/components/NavBottom/des.png | Bin 0 -> 1008 bytes src/components/NavBottom/des_active.png | Bin 0 -> 678 bytes src/components/NavBottom/followDirection.png | Bin 0 -> 2465 bytes src/components/NavBottom/left.png | Bin 0 -> 8549 bytes src/components/NavBottom/nav.png | Bin 0 -> 805 bytes src/components/NavBottom/nav_active.png | Bin 0 -> 480 bytes .../NavBottom/notFollowDirection.png | Bin 0 -> 1837 bytes src/components/NavBottom/pause.png | Bin 0 -> 928 bytes src/components/NavBottom/play.png | Bin 0 -> 1251 bytes src/components/NavBottom/right.png | Bin 0 -> 8463 bytes src/components/NavBottom/straight.png | Bin 0 -> 2707 bytes src/components/Options/2d.png | Bin 0 -> 1785 bytes src/components/Options/3d.png | Bin 0 -> 1798 bytes src/components/Options/Options.js | 137 + src/components/Options/Options.scss | 106 + src/components/Options/ft.png | Bin 0 -> 720 bytes src/components/Options/ft1.png | Bin 0 -> 1319 bytes src/components/Options/ftb.png | Bin 0 -> 452 bytes src/components/Options/ftb1.png | Bin 0 -> 1459 bytes src/components/Options/mute.png | Bin 0 -> 1522 bytes src/components/Options/on.png | Bin 0 -> 1473 bytes src/components/Options/shortest.png | Bin 0 -> 1598 bytes src/components/Options/shortest1.png | Bin 0 -> 1617 bytes src/components/Options/shortestb.png | Bin 0 -> 905 bytes src/components/Options/shortestb1.png | Bin 0 -> 1799 bytes src/components/Options/zt.png | Bin 0 -> 565 bytes src/components/Options/zt1.png | Bin 0 -> 585 bytes src/components/Options/ztb.png | Bin 0 -> 466 bytes src/components/Options/ztb1.png | Bin 0 -> 590 bytes src/components/Popup/Popup.js | 67 + src/components/Popup/Popup.scss | 194 + src/components/Popup/ar.png | Bin 0 -> 1073 bytes src/components/Popup/close.png | Bin 0 -> 596 bytes src/components/Popup/couponTop.png | Bin 0 -> 88845 bytes src/components/Popup/desc.png | Bin 0 -> 97 bytes src/components/Popup/nav.png | Bin 0 -> 480 bytes src/components/Shop/Shop.js | 40 + src/components/Shop/Shop.scss | 91 + src/components/Shop/desc.png | Bin 0 -> 97 bytes src/components/ShopList/ShopList.js | 82 + src/components/ShopList/ShopList.scss | 70 + src/components/ShopTabs/ShopTabs.js | 24 + src/components/ShopTabs/ShopTabs.scss | 32 + src/components/ShopTabs/floor.png | Bin 0 -> 901 bytes src/components/ShopTabs/floor_active.png | Bin 0 -> 858 bytes src/components/ShopTabs/format.png | Bin 0 -> 1266 bytes src/components/ShopTabs/format_active.png | Bin 0 -> 1213 bytes .../ShopsWithFilter/ShopsWithFilter.js | 103 + .../ShopsWithFilter/ShopsWithFilter.scss | 22 + src/components/SideBar/SideBar.js | 15 + src/components/SideBar/SideBar.scss | 20 + src/index.js | 16 + src/js/helpers/attach-helper.js | 244 + src/js/helpers/data-helper.js | 215 + src/js/helpers/encrypt-helper.js | 28 + src/js/helpers/floor-helper.js | 47 + src/js/helpers/icons/q.png | Bin 0 -> 3332 bytes src/js/helpers/icons/z.png | Bin 0 -> 3614 bytes src/js/helpers/image-helper.js | 11 + src/pages/Activities/Activities.js | 138 + src/pages/Activities/Activities.scss | 264 + src/pages/Activities/back.svg | 4 + src/pages/Activities/clock.svg | 3 + src/pages/Activities/close.png | Bin 0 -> 1354 bytes src/pages/Activities/detail.png | Bin 0 -> 1646 bytes src/pages/Car/Car.js | 212 + src/pages/Car/Car.scss | 255 + src/pages/Car/back.png | Bin 0 -> 1421 bytes src/pages/Car/car.png | Bin 0 -> 57001 bytes src/pages/Car/lot.png | Bin 0 -> 685 bytes src/pages/Car/lot_active.png | Bin 0 -> 675 bytes src/pages/Car/plate.png | Bin 0 -> 356 bytes src/pages/Car/plate_active.png | Bin 0 -> 354 bytes src/pages/Car/plus.svg | 4 + src/pages/Coupons/ApplyModal/ApplyModal.js | 102 + src/pages/Coupons/ApplyModal/ApplyModal.scss | 118 + src/pages/Coupons/ApplyModal/back.svg | 4 + src/pages/Coupons/CouponList/CouponList.js | 163 + src/pages/Coupons/CouponList/CouponList.scss | 268 + src/pages/Coupons/CouponList/bg0.svg | 34 + src/pages/Coupons/CouponList/bg1.svg | 32 + src/pages/Coupons/CouponList/bg2.svg | 32 + src/pages/Coupons/CouponList/close.svg | 3 + src/pages/Coupons/CouponList/noData.png | Bin 0 -> 48466 bytes src/pages/Coupons/CouponList/tri.svg | 3 + src/pages/Coupons/Coupons.js | 55 + src/pages/Coupons/Coupons.scss | 69 + src/pages/Coupons/ListEnd/ListEnd.js | 4 + src/pages/Coupons/ListEnd/ListEnd.scss | 5 + src/pages/Coupons/ListEnd/bg.svg | 4 + src/pages/Coupons/Qrcode/Qrcode.js | 25 + src/pages/Coupons/Qrcode/Qrcode.scss | 0 src/pages/Coupons/ScanModal/ScanModal.js | 59 + src/pages/Coupons/ScanModal/ScanModal.scss | 72 + src/pages/Coupons/ScanModal/back.svg | 4 + src/pages/Coupons/ScanModal/border.svg | 3 + src/pages/Coupons/ScanModal/close.svg | 4 + src/pages/Coupons/ScanModal/scaner.svg | 9 + src/pages/Coupons/ShopManager/ShopManager.js | 130 + .../Coupons/ShopManager/ShopManager.scss | 132 + src/pages/Coupons/ShopManager/noDataPic.png | Bin 0 -> 42810 bytes src/pages/Coupons/ShopTabs/ShopTabs.js | 26 + src/pages/Coupons/ShopTabs/ShopTabs.scss | 32 + src/pages/Coupons/ShopTabs/card.svg | 3 + src/pages/Coupons/ShopTabs/cardActive.svg | 3 + src/pages/Coupons/ShopTabs/ticket.svg | 3 + src/pages/Coupons/ShopTabs/ticketActive.svg | 3 + .../Coupons/WriteOffModal/WriteOffModal.js | 148 + .../Coupons/WriteOffModal/WriteOffModal.scss | 162 + src/pages/Coupons/WriteOffModal/back.svg | 4 + src/pages/Coupons/WriteOffModal/scan.svg | 5 + src/pages/Coupons/WriteOffModal/search.svg | 4 + src/pages/Coupons/notMember.png | Bin 0 -> 63742 bytes src/pages/Index/Index.js | 893 ++ src/pages/Index/Index.scss | 381 + src/pages/Index/ar.png | Bin 0 -> 6800 bytes src/pages/Index/arrow.png | Bin 0 -> 410 bytes src/pages/Index/compass.png | Bin 0 -> 2425 bytes src/pages/Index/more.png | Bin 0 -> 3692 bytes src/pages/Index/offline.png | Bin 0 -> 62628 bytes src/pages/Index/pos.png | Bin 0 -> 977 bytes src/pages/Index/search.png | Bin 0 -> 936 bytes src/pages/Index/tabs/Tabs.js | 15 + src/pages/Index/tabs/act.svg | 3 + src/pages/Index/tabs/actActive.svg | 3 + src/pages/Index/tabs/car.svg | 10 + src/pages/Index/tabs/carActive.svg | 10 + src/pages/Index/tabs/map.svg | 3 + src/pages/Index/tabs/mapActive.svg | 3 + src/pages/Index/tabs/my.svg | 3 + src/pages/Index/tabs/myActive.svg | 3 + src/pages/Index/up.png | Bin 0 -> 464 bytes src/pages/Keyboard/Keyboard.js | 104 + src/pages/Keyboard/Keyboard.scss | 128 + src/pages/Keyboard/backspace.png | Bin 0 -> 502 bytes src/pages/ShopCoupons/ShopCoupons.js | 121 + src/pages/ShopCoupons/ShopCoupons.scss | 144 + src/pages/ShopCoupons/arrow.svg | 9 + src/pages/ShopCoupons/back.svg | 3 + src/pages/Shops/Shops.js | 62 + src/pages/Shops/Shops.scss | 88 + src/pages/Shops/back.png | Bin 0 -> 1394 bytes src/pages/Shops/close.png | Bin 0 -> 1663 bytes src/pages/Shops/search.png | Bin 0 -> 1570 bytes src/reportWebVitals.js | 13 + src/setupTests.js | 5 + yarn.lock | 12655 ++++++++++++++++ 195 files changed, 21929 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 package.json create mode 100644 public/aes.js create mode 100644 public/es7.js create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/polyfill.js create mode 100644 public/robots.txt create mode 100644 src/App.js create mode 100644 src/App.scss create mode 100644 src/App.test.js create mode 100644 src/components/DefaultPopup/DefaultPopup.js create mode 100644 src/components/DefaultPopup/arrow.png create mode 100644 src/components/DefaultPopup/close.png create mode 100644 src/components/DefaultPopup/go.png create mode 100644 src/components/DefaultPopup/search.png create mode 100644 src/components/DefaultPopup/style.scss create mode 100644 src/components/Floors/Floors.js create mode 100644 src/components/Floors/Floors.scss create mode 100644 src/components/Floors/loc.png create mode 100644 src/components/Floors/up.png create mode 100644 src/components/HeadBar/HeadBar.js create mode 100644 src/components/HeadBar/HeadBar.scss create mode 100644 src/components/HeadBar/arrow.png create mode 100644 src/components/HeadBar/back.png create mode 100644 src/components/HeadBar/end.png create mode 100644 src/components/HeadBar/start.png create mode 100644 src/components/HeadBar/switch.png create mode 100644 src/components/Malls/Malls.js create mode 100644 src/components/Malls/Malls.scss create mode 100644 src/components/Malls/close_white.png create mode 100644 src/components/Malls/pos.png create mode 100644 src/components/Malls/search.png create mode 100644 src/components/Malls/up.png create mode 100644 src/components/More/2d.png create mode 100644 src/components/More/3d.png create mode 100644 src/components/More/More.js create mode 100644 src/components/More/More.scss create mode 100644 src/components/NavBottom/NavBottom.js create mode 100644 src/components/NavBottom/NavBottom.scss create mode 100644 src/components/NavBottom/ar.png create mode 100644 src/components/NavBottom/back.png create mode 100644 src/components/NavBottom/bubble.png create mode 100644 src/components/NavBottom/close.png create mode 100644 src/components/NavBottom/des.png create mode 100644 src/components/NavBottom/des_active.png create mode 100644 src/components/NavBottom/followDirection.png create mode 100644 src/components/NavBottom/left.png create mode 100644 src/components/NavBottom/nav.png create mode 100644 src/components/NavBottom/nav_active.png create mode 100644 src/components/NavBottom/notFollowDirection.png create mode 100644 src/components/NavBottom/pause.png create mode 100644 src/components/NavBottom/play.png create mode 100644 src/components/NavBottom/right.png create mode 100644 src/components/NavBottom/straight.png create mode 100644 src/components/Options/2d.png create mode 100644 src/components/Options/3d.png create mode 100644 src/components/Options/Options.js create mode 100644 src/components/Options/Options.scss create mode 100644 src/components/Options/ft.png create mode 100644 src/components/Options/ft1.png create mode 100644 src/components/Options/ftb.png create mode 100644 src/components/Options/ftb1.png create mode 100644 src/components/Options/mute.png create mode 100644 src/components/Options/on.png create mode 100644 src/components/Options/shortest.png create mode 100644 src/components/Options/shortest1.png create mode 100644 src/components/Options/shortestb.png create mode 100644 src/components/Options/shortestb1.png create mode 100644 src/components/Options/zt.png create mode 100644 src/components/Options/zt1.png create mode 100644 src/components/Options/ztb.png create mode 100644 src/components/Options/ztb1.png create mode 100644 src/components/Popup/Popup.js create mode 100644 src/components/Popup/Popup.scss create mode 100644 src/components/Popup/ar.png create mode 100644 src/components/Popup/close.png create mode 100644 src/components/Popup/couponTop.png create mode 100644 src/components/Popup/desc.png create mode 100644 src/components/Popup/nav.png create mode 100644 src/components/Shop/Shop.js create mode 100644 src/components/Shop/Shop.scss create mode 100644 src/components/Shop/desc.png create mode 100644 src/components/ShopList/ShopList.js create mode 100644 src/components/ShopList/ShopList.scss create mode 100644 src/components/ShopTabs/ShopTabs.js create mode 100644 src/components/ShopTabs/ShopTabs.scss create mode 100644 src/components/ShopTabs/floor.png create mode 100644 src/components/ShopTabs/floor_active.png create mode 100644 src/components/ShopTabs/format.png create mode 100644 src/components/ShopTabs/format_active.png create mode 100644 src/components/ShopsWithFilter/ShopsWithFilter.js create mode 100644 src/components/ShopsWithFilter/ShopsWithFilter.scss create mode 100644 src/components/SideBar/SideBar.js create mode 100644 src/components/SideBar/SideBar.scss create mode 100644 src/index.js create mode 100644 src/js/helpers/attach-helper.js create mode 100644 src/js/helpers/data-helper.js create mode 100644 src/js/helpers/encrypt-helper.js create mode 100644 src/js/helpers/floor-helper.js create mode 100644 src/js/helpers/icons/q.png create mode 100644 src/js/helpers/icons/z.png create mode 100644 src/js/helpers/image-helper.js create mode 100644 src/pages/Activities/Activities.js create mode 100644 src/pages/Activities/Activities.scss create mode 100644 src/pages/Activities/back.svg create mode 100644 src/pages/Activities/clock.svg create mode 100644 src/pages/Activities/close.png create mode 100644 src/pages/Activities/detail.png create mode 100644 src/pages/Car/Car.js create mode 100644 src/pages/Car/Car.scss create mode 100644 src/pages/Car/back.png create mode 100644 src/pages/Car/car.png create mode 100644 src/pages/Car/lot.png create mode 100644 src/pages/Car/lot_active.png create mode 100644 src/pages/Car/plate.png create mode 100644 src/pages/Car/plate_active.png create mode 100644 src/pages/Car/plus.svg create mode 100644 src/pages/Coupons/ApplyModal/ApplyModal.js create mode 100644 src/pages/Coupons/ApplyModal/ApplyModal.scss create mode 100644 src/pages/Coupons/ApplyModal/back.svg create mode 100644 src/pages/Coupons/CouponList/CouponList.js create mode 100644 src/pages/Coupons/CouponList/CouponList.scss create mode 100644 src/pages/Coupons/CouponList/bg0.svg create mode 100644 src/pages/Coupons/CouponList/bg1.svg create mode 100644 src/pages/Coupons/CouponList/bg2.svg create mode 100644 src/pages/Coupons/CouponList/close.svg create mode 100644 src/pages/Coupons/CouponList/noData.png create mode 100644 src/pages/Coupons/CouponList/tri.svg create mode 100644 src/pages/Coupons/Coupons.js create mode 100644 src/pages/Coupons/Coupons.scss create mode 100644 src/pages/Coupons/ListEnd/ListEnd.js create mode 100644 src/pages/Coupons/ListEnd/ListEnd.scss create mode 100644 src/pages/Coupons/ListEnd/bg.svg create mode 100644 src/pages/Coupons/Qrcode/Qrcode.js create mode 100644 src/pages/Coupons/Qrcode/Qrcode.scss create mode 100644 src/pages/Coupons/ScanModal/ScanModal.js create mode 100644 src/pages/Coupons/ScanModal/ScanModal.scss create mode 100644 src/pages/Coupons/ScanModal/back.svg create mode 100644 src/pages/Coupons/ScanModal/border.svg create mode 100644 src/pages/Coupons/ScanModal/close.svg create mode 100644 src/pages/Coupons/ScanModal/scaner.svg create mode 100644 src/pages/Coupons/ShopManager/ShopManager.js create mode 100644 src/pages/Coupons/ShopManager/ShopManager.scss create mode 100644 src/pages/Coupons/ShopManager/noDataPic.png create mode 100644 src/pages/Coupons/ShopTabs/ShopTabs.js create mode 100644 src/pages/Coupons/ShopTabs/ShopTabs.scss create mode 100644 src/pages/Coupons/ShopTabs/card.svg create mode 100644 src/pages/Coupons/ShopTabs/cardActive.svg create mode 100644 src/pages/Coupons/ShopTabs/ticket.svg create mode 100644 src/pages/Coupons/ShopTabs/ticketActive.svg create mode 100644 src/pages/Coupons/WriteOffModal/WriteOffModal.js create mode 100644 src/pages/Coupons/WriteOffModal/WriteOffModal.scss create mode 100644 src/pages/Coupons/WriteOffModal/back.svg create mode 100644 src/pages/Coupons/WriteOffModal/scan.svg create mode 100644 src/pages/Coupons/WriteOffModal/search.svg create mode 100644 src/pages/Coupons/notMember.png create mode 100644 src/pages/Index/Index.js create mode 100644 src/pages/Index/Index.scss create mode 100644 src/pages/Index/ar.png create mode 100644 src/pages/Index/arrow.png create mode 100644 src/pages/Index/compass.png create mode 100644 src/pages/Index/more.png create mode 100644 src/pages/Index/offline.png create mode 100644 src/pages/Index/pos.png create mode 100644 src/pages/Index/search.png create mode 100644 src/pages/Index/tabs/Tabs.js create mode 100644 src/pages/Index/tabs/act.svg create mode 100644 src/pages/Index/tabs/actActive.svg create mode 100644 src/pages/Index/tabs/car.svg create mode 100644 src/pages/Index/tabs/carActive.svg create mode 100644 src/pages/Index/tabs/map.svg create mode 100644 src/pages/Index/tabs/mapActive.svg create mode 100644 src/pages/Index/tabs/my.svg create mode 100644 src/pages/Index/tabs/myActive.svg create mode 100644 src/pages/Index/up.png create mode 100644 src/pages/Keyboard/Keyboard.js create mode 100644 src/pages/Keyboard/Keyboard.scss create mode 100644 src/pages/Keyboard/backspace.png create mode 100644 src/pages/ShopCoupons/ShopCoupons.js create mode 100644 src/pages/ShopCoupons/ShopCoupons.scss create mode 100644 src/pages/ShopCoupons/arrow.svg create mode 100644 src/pages/ShopCoupons/back.svg create mode 100644 src/pages/Shops/Shops.js create mode 100644 src/pages/Shops/Shops.scss create mode 100644 src/pages/Shops/back.png create mode 100644 src/pages/Shops/close.png create mode 100644 src/pages/Shops/search.png create mode 100644 src/reportWebVitals.js create mode 100644 src/setupTests.js create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..185df30 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +/.vscode \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..02aac3f --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `yarn start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. + +### `yarn test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `yarn build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `yarn eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `yarn build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/package.json b/package.json new file mode 100644 index 0000000..651ca7e --- /dev/null +++ b/package.json @@ -0,0 +1,52 @@ +{ + "name": "qmplaza", + "version": "0.1.0", + "private": true, + "homepage": "./", + "dependencies": { + "@apollo/client": "^3.3.11", + "@testing-library/jest-dom": "^5.11.4", + "@testing-library/react": "^11.1.0", + "@testing-library/user-event": "^12.1.10", + "antd-mobile": "^2.3.4", + "apollo-cache-inmemory": "^1.6.6", + "apollo-client": "^2.6.10", + "apollo-link-http": "^1.5.17", + "axios": "^0.21.1", + "graphql": "^15.5.0", + "node-sass": "^5.0.0", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "react-infinite-scroller": "^1.2.4", + "react-lazy-load-image-component": "^1.5.1", + "react-modal": "^3.12.1", + "react-router-dom": "^5.2.0", + "react-scripts": "4.0.3", + "vconsole": "^3.4.0", + "web-vitals": "^1.0.1" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build && coscmd config -a AKIDjS6at7fjTAVgggDNCrogRiZTSL304DPR -s FPPGCXr4xgZRLKDC8tZGp7HTZXlqx0gU -b lg-cjdqwkbo-1256266248 -r ap-shanghai && coscmd delete qmplaza -f && coscmd upload -r build qmplaza", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/public/aes.js b/public/aes.js new file mode 100644 index 0000000..ef6cc57 --- /dev/null +++ b/public/aes.js @@ -0,0 +1,650 @@ +! function (t, n) { + "object" == typeof exports ? module.exports = exports = n() : "function" == typeof define && define.amd ? define([], n) : t.CryptoJS = n() +}(this, function () { + var t = t || function (t, n) { + var i = Object.create || function () { + function t() {} + return function (n) { + var i; + return t.prototype = n, i = new t, t.prototype = null, i + } + }(), + e = {}, + r = e.lib = {}, + o = r.Base = function () { + return { + extend: function (t) { + var n = i(this); + return t && n.mixIn(t), n.hasOwnProperty("init") && this.init !== n.init || (n.init = function () { + n.$super.init.apply(this, arguments) + }), n.init.prototype = n, n.$super = this, n + }, + create: function () { + var t = this.extend(); + return t.init.apply(t, arguments), t + }, + init: function () {}, + mixIn: function (t) { + for (var n in t) t.hasOwnProperty(n) && (this[n] = t[n]); + t.hasOwnProperty("toString") && (this.toString = t.toString) + }, + clone: function () { + return this.init.prototype.extend(this) + } + } + }(), + s = r.WordArray = o.extend({ + init: function (t, i) { + t = this.words = t || [], i != n ? this.sigBytes = i : this.sigBytes = 4 * t.length + }, + toString: function (t) { + return (t || c).stringify(this) + }, + concat: function (t) { + var n = this.words, + i = t.words, + e = this.sigBytes, + r = t.sigBytes; + if (this.clamp(), e % 4) + for (var o = 0; o < r; o++) { + var s = i[o >>> 2] >>> 24 - o % 4 * 8 & 255; + n[e + o >>> 2] |= s << 24 - (e + o) % 4 * 8 + } else + for (var o = 0; o < r; o += 4) n[e + o >>> 2] = i[o >>> 2]; + return this.sigBytes += r, this + }, + clamp: function () { + var n = this.words, + i = this.sigBytes; + n[i >>> 2] &= 4294967295 << 32 - i % 4 * 8, n.length = t.ceil(i / 4) + }, + clone: function () { + var t = o.clone.call(this); + return t.words = this.words.slice(0), t + }, + random: function (n) { + for (var i, e = [], r = function (n) { + var n = n, + i = 987654321, + e = 4294967295; + return function () { + i = 36969 * (65535 & i) + (i >> 16) & e, n = 18e3 * (65535 & n) + (n >> 16) & e; + var r = (i << 16) + n & e; + return r /= 4294967296, r += .5, r * (t.random() > .5 ? 1 : -1) + } + }, o = 0; o < n; o += 4) { + var a = r(4294967296 * (i || t.random())); + i = 987654071 * a(), e.push(4294967296 * a() | 0) + } + return new s.init(e, n) + } + }), + a = e.enc = {}, + c = a.Hex = { + stringify: function (t) { + for (var n = t.words, i = t.sigBytes, e = [], r = 0; r < i; r++) { + var o = n[r >>> 2] >>> 24 - r % 4 * 8 & 255; + e.push((o >>> 4).toString(16)), e.push((15 & o).toString(16)) + } + return e.join("") + }, + parse: function (t) { + for (var n = t.length, i = [], e = 0; e < n; e += 2) i[e >>> 3] |= parseInt(t.substr(e, 2), 16) << 24 - e % 8 * 4; + return new s.init(i, n / 2) + } + }, + u = a.Latin1 = { + stringify: function (t) { + for (var n = t.words, i = t.sigBytes, e = [], r = 0; r < i; r++) { + var o = n[r >>> 2] >>> 24 - r % 4 * 8 & 255; + e.push(String.fromCharCode(o)) + } + return e.join("") + }, + parse: function (t) { + for (var n = t.length, i = [], e = 0; e < n; e++) i[e >>> 2] |= (255 & t.charCodeAt(e)) << 24 - e % 4 * 8; + return new s.init(i, n) + } + }, + f = a.Utf8 = { + stringify: function (t) { + try { + return decodeURIComponent(escape(u.stringify(t))) + } catch (t) { + throw new Error("Malformed UTF-8 data") + } + }, + parse: function (t) { + return u.parse(unescape(encodeURIComponent(t))) + } + }, + h = r.BufferedBlockAlgorithm = o.extend({ + reset: function () { + this._data = new s.init, this._nDataBytes = 0 + }, + _append: function (t) { + "string" == typeof t && (t = f.parse(t)), this._data.concat(t), this._nDataBytes += t.sigBytes + }, + _process: function (n) { + var i = this._data, + e = i.words, + r = i.sigBytes, + o = this.blockSize, + a = 4 * o, + c = r / a; + c = n ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0); + var u = c * o, + f = t.min(4 * u, r); + if (u) { + for (var h = 0; h < u; h += o) this._doProcessBlock(e, h); + var p = e.splice(0, u); + i.sigBytes -= f + } + return new s.init(p, f) + }, + clone: function () { + var t = o.clone.call(this); + return t._data = this._data.clone(), t + }, + _minBufferSize: 0 + }), + p = (r.Hasher = h.extend({ + cfg: o.extend(), + init: function (t) { + this.cfg = this.cfg.extend(t), this.reset() + }, + reset: function () { + h.reset.call(this), this._doReset() + }, + update: function (t) { + return this._append(t), this._process(), this + }, + finalize: function (t) { + t && this._append(t); + var n = this._doFinalize(); + return n + }, + blockSize: 16, + _createHelper: function (t) { + return function (n, i) { + return new t.init(i).finalize(n) + } + }, + _createHmacHelper: function (t) { + return function (n, i) { + return new p.HMAC.init(t, i).finalize(n) + } + } + }), e.algo = {}); + return e + }(Math); + return t +}); +//# sourceMappingURL=core.min.js.map +! function (e, t, i) { + "object" == typeof exports ? module.exports = exports = t(require("./core.min"), require("./sha1.min"), require("./hmac.min")) : "function" == typeof define && define.amd ? define(["./core.min", "./sha1.min", "./hmac.min"], t) : t(e.CryptoJS) +}(this, function (e) { + return function () { + var t = e, + i = t.lib, + r = i.Base, + n = i.WordArray, + o = t.algo, + a = o.MD5, + c = o.EvpKDF = r.extend({ + cfg: r.extend({ + keySize: 4, + hasher: a, + iterations: 1 + }), + init: function (e) { + this.cfg = this.cfg.extend(e) + }, + compute: function (e, t) { + for (var i = this.cfg, r = i.hasher.create(), o = n.create(), a = o.words, c = i.keySize, f = i.iterations; a.length < c;) { + s && r.update(s); + var s = r.update(e).finalize(t); + r.reset(); + for (var u = 1; u < f; u++) s = r.finalize(s), r.reset(); + o.concat(s) + } + return o.sigBytes = 4 * c, o + } + }); + t.EvpKDF = function (e, t, i) { + return c.create(i).compute(e, t) + } + }(), e.EvpKDF +}); +//# sourceMappingURL=evpkdf.min.js.map +! function (r, e) { + "object" == typeof exports ? module.exports = exports = e(require("./core.min")) : "function" == typeof define && define.amd ? define(["./core.min"], e) : e(r.CryptoJS) +}(this, function (r) { + return function () { + function e(r, e, t) { + for (var n = [], i = 0, o = 0; o < e; o++) + if (o % 4) { + var f = t[r.charCodeAt(o - 1)] << o % 4 * 2, + c = t[r.charCodeAt(o)] >>> 6 - o % 4 * 2; + n[i >>> 2] |= (f | c) << 24 - i % 4 * 8, i++ + } return a.create(n, i) + } + var t = r, + n = t.lib, + a = n.WordArray, + i = t.enc; + i.Base64 = { + stringify: function (r) { + var e = r.words, + t = r.sigBytes, + n = this._map; + r.clamp(); + for (var a = [], i = 0; i < t; i += 3) + for (var o = e[i >>> 2] >>> 24 - i % 4 * 8 & 255, f = e[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255, c = e[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, s = o << 16 | f << 8 | c, h = 0; h < 4 && i + .75 * h < t; h++) a.push(n.charAt(s >>> 6 * (3 - h) & 63)); + var p = n.charAt(64); + if (p) + for (; a.length % 4;) a.push(p); + return a.join("") + }, + parse: function (r) { + var t = r.length, + n = this._map, + a = this._reverseMap; + if (!a) { + a = this._reverseMap = []; + for (var i = 0; i < n.length; i++) a[n.charCodeAt(i)] = i + } + var o = n.charAt(64); + if (o) { + var f = r.indexOf(o); + f !== -1 && (t = f) + } + return e(r, t, a) + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + } + }(), r.enc.Base64 +}); +//# sourceMappingURL=enc-base64.min.js.map +! function (e, t, r) { + "object" == typeof exports ? module.exports = exports = t(require("./core.min"), require("./evpkdf.min")) : "function" == typeof define && define.amd ? define(["./core.min", "./evpkdf.min"], t) : t(e.CryptoJS) +}(this, function (e) { + e.lib.Cipher || function (t) { + var r = e, + i = r.lib, + n = i.Base, + c = i.WordArray, + o = i.BufferedBlockAlgorithm, + s = r.enc, + a = (s.Utf8, s.Base64), + f = r.algo, + p = f.EvpKDF, + d = i.Cipher = o.extend({ + cfg: n.extend(), + createEncryptor: function (e, t) { + return this.create(this._ENC_XFORM_MODE, e, t) + }, + createDecryptor: function (e, t) { + return this.create(this._DEC_XFORM_MODE, e, t) + }, + init: function (e, t, r) { + this.cfg = this.cfg.extend(r), this._xformMode = e, this._key = t, this.reset() + }, + reset: function () { + o.reset.call(this), this._doReset() + }, + process: function (e) { + return this._append(e), this._process() + }, + finalize: function (e) { + e && this._append(e); + var t = this._doFinalize(); + return t + }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper: function () { + function e(e) { + return "string" == typeof e ? B : x + } + return function (t) { + return { + encrypt: function (r, i, n) { + return e(i).encrypt(t, r, i, n) + }, + decrypt: function (r, i, n) { + return e(i).decrypt(t, r, i, n) + } + } + } + }() + }), + h = (i.StreamCipher = d.extend({ + _doFinalize: function () { + var e = this._process(!0); + return e + }, + blockSize: 1 + }), r.mode = {}), + u = i.BlockCipherMode = n.extend({ + createEncryptor: function (e, t) { + return this.Encryptor.create(e, t) + }, + createDecryptor: function (e, t) { + return this.Decryptor.create(e, t) + }, + init: function (e, t) { + this._cipher = e, this._iv = t + } + }), + l = h.CBC = function () { + function e(e, r, i) { + var n = this._iv; + if (n) { + var c = n; + this._iv = t + } else var c = this._prevBlock; + for (var o = 0; o < i; o++) e[r + o] ^= c[o] + } + var r = u.extend(); + return r.Encryptor = r.extend({ + processBlock: function (t, r) { + var i = this._cipher, + n = i.blockSize; + e.call(this, t, r, n), i.encryptBlock(t, r), this._prevBlock = t.slice(r, r + n) + } + }), r.Decryptor = r.extend({ + processBlock: function (t, r) { + var i = this._cipher, + n = i.blockSize, + c = t.slice(r, r + n); + i.decryptBlock(t, r), e.call(this, t, r, n), this._prevBlock = c + } + }), r + }(), + _ = r.pad = {}, + v = _.Pkcs7 = { + pad: function (e, t) { + for (var r = 4 * t, i = r - e.sigBytes % r, n = i << 24 | i << 16 | i << 8 | i, o = [], s = 0; s < i; s += 4) o.push(n); + var a = c.create(o, i); + e.concat(a) + }, + unpad: function (e) { + var t = 255 & e.words[e.sigBytes - 1 >>> 2]; + e.sigBytes -= t + } + }, + y = (i.BlockCipher = d.extend({ + cfg: d.cfg.extend({ + mode: l, + padding: v + }), + reset: function () { + d.reset.call(this); + var e = this.cfg, + t = e.iv, + r = e.mode; + if (this._xformMode == this._ENC_XFORM_MODE) var i = r.createEncryptor; + else { + var i = r.createDecryptor; + this._minBufferSize = 1 + } + this._mode && this._mode.__creator == i ? this._mode.init(this, t && t.words) : (this._mode = i.call(r, this, t && t.words), this._mode.__creator = i) + }, + _doProcessBlock: function (e, t) { + this._mode.processBlock(e, t) + }, + _doFinalize: function () { + var e = this.cfg.padding; + if (this._xformMode == this._ENC_XFORM_MODE) { + e.pad(this._data, this.blockSize); + var t = this._process(!0) + } else { + var t = this._process(!0); + e.unpad(t) + } + return t + }, + blockSize: 4 + }), i.CipherParams = n.extend({ + init: function (e) { + this.mixIn(e) + }, + toString: function (e) { + return (e || this.formatter).stringify(this) + } + })), + m = r.format = {}, + k = m.OpenSSL = { + stringify: function (e) { + var t = e.ciphertext, + r = e.salt; + if (r) var i = c.create([1398893684, 1701076831]).concat(r).concat(t); + else var i = t; + return i.toString(a) + }, + parse: function (e) { + var t = a.parse(e), + r = t.words; + if (1398893684 == r[0] && 1701076831 == r[1]) { + var i = c.create(r.slice(2, 4)); + r.splice(0, 4), t.sigBytes -= 16 + } + return y.create({ + ciphertext: t, + salt: i + }) + } + }, + x = i.SerializableCipher = n.extend({ + cfg: n.extend({ + format: k + }), + encrypt: function (e, t, r, i) { + i = this.cfg.extend(i); + var n = e.createEncryptor(r, i), + c = n.finalize(t), + o = n.cfg; + return y.create({ + ciphertext: c, + key: r, + iv: o.iv, + algorithm: e, + mode: o.mode, + padding: o.padding, + blockSize: e.blockSize, + formatter: i.format + }) + }, + decrypt: function (e, t, r, i) { + i = this.cfg.extend(i), t = this._parse(t, i.format); + var n = e.createDecryptor(r, i).finalize(t.ciphertext); + return n + }, + _parse: function (e, t) { + return "string" == typeof e ? t.parse(e, this) : e + } + }), + g = r.kdf = {}, + S = g.OpenSSL = { + execute: function (e, t, r, i) { + i || (i = c.random(8)); + var n = p.create({ + keySize: t + r + }).compute(e, i), + o = c.create(n.words.slice(t), 4 * r); + return n.sigBytes = 4 * t, y.create({ + key: n, + iv: o, + salt: i + }) + } + }, + B = i.PasswordBasedCipher = x.extend({ + cfg: x.cfg.extend({ + kdf: S + }), + encrypt: function (e, t, r, i) { + i = this.cfg.extend(i); + var n = i.kdf.execute(r, e.keySize, e.ivSize); + i.iv = n.iv; + var c = x.encrypt.call(this, e, t, n.key, i); + return c.mixIn(n), c + }, + decrypt: function (e, t, r, i) { + i = this.cfg.extend(i), t = this._parse(t, i.format); + var n = i.kdf.execute(r, e.keySize, e.ivSize, t.salt); + i.iv = n.iv; + var c = x.decrypt.call(this, e, t, n.key, i); + return c + } + }) + }() +}); +//# sourceMappingURL=cipher-core.min.js.map +! function (e, i) { + "object" == typeof exports ? module.exports = exports = i(require("./core.min")) : "function" == typeof define && define.amd ? define(["./core.min"], i) : i(e.CryptoJS) +}(this, function (e) { + ! function () { + var i = e, + t = i.lib, + n = t.Base, + s = i.enc, + r = s.Utf8, + o = i.algo; + o.HMAC = n.extend({ + init: function (e, i) { + e = this._hasher = new e.init, "string" == typeof i && (i = r.parse(i)); + var t = e.blockSize, + n = 4 * t; + i.sigBytes > n && (i = e.finalize(i)), i.clamp(); + for (var s = this._oKey = i.clone(), o = this._iKey = i.clone(), a = s.words, f = o.words, c = 0; c < t; c++) a[c] ^= 1549556828, f[c] ^= 909522486; + s.sigBytes = o.sigBytes = n, this.reset() + }, + reset: function () { + var e = this._hasher; + e.reset(), e.update(this._iKey) + }, + update: function (e) { + return this._hasher.update(e), this + }, + finalize: function (e) { + var i = this._hasher, + t = i.finalize(e); + i.reset(); + var n = i.finalize(this._oKey.clone().concat(t)); + return n + } + }) + }() +}); +//# sourceMappingURL=hmac.min.js.map +! function (e, o, r) { + "object" == typeof exports ? module.exports = exports = o(require("./core.min"), require("./cipher-core.min")) : "function" == typeof define && define.amd ? define(["./core.min", "./cipher-core.min"], o) : o(e.CryptoJS) +}(this, function (e) { + return e.mode.ECB = function () { + var o = e.lib.BlockCipherMode.extend(); + return o.Encryptor = o.extend({ + processBlock: function (e, o) { + this._cipher.encryptBlock(e, o) + } + }), o.Decryptor = o.extend({ + processBlock: function (e, o) { + this._cipher.decryptBlock(e, o) + } + }), o + }(), e.mode.ECB +}); +//# sourceMappingURL=mode-ecb.min.js.map +! function (e, r, i) { + "object" == typeof exports ? module.exports = exports = r(require("./core.min"), require("./cipher-core.min")) : "function" == typeof define && define.amd ? define(["./core.min", "./cipher-core.min"], r) : r(e.CryptoJS) +}(this, function (e) { + return e.pad.Pkcs7 +}); +//# sourceMappingURL=pad-pkcs7.min.js.map +! function (e, r, i) { + "object" == typeof exports ? module.exports = exports = r(require("./core.min"), require("./enc-base64.min"), require("./md5.min"), require("./evpkdf.min"), require("./cipher-core.min")) : "function" == typeof define && define.amd ? define(["./core.min", "./enc-base64.min", "./md5.min", "./evpkdf.min", "./cipher-core.min"], r) : r(e.CryptoJS) +}(this, function (e) { + return function () { + var r = e, + i = r.lib, + n = i.BlockCipher, + o = r.algo, + t = [], + c = [], + s = [], + f = [], + a = [], + d = [], + u = [], + v = [], + h = [], + y = []; + ! function () { + for (var e = [], r = 0; r < 256; r++) r < 128 ? e[r] = r << 1 : e[r] = r << 1 ^ 283; + for (var i = 0, n = 0, r = 0; r < 256; r++) { + var o = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4; + o = o >>> 8 ^ 255 & o ^ 99, t[i] = o, c[o] = i; + var p = e[i], + l = e[p], + _ = e[l], + k = 257 * e[o] ^ 16843008 * o; + s[i] = k << 24 | k >>> 8, f[i] = k << 16 | k >>> 16, a[i] = k << 8 | k >>> 24, d[i] = k; + var k = 16843009 * _ ^ 65537 * l ^ 257 * p ^ 16843008 * i; + u[o] = k << 24 | k >>> 8, v[o] = k << 16 | k >>> 16, h[o] = k << 8 | k >>> 24, y[o] = k, i ? (i = p ^ e[e[e[_ ^ p]]], n ^= e[e[n]]) : i = n = 1 + } + }(); + var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], + l = o.AES = n.extend({ + _doReset: function () { + if (!this._nRounds || this._keyPriorReset !== this._key) { + for (var e = this._keyPriorReset = this._key, r = e.words, i = e.sigBytes / 4, n = this._nRounds = i + 6, o = 4 * (n + 1), c = this._keySchedule = [], s = 0; s < o; s++) + if (s < i) c[s] = r[s]; + else { + var f = c[s - 1]; + s % i ? i > 6 && s % i == 4 && (f = t[f >>> 24] << 24 | t[f >>> 16 & 255] << 16 | t[f >>> 8 & 255] << 8 | t[255 & f]) : (f = f << 8 | f >>> 24, f = t[f >>> 24] << 24 | t[f >>> 16 & 255] << 16 | t[f >>> 8 & 255] << 8 | t[255 & f], f ^= p[s / i | 0] << 24), c[s] = c[s - i] ^ f + } for (var a = this._invKeySchedule = [], d = 0; d < o; d++) { + var s = o - d; + if (d % 4) var f = c[s]; + else var f = c[s - 4]; + d < 4 || s <= 4 ? a[d] = f : a[d] = u[t[f >>> 24]] ^ v[t[f >>> 16 & 255]] ^ h[t[f >>> 8 & 255]] ^ y[t[255 & f]] + } + } + }, + encryptBlock: function (e, r) { + this._doCryptBlock(e, r, this._keySchedule, s, f, a, d, t) + }, + decryptBlock: function (e, r) { + var i = e[r + 1]; + e[r + 1] = e[r + 3], e[r + 3] = i, this._doCryptBlock(e, r, this._invKeySchedule, u, v, h, y, c); + var i = e[r + 1]; + e[r + 1] = e[r + 3], e[r + 3] = i + }, + _doCryptBlock: function (e, r, i, n, o, t, c, s) { + for (var f = this._nRounds, a = e[r] ^ i[0], d = e[r + 1] ^ i[1], u = e[r + 2] ^ i[2], v = e[r + 3] ^ i[3], h = 4, y = 1; y < f; y++) { + var p = n[a >>> 24] ^ o[d >>> 16 & 255] ^ t[u >>> 8 & 255] ^ c[255 & v] ^ i[h++], + l = n[d >>> 24] ^ o[u >>> 16 & 255] ^ t[v >>> 8 & 255] ^ c[255 & a] ^ i[h++], + _ = n[u >>> 24] ^ o[v >>> 16 & 255] ^ t[a >>> 8 & 255] ^ c[255 & d] ^ i[h++], + k = n[v >>> 24] ^ o[a >>> 16 & 255] ^ t[d >>> 8 & 255] ^ c[255 & u] ^ i[h++]; + a = p, d = l, u = _, v = k + } + var p = (s[a >>> 24] << 24 | s[d >>> 16 & 255] << 16 | s[u >>> 8 & 255] << 8 | s[255 & v]) ^ i[h++], + l = (s[d >>> 24] << 24 | s[u >>> 16 & 255] << 16 | s[v >>> 8 & 255] << 8 | s[255 & a]) ^ i[h++], + _ = (s[u >>> 24] << 24 | s[v >>> 16 & 255] << 16 | s[a >>> 8 & 255] << 8 | s[255 & d]) ^ i[h++], + k = (s[v >>> 24] << 24 | s[a >>> 16 & 255] << 16 | s[d >>> 8 & 255] << 8 | s[255 & u]) ^ i[h++]; + e[r] = p, e[r + 1] = l, e[r + 2] = _, e[r + 3] = k + }, + keySize: 8 + }); + r.AES = n._createHelper(l) + }(), e.AES +}); +//# sourceMappingURL=aes.min.js.map +! function (e, n) { + "object" == typeof exports ? module.exports = exports = n(require("./core.min")) : "function" == typeof define && define.amd ? define(["./core.min"], n) : n(e.CryptoJS) +}(this, function (e) { + return e.enc.Utf8 +}); +//# sourceMappingURL=enc-utf8.min.js.map diff --git a/public/es7.js b/public/es7.js new file mode 100644 index 0000000..4c019fb --- /dev/null +++ b/public/es7.js @@ -0,0 +1 @@ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).es7Shim=t()}}(function(){return function(){return function t(e,r,o){function n(s,a){if(!r[s]){if(!e[s]){var p="function"==typeof require&&require;if(!a&&p)return p(s,!0);if(i)return i(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[s]={exports:{}};e[s][0].call(c.exports,function(t){return n(e[s][1][t]||t)},c,c.exports,t,e,r,o)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s1?o.ToInteger(arguments[1]):0;if(s&&!n(t)&&i(e)&&void 0!==t)return s.apply(this,arguments)>-1;var r=o.ToObject(this),a=o.ToLength(r.length);if(0===a)return!1;for(var p=e>=0?e:Math.max(0,a+e);p2?arguments[2]:{},i=o(e);n&&(i=s.call(i,Object.getOwnPropertySymbols(e)));for(var a=0;a1&&"boolean"!=typeof e)throw new TypeError('"allowMissing" argument must be a boolean');var r="$ "+t;if(!(r in p))throw new SyntaxError("intrinsic "+t+" does not exist!");if(void 0===p[r]&&!e)throw new TypeError("intrinsic "+t+" exists, but is not available. Please file an issue!");return p[r]}},{}],20:[function(t,e,r){"use strict";var o=t("has"),n=t("es-to-primitive/es6"),i=t("object-keys"),s=t("./GetIntrinsic"),a=s("%TypeError%"),p=s("%SyntaxError%"),u=s("%Array%"),c=s("%String%"),l=s("%Object%"),f=s("%Number%"),y=s("%Symbol%",!0),b=s("%RegExp%"),d=!!y,h=t("./helpers/assertRecord"),m=t("./helpers/isNaN"),v=t("./helpers/isFinite"),g=f.MAX_SAFE_INTEGER||Math.pow(2,53)-1,w=t("./helpers/assign"),O=t("./helpers/sign"),S=t("./helpers/mod"),P=t("./helpers/isPrimitive"),j=parseInt,A=t("function-bind"),T=A.call(Function.call,u.prototype.slice),x=A.call(Function.call,c.prototype.slice),$=A.call(Function.call,b.prototype.test,/^0b[01]+$/i),I=A.call(Function.call,b.prototype.test,/^0o[0-7]+$/i),E=A.call(Function.call,b.prototype.exec),C=new b("["+["聟","鈥�","锟�"].join("")+"]","g"),F=A.call(Function.call,b.prototype.test,C),D=A.call(Function.call,b.prototype.test,/^[-+]0x[0-9a-f]+$/i),N=A.call(Function.call,c.prototype.charCodeAt),R=A.call(Function.call,Object.prototype.toString),U=A.call(Function.call,s("%NumberPrototype%").valueOf),G=A.call(Function.call,s("%BooleanPrototype%").valueOf),k=A.call(Function.call,s("%StringPrototype%").valueOf),B=A.call(Function.call,s("%DatePrototype%").valueOf),M=Math.floor,V=Math.abs,W=Object.create,q=l.getOwnPropertyDescriptor,K=l.isExtensible,L=l.defineProperty,_=["\t\n\v\f\r 聽釟€釥庘€€鈥佲€傗€�","鈥勨€呪€嗏€団€堚€夆€娾€仧銆€\u2028","\u2029\ufeff"].join(""),H=new RegExp("(^["+_+"]+)|(["+_+"]+$)","g"),J=A.call(Function.call,c.prototype.replace),X=t("./es5"),Y=t("is-regex"),Z=w(w({},X),{Call:function(t,e){var r=arguments.length>2?arguments[2]:[];if(!this.IsCallable(t))throw new a(t+" is not a function");return t.apply(e,r)},ToPrimitive:n,ToNumber:function(t){var e=P(t)?t:n(t,f);if("symbol"==typeof e)throw new a("Cannot convert a Symbol value to a number");if("string"==typeof e){if($(e))return this.ToNumber(j(x(e,2),2));if(I(e))return this.ToNumber(j(x(e,2),8));if(F(e)||D(e))return NaN;var r=function(t){return J(t,H,"")}(e);if(r!==e)return this.ToNumber(r)}return f(e)},ToInt16:function(t){var e=this.ToUint16(t);return e>=32768?e-65536:e},ToInt8:function(t){var e=this.ToUint8(t);return e>=128?e-256:e},ToUint8:function(t){var e=this.ToNumber(t);if(m(e)||0===e||!v(e))return 0;var r=O(e)*M(V(e));return S(r,256)},ToUint8Clamp:function(t){var e=this.ToNumber(t);if(m(e)||e<=0)return 0;if(e>=255)return 255;var r=M(t);return r+.5g?g:e},CanonicalNumericIndexString:function(t){if("[object String]"!==R(t))throw new a("must be a string");if("-0"===t)return-0;var e=this.ToNumber(t);return this.SameValue(this.ToString(e),t)?e:void 0},RequireObjectCoercible:X.CheckObjectCoercible,IsArray:u.isArray||function(t){return"[object Array]"===R(t)},IsConstructor:function(t){return"function"==typeof t&&!!t.prototype},IsExtensible:Object.preventExtensions?function(t){return!P(t)&&K(t)}:function(t){return!0},IsInteger:function(t){if("number"!=typeof t||m(t)||!v(t))return!1;var e=V(t);return M(e)===e},IsPropertyKey:function(t){return"string"==typeof t||"symbol"==typeof t},IsRegExp:function(t){if(!t||"object"!=typeof t)return!1;if(d){var e=t[y.match];if(void 0!==e)return X.ToBoolean(e)}return Y(t)},SameValueZero:function(t,e){return t===e||m(t)&&m(e)},GetV:function(t,e){if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");return this.ToObject(t)[e]},GetMethod:function(t,e){if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var r=this.GetV(t,e);if(null!=r){if(!this.IsCallable(r))throw new a(e+"is not a function");return r}},Get:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");return t[e]},Type:function(t){return"symbol"==typeof t?"Symbol":X.Type(t)},SpeciesConstructor:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");var r=t.constructor;if(void 0===r)return e;if("Object"!==this.Type(r))throw new a("O.constructor is not an Object");var o=d&&y.species?r[y.species]:void 0;if(null==o)return e;if(this.IsConstructor(o))return o;throw new a("no constructor found")},CompletePropertyDescriptor:function(t){return h(this,"Property Descriptor","Desc",t),this.IsGenericDescriptor(t)||this.IsDataDescriptor(t)?(o(t,"[[Value]]")||(t["[[Value]]"]=void 0),o(t,"[[Writable]]")||(t["[[Writable]]"]=!1)):(o(t,"[[Get]]")||(t["[[Get]]"]=void 0),o(t,"[[Set]]")||(t["[[Set]]"]=void 0)),o(t,"[[Enumerable]]")||(t["[[Enumerable]]"]=!1),o(t,"[[Configurable]]")||(t["[[Configurable]]"]=!1),t},Set:function(t,e,r,o){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");if("Boolean"!==this.Type(o))throw new a("Throw must be a Boolean");if(o)return t[e]=r,!0;try{t[e]=r}catch(t){return!1}},HasOwnProperty:function(t,e){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");return o(t,e)},HasProperty:function(t,e){if("Object"!==this.Type(t))throw new a("O must be an Object");if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");return e in t},IsConcatSpreadable:function(t){if("Object"!==this.Type(t))return!1;if(d&&"symbol"==typeof y.isConcatSpreadable){var e=this.Get(t,Symbol.isConcatSpreadable);if(void 0!==e)return this.ToBoolean(e)}return this.IsArray(t)},Invoke:function(t,e){if(!this.IsPropertyKey(e))throw new a("P must be a Property Key");var r=T(arguments,2),o=this.GetV(t,e);return this.Call(o,t,r)},GetIterator:function(t,e){if(!d)throw new SyntaxError("ES.GetIterator depends on native iterator support.");var r=e;arguments.length<2&&(r=this.GetMethod(t,y.iterator));var o=this.Call(r,t);if("Object"!==this.Type(o))throw new a("iterator must return an object");return o},IteratorNext:function(t,e){var r=this.Invoke(t,"next",arguments.length<2?[]:[e]);if("Object"!==this.Type(r))throw new a("iterator next must return an object");return r},IteratorComplete:function(t){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterResult) is not Object");return this.ToBoolean(this.Get(t,"done"))},IteratorValue:function(t){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterResult) is not Object");return this.Get(t,"value")},IteratorStep:function(t){var e=this.IteratorNext(t);return!0!==this.IteratorComplete(e)&&e},IteratorClose:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(iterator) is not Object");if(!this.IsCallable(e))throw new a("Assertion failed: completion is not a thunk for a Completion Record");var r,o=e,n=this.GetMethod(t,"return");if(void 0===n)return o();try{var i=this.Call(n,t,[])}catch(t){throw r=o(),o=null,t}if(r=o(),o=null,"Object"!==this.Type(i))throw new a("iterator .return must return an object");return r},CreateIterResultObject:function(t,e){if("Boolean"!==this.Type(e))throw new a("Assertion failed: Type(done) is not Boolean");return{value:t,done:e}},RegExpExec:function(t,e){if("Object"!==this.Type(t))throw new a("R must be an Object");if("String"!==this.Type(e))throw new a("S must be a String");var r=this.Get(t,"exec");if(this.IsCallable(r)){var o=this.Call(r,t,[e]);if(null===o||"Object"===this.Type(o))return o;throw new a('"exec" method must return `null` or an Object')}return E(t,e)},ArraySpeciesCreate:function(t,e){if(!this.IsInteger(e)||e<0)throw new a("Assertion failed: length must be an integer >= 0");var r,o=0===e?0:e;if(this.IsArray(t)&&(r=this.Get(t,"constructor"),"Object"===this.Type(r)&&d&&y.species&&null===(r=this.Get(r,y.species))&&(r=void 0)),void 0===r)return u(o);if(!this.IsConstructor(r))throw new a("C must be a constructor");return new r(o)},CreateDataProperty:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var o=q(t,e),n=o||"function"!=typeof K||K(t);return!(!(!o||o.writable&&o.configurable)||!n)&&(L(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}),!0)},CreateDataPropertyOrThrow:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var o=this.CreateDataProperty(t,e,r);if(!o)throw new a("unable to create data property");return o},ObjectCreate:function(t,e){if(null!==t&&"Object"!==this.Type(t))throw new a("Assertion failed: proto must be null or an object");if((arguments.length<2?[]:e).length>0)throw new p("es-abstract does not yet support internal slots");if(null===t&&!W)throw new p("native Object.create support is required to create null objects");return W(t)},AdvanceStringIndex:function(t,e,r){if("String"!==this.Type(t))throw new a("S must be a String");if(!this.IsInteger(e)||e<0||e>g)throw new a("Assertion failed: length must be an integer >= 0 and <= 2**53");if("Boolean"!==this.Type(r))throw new a("Assertion failed: unicode must be a Boolean");if(!r)return e+1;if(e+1>=t.length)return e+1;var o=N(t,e);if(o<55296||o>56319)return e+1;var n=N(t,e+1);return n<56320||n>57343?e+1:e+2},CreateMethodProperty:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");return!!L(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0})},DefinePropertyOrThrow:function(t,e,r){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");return!!L(t,e,r)},DeletePropertyOrThrow:function(t,e){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(e))throw new a("Assertion failed: IsPropertyKey(P) is not true");var r=delete t[e];if(!r)throw new TypeError("Attempt to delete property failed.");return r},EnumerableOwnNames:function(t){if("Object"!==this.Type(t))throw new a("Assertion failed: Type(O) is not Object");return i(t)},thisNumberValue:function(t){return"Number"===this.Type(t)?t:U(t)},thisBooleanValue:function(t){return"Boolean"===this.Type(t)?t:G(t)},thisStringValue:function(t){return"String"===this.Type(t)?t:k(t)},thisTimeValue:function(t){return B(t)}});delete Z.CheckObjectCoercible,e.exports=Z},{"./GetIntrinsic":19,"./es5":22,"./helpers/assertRecord":25,"./helpers/assign":26,"./helpers/isFinite":27,"./helpers/isNaN":28,"./helpers/isPrimitive":29,"./helpers/mod":30,"./helpers/sign":31,"es-to-primitive/es6":34,"function-bind":37,has:40,"is-regex":43,"object-keys":45}],21:[function(t,e,r){"use strict";var o=t("./es2015"),n=t("./helpers/assign"),i=n(n({},o),{SameValueNonNumber:function(t,e){if("number"==typeof t||typeof t!=typeof e)throw new TypeError("SameValueNonNumber requires two non-number values of the same type.");return this.SameValue(t,e)}});e.exports=i},{"./es2015":20,"./helpers/assign":26}],22:[function(t,e,r){"use strict";var o=t("./GetIntrinsic"),n=o("%Object%"),i=o("%TypeError%"),s=o("%String%"),a=t("./helpers/assertRecord"),p=t("./helpers/isNaN"),u=t("./helpers/isFinite"),c=t("./helpers/sign"),l=t("./helpers/mod"),f=t("is-callable"),y=t("es-to-primitive/es5"),b=t("has"),d={ToPrimitive:y,ToBoolean:function(t){return!!t},ToNumber:function(t){return+t},ToInteger:function(t){var e=this.ToNumber(t);return p(e)?0:0!==e&&u(e)?c(e)*Math.floor(Math.abs(e)):e},ToInt32:function(t){return this.ToNumber(t)>>0},ToUint32:function(t){return this.ToNumber(t)>>>0},ToUint16:function(t){var e=this.ToNumber(t);if(p(e)||0===e||!u(e))return 0;var r=c(e)*Math.floor(Math.abs(e));return l(r,65536)},ToString:function(t){return s(t)},ToObject:function(t){return this.CheckObjectCoercible(t),n(t)},CheckObjectCoercible:function(t,e){if(null==t)throw new i(e||"Cannot call method on "+t);return t},IsCallable:f,SameValue:function(t,e){return t===e?0!==t||1/t==1/e:p(t)&&p(e)},Type:function(t){return null===t?"Null":void 0===t?"Undefined":"function"==typeof t||"object"==typeof t?"Object":"number"==typeof t?"Number":"boolean"==typeof t?"Boolean":"string"==typeof t?"String":void 0},IsPropertyDescriptor:function(t){if("Object"!==this.Type(t))return!1;var e={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var r in t)if(b(t,r)&&!e[r])return!1;var o=b(t,"[[Value]]"),n=b(t,"[[Get]]")||b(t,"[[Set]]");if(o&&n)throw new i("Property Descriptors may not be both accessor and data descriptors");return!0},IsAccessorDescriptor:function(t){return void 0!==t&&(a(this,"Property Descriptor","Desc",t),!(!b(t,"[[Get]]")&&!b(t,"[[Set]]")))},IsDataDescriptor:function(t){return void 0!==t&&(a(this,"Property Descriptor","Desc",t),!(!b(t,"[[Value]]")&&!b(t,"[[Writable]]")))},IsGenericDescriptor:function(t){return void 0!==t&&(a(this,"Property Descriptor","Desc",t),!this.IsAccessorDescriptor(t)&&!this.IsDataDescriptor(t))},FromPropertyDescriptor:function(t){if(void 0===t)return t;if(a(this,"Property Descriptor","Desc",t),this.IsDataDescriptor(t))return{value:t["[[Value]]"],writable:!!t["[[Writable]]"],enumerable:!!t["[[Enumerable]]"],configurable:!!t["[[Configurable]]"]};if(this.IsAccessorDescriptor(t))return{get:t["[[Get]]"],set:t["[[Set]]"],enumerable:!!t["[[Enumerable]]"],configurable:!!t["[[Configurable]]"]};throw new i("FromPropertyDescriptor must be called with a fully populated Property Descriptor")},ToPropertyDescriptor:function(t){if("Object"!==this.Type(t))throw new i("ToPropertyDescriptor requires an object");var e={};if(b(t,"enumerable")&&(e["[[Enumerable]]"]=this.ToBoolean(t.enumerable)),b(t,"configurable")&&(e["[[Configurable]]"]=this.ToBoolean(t.configurable)),b(t,"value")&&(e["[[Value]]"]=t.value),b(t,"writable")&&(e["[[Writable]]"]=this.ToBoolean(t.writable)),b(t,"get")){var r=t.get;if(void 0!==r&&!this.IsCallable(r))throw new TypeError("getter must be a function");e["[[Get]]"]=r}if(b(t,"set")){var o=t.set;if(void 0!==o&&!this.IsCallable(o))throw new i("setter must be a function");e["[[Set]]"]=o}if((b(e,"[[Get]]")||b(e,"[[Set]]"))&&(b(e,"[[Value]]")||b(e,"[[Writable]]")))throw new i("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return e}};e.exports=d},{"./GetIntrinsic":19,"./helpers/assertRecord":25,"./helpers/isFinite":27,"./helpers/isNaN":28,"./helpers/mod":30,"./helpers/sign":31,"es-to-primitive/es5":33,has:40,"is-callable":41}],23:[function(t,e,r){"use strict";e.exports=t("./es2015")},{"./es2015":20}],24:[function(t,e,r){"use strict";e.exports=t("./es2016")},{"./es2016":21}],25:[function(t,e,r){"use strict";var o=t("../GetIntrinsic"),n=o("%TypeError%"),i=o("%SyntaxError%"),s=t("has"),a={"Property Descriptor":function(t,e){if("Object"!==t.Type(e))return!1;var r={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var o in e)if(s(e,o)&&!r[o])return!1;var i=s(e,"[[Value]]"),a=s(e,"[[Get]]")||s(e,"[[Set]]");if(i&&a)throw new n("Property Descriptors may not be both accessor and data descriptors");return!0}};e.exports=function(t,e,r,o){var s=a[e];if("function"!=typeof s)throw new i("unknown record type: "+e);if(!s(t,o))throw new n(r+" must be a "+e);console.log(s(t,o),o)}},{"../GetIntrinsic":19,has:40}],26:[function(t,e,r){var o=t("function-bind").call(Function.call,Object.prototype.hasOwnProperty),n=Object.assign;e.exports=function(t,e){if(n)return n(t,e);for(var r in e)o(e,r)&&(t[r]=e[r]);return t}},{"function-bind":37}],27:[function(t,e,r){var o=Number.isNaN||function(t){return t!=t};e.exports=Number.isFinite||function(t){return"number"==typeof t&&!o(t)&&t!==1/0&&t!==-1/0}},{}],28:[function(t,e,r){e.exports=Number.isNaN||function(t){return t!=t}},{}],29:[function(t,e,r){e.exports=function(t){return null===t||"function"!=typeof t&&"object"!=typeof t}},{}],30:[function(t,e,r){e.exports=function(t,e){var r=t%e;return Math.floor(r>=0?r:r+e)}},{}],31:[function(t,e,r){e.exports=function(t){return t>=0?1:-1}},{}],32:[function(t,e,r){"use strict";var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,n=t("./helpers/isPrimitive"),i=t("is-callable"),s=t("is-date-object"),a=t("is-symbol");e.exports=function(t){if(n(t))return t;var e,r="default";if(arguments.length>1&&(arguments[1]===String?r="string":arguments[1]===Number&&(r="number")),o&&(Symbol.toPrimitive?e=function(t,e){var r=t[e];if(null!=r){if(!i(r))throw new TypeError(r+" returned for property "+e+" of object "+t+" is not a function");return r}}(t,Symbol.toPrimitive):a(t)&&(e=Symbol.prototype.valueOf)),void 0!==e){var p=e.call(t,r);if(n(p))return p;throw new TypeError("unable to convert exotic object to primitive")}return"default"===r&&(s(t)||a(t))&&(r="string"),function(t,e){if(null==t)throw new TypeError("Cannot call method on "+t);if("string"!=typeof e||"number"!==e&&"string"!==e)throw new TypeError('hint must be "string" or "number"');var r,o,s,a="string"===e?["toString","valueOf"]:["valueOf","toString"];for(s=0;s1?arguments[1]:"[object Date]"===o.call(t)?String:Number)===String||e===Number){var r,s,a=e===String?["toString","valueOf"]:["valueOf","toString"];for(s=0;s1?s(t,arguments[1]):s(t)}},{"./helpers/isPrimitive":35,"is-callable":41}],34:[function(t,e,r){arguments[4][23][0].apply(r,arguments)},{"./es2015":32,dup:23}],35:[function(t,e,r){arguments[4][29][0].apply(r,arguments)},{dup:29}],36:[function(t,e,r){"use strict";var o=Array.prototype.slice,n=Object.prototype.toString;e.exports=function(t){var e=this;if("function"!=typeof e||"[object Function]"!==n.call(e))throw new TypeError("Function.prototype.bind called on incompatible "+e);for(var r,i=o.call(arguments,1),s=Math.max(0,e.length-i.length),a=[],p=0;p0&&!o.call(t,0))for(var d=0;d0)for(var h=0;h=0&&"[object Function]"===o.call(t.callee)),r}},{}],47:[function(t,e,r){"use strict";var o=t("es-abstract/es7"),n=t("has"),i=t("function-bind").call(Function.call,Object.prototype.propertyIsEnumerable);e.exports=function(t){var e=o.RequireObjectCoercible(t),r=[];for(var s in e)n(e,s)&&i(e,s)&&r.push([s,e[s]]);return r}},{"es-abstract/es7":24,"function-bind":37,has:40}],48:[function(t,e,r){"use strict";var o=t("define-properties"),n=t("./implementation"),i=t("./polyfill"),s=t("./shim"),a=i();o(a,{getPolyfill:i,implementation:n,shim:s}),e.exports=a},{"./implementation":47,"./polyfill":49,"./shim":50,"define-properties":18}],49:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){return"function"==typeof Object.entries?Object.entries:o}},{"./implementation":47}],50:[function(t,e,r){"use strict";var o=t("./polyfill"),n=t("define-properties");e.exports=function(){var t=o();return n(Object,{entries:t},{entries:function(){return Object.entries!==t}}),t}},{"./polyfill":49,"define-properties":18}],51:[function(t,e,r){"use strict";var o=t("es-abstract/es7"),n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,p=Function.call.bind(Array.prototype.concat),u=Function.call.bind(Array.prototype.reduce),c=a?function(t){return p(s(t),a(t))}:s,l=o.IsCallable(i)&&o.IsCallable(s);e.exports=function(t){if(o.RequireObjectCoercible(t),!l)throw new TypeError("getOwnPropertyDescriptors requires Object.getOwnPropertyDescriptor");var e=o.ToObject(t);return u(c(e),function(t,r){var o,s,a,p=i(e,r);return void 0!==p&&(o=t,s=r,a=p,n&&s in o?n(o,s,{configurable:!0,enumerable:!0,value:a,writable:!0}):o[s]=a),t},{})}},{"es-abstract/es7":24}],52:[function(t,e,r){"use strict";var o=t("define-properties"),n=t("./implementation");o(n,{getPolyfill:t("./polyfill"),implementation:n,shim:t("./shim")}),e.exports=n},{"./implementation":51,"./polyfill":53,"./shim":54,"define-properties":18}],53:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){return"function"==typeof Object.getOwnPropertyDescriptors?Object.getOwnPropertyDescriptors:o}},{"./implementation":51}],54:[function(t,e,r){"use strict";var o=t("./polyfill"),n=t("define-properties");e.exports=function(){var t=o();return n(Object,{getOwnPropertyDescriptors:t},{getOwnPropertyDescriptors:function(){return Object.getOwnPropertyDescriptors!==t}}),t}},{"./polyfill":53,"define-properties":18}],55:[function(t,e,r){"use strict";var o=t("es-abstract/es7"),n=t("has"),i=t("function-bind").call(Function.call,Object.prototype.propertyIsEnumerable);e.exports=function(t){var e=o.RequireObjectCoercible(t),r=[];for(var s in e)n(e,s)&&i(e,s)&&r.push(e[s]);return r}},{"es-abstract/es7":24,"function-bind":37,has:40}],56:[function(t,e,r){arguments[4][48][0].apply(r,arguments)},{"./implementation":55,"./polyfill":57,"./shim":58,"define-properties":18,dup:48}],57:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){return"function"==typeof Object.values?Object.values:o}},{"./implementation":55}],58:[function(t,e,r){"use strict";var o=t("./polyfill"),n=t("define-properties");e.exports=function(){var t=o();return n(Object,{values:t},{values:function(){return Object.values!==t}}),t}},{"./polyfill":57,"define-properties":18}],59:[function(t,e,r){"use strict";var o=t("define-properties"),n=t("es-abstract/es7"),i=t("function-bind"),s=function(t){n.RequireObjectCoercible(this);var e=n.ToObject(this),r=n.ToString(e),o=n.ToInteger(t),i=r.length;if(o<0||o>=i)return"";var s,a=r.charCodeAt(o),p=o+1,u=1;return a>=55296&&a<=56319&&i>p&&(s=r.charCodeAt(p))>=56320&&s<=57343&&(u=2),r.slice(o,o+u)},a=i.call(Function.call,s);o(a,{method:s,shim:function(){return o(String.prototype,{at:s}),String.prototype.at}}),e.exports=a},{"define-properties":18,"es-abstract/es7":24,"function-bind":37}],60:[function(t,e,r){"use strict";var o=t("function-bind"),n=t("es-abstract/es7"),i=o.call(Function.call,String.prototype.slice);e.exports=function(t){var e,r=n.RequireObjectCoercible(this),o=n.ToString(r),s=n.ToLength(o.length);arguments.length>1&&(e=arguments[1]);var a=void 0===e?"":n.ToString(e);""===a&&(a=" ");var p=n.ToLength(t);if(p<=s)return o;for(var u=p-s;a.lengthl?i(a,0,l):a}return o+(a.length>u?i(a,0,u):a)}},{"es-abstract/es7":24,"function-bind":37}],61:[function(t,e,r){"use strict";var o=t("function-bind"),n=t("define-properties"),i=t("es-abstract/es7"),s=t("./implementation"),a=t("./polyfill"),p=t("./shim"),u=o.call(Function.apply,s),c=function(t,e){i.RequireObjectCoercible(t);var r=[e];return arguments.length>2&&r.push(arguments[2]),u(t,r)};n(c,{getPolyfill:a,implementation:s,shim:p}),e.exports=c},{"./implementation":60,"./polyfill":62,"./shim":63,"define-properties":18,"es-abstract/es7":24,"function-bind":37}],62:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){return"function"==typeof String.prototype.padEnd?String.prototype.padEnd:o}},{"./implementation":60}],63:[function(t,e,r){"use strict";var o=t("./polyfill"),n=t("define-properties");e.exports=function(){var t=o();return n(String.prototype,{padEnd:t},{padEnd:function(){return String.prototype.padEnd!==t}}),t}},{"./polyfill":62,"define-properties":18}],64:[function(t,e,r){"use strict";var o=t("function-bind"),n=t("es-abstract/es7"),i=o.call(Function.call,String.prototype.slice);e.exports=function(t){var e,r=n.RequireObjectCoercible(this),o=n.ToString(r),s=n.ToLength(o.length);arguments.length>1&&(e=arguments[1]);var a=void 0===e?"":n.ToString(e);""===a&&(a=" ");var p=n.ToLength(t);if(p<=s)return o;for(var u=p-s;a.lengthl?i(a,0,l):a}return(a.length>u?i(a,0,u):a)+o}},{"es-abstract/es7":24,"function-bind":37}],65:[function(t,e,r){"use strict";var o=t("function-bind"),n=t("define-properties"),i=t("es-abstract/es7"),s=t("./implementation"),a=t("./polyfill"),p=t("./shim"),u=o.call(Function.apply,s),c=function(t,e){i.RequireObjectCoercible(t);var r=[e];return arguments.length>2&&r.push(arguments[2]),u(t,r)};n(c,{getPolyfill:a,implementation:s,shim:p}),e.exports=c},{"./implementation":64,"./polyfill":66,"./shim":67,"define-properties":18,"es-abstract/es7":24,"function-bind":37}],66:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){return"function"==typeof String.prototype.padStart?String.prototype.padStart:o}},{"./implementation":64}],67:[function(t,e,r){"use strict";var o=t("./polyfill"),n=t("define-properties");e.exports=function(){var t=o();return n(String.prototype,{padStart:t},{padStart:function(){return String.prototype.padStart!==t}}),t}},{"./polyfill":66,"define-properties":18}],68:[function(t,e,r){"use strict";var o=t("function-bind").call(Function.call,String.prototype.replace),n=/^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]*/;e.exports=function(){return o(this,n,"")}},{"function-bind":37}],69:[function(t,e,r){"use strict";var o=t("function-bind"),n=t("define-properties"),i=t("./implementation"),s=t("./polyfill"),a=t("./shim"),p=o.call(Function.call,s());n(p,{getPolyfill:s,implementation:i,shim:a}),e.exports=p},{"./implementation":68,"./polyfill":70,"./shim":71,"define-properties":18,"function-bind":37}],70:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){if(!String.prototype.trimLeft)return o;return"鈥�"!=="鈥�".trimLeft()?o:String.prototype.trimLeft}},{"./implementation":68}],71:[function(t,e,r){"use strict";var o=t("define-properties"),n=t("./polyfill");e.exports=function(){var t=n();return o(String.prototype,{trimLeft:t},{trimLeft:function(){return String.prototype.trimLeft!==t}}),t}},{"./polyfill":70,"define-properties":18}],72:[function(t,e,r){"use strict";var o=t("function-bind").call(Function.call,String.prototype.replace),n=/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]*$/;e.exports=function(){return o(this,n,"")}},{"function-bind":37}],73:[function(t,e,r){arguments[4][69][0].apply(r,arguments)},{"./implementation":72,"./polyfill":74,"./shim":75,"define-properties":18,dup:69,"function-bind":37}],74:[function(t,e,r){"use strict";var o=t("./implementation");e.exports=function(){if(!String.prototype.trimRight)return o;return"鈥�"!=="鈥�".trimRight()?o:String.prototype.trimRight}},{"./implementation":72}],75:[function(t,e,r){"use strict";var o=t("define-properties"),n=t("./polyfill");e.exports=function(){var t=n();return o(String.prototype,{trimRight:t},{trimRight:function(){return String.prototype.trimRight!==t}}),t}},{"./polyfill":74,"define-properties":18}]},{},[13])(13)}); \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5165196 --- /dev/null +++ b/public/index.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/polyfill.js b/public/polyfill.js new file mode 100644 index 0000000..b7f92c5 --- /dev/null +++ b/public/polyfill.js @@ -0,0 +1,3 @@ +/* Disable minification (remove `.min` from URL path) for more info */ + +(function(undefined) {!function(e){"use strict";function t(t){return!!t&&("Symbol"in e&&"iterator"in e.Symbol&&"function"==typeof t[Symbol.iterator]||!!Array.isArray(t))}function n(e){return"from"in Array?Array.from(e):Array.prototype.slice.call(e)}!function(){function r(e){var t="",n=!0;return e.forEach(function(e){var r=encodeURIComponent(e.name),a=encodeURIComponent(e.value);n||(t+="&"),t+=r+"="+a,n=!1}),t.replace(/%20/g,"+")}function a(e,t){var n=e.split("&");t&&-1===n[0].indexOf("=")&&(n[0]="="+n[0]);var r=[];n.forEach(function(e){if(0!==e.length){var t=e.indexOf("=");if(-1!==t)var n=e.substring(0,t),a=e.substring(t+1);else n=e,a="";n=n.replace(/\+/g," "),a=a.replace(/\+/g," "),r.push({name:n,value:a})}});var a=[];return r.forEach(function(e){a.push({name:decodeURIComponent(e.name),value:decodeURIComponent(e.value)})}),a}function i(e){if(c)return new s(e);var t=document.createElement("a");return t.href=e,t}function o(e){var i=this;this._list=[],e===undefined||null===e||(e instanceof o?this._list=a(String(e)):"object"==typeof e&&t(e)?n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();i._list.push({name:String(r[0]),value:String(r[1])})}):"object"==typeof e&&e?Object.keys(e).forEach(function(t){i._list.push({name:String(t),value:String(e[t])})}):(e=String(e),"?"===e.substring(0,1)&&(e=e.substring(1)),this._list=a(e))),this._url_object=null,this._setList=function(e){u||(i._list=e)};var u=!1;this._update_steps=function(){u||(u=!0,i._url_object&&("about:"===i._url_object.protocol&&-1!==i._url_object.pathname.indexOf("?")&&(i._url_object.pathname=i._url_object.pathname.split("?")[0]),i._url_object.search=r(i._list),u=!1))}}function u(e,t){var n=0;this.next=function(){if(n>=e.length)return{done:!0,value:undefined};var r=e[n++];return{done:!1,value:"key"===t?r.name:"value"===t?r.value:[r.name,r.value]}}}function l(t,n){function r(){var e=l.href.replace(/#$|\?$|\?(?=#)/g,"");l.href!==e&&(l.href=e)}function u(){m._setList(l.search?a(l.search.substring(1)):[]),m._update_steps()}if(!(this instanceof e.URL))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator.");n&&(t=function(){if(c)return new s(t,n).href;var e;try{var r;if("[object OperaMini]"===Object.prototype.toString.call(window.operamini)?(e=document.createElement("iframe"),e.style.display="none",document.documentElement.appendChild(e),r=e.contentWindow.document):document.implementation&&document.implementation.createHTMLDocument?r=document.implementation.createHTMLDocument(""):document.implementation&&document.implementation.createDocument?(r=document.implementation.createDocument("http://www.w3.org/1999/xhtml","html",null),r.documentElement.appendChild(r.createElement("head")),r.documentElement.appendChild(r.createElement("body"))):window.ActiveXObject&&(r=new window.ActiveXObject("htmlfile"),r.write(""),r.close()),!r)throw Error("base not supported");var a=r.createElement("base");a.href=n,r.getElementsByTagName("head")[0].appendChild(a);var i=r.createElement("a");return i.href=t,i.href}finally{e&&e.parentNode.removeChild(e)}}());var l=i(t||""),f=function(){if(!("defineProperties"in Object))return!1;try{var e={};return Object.defineProperties(e,{prop:{get:function(){return!0}}}),e.prop}catch(t){return!1}}(),h=f?this:document.createElement("a"),m=new o(l.search?l.search.substring(1):null);return m._url_object=h,Object.defineProperties(h,{href:{get:function(){return l.href},set:function(e){l.href=e,r(),u()},enumerable:!0,configurable:!0},origin:{get:function(){return"origin"in l?l.origin:this.protocol+"//"+this.host},enumerable:!0,configurable:!0},protocol:{get:function(){return l.protocol},set:function(e){l.protocol=e},enumerable:!0,configurable:!0},username:{get:function(){return l.username},set:function(e){l.username=e},enumerable:!0,configurable:!0},password:{get:function(){return l.password},set:function(e){l.password=e},enumerable:!0,configurable:!0},host:{get:function(){var e={"http:":/:80$/,"https:":/:443$/,"ftp:":/:21$/}[l.protocol];return e?l.host.replace(e,""):l.host},set:function(e){l.host=e},enumerable:!0,configurable:!0},hostname:{get:function(){return l.hostname},set:function(e){l.hostname=e},enumerable:!0,configurable:!0},port:{get:function(){return l.port},set:function(e){l.port=e},enumerable:!0,configurable:!0},pathname:{get:function(){return"/"!==l.pathname.charAt(0)?"/"+l.pathname:l.pathname},set:function(e){l.pathname=e},enumerable:!0,configurable:!0},search:{get:function(){return l.search},set:function(e){l.search!==e&&(l.search=e,r(),u())},enumerable:!0,configurable:!0},searchParams:{get:function(){return m},enumerable:!0,configurable:!0},hash:{get:function(){return l.hash},set:function(e){l.hash=e,r()},enumerable:!0,configurable:!0},toString:{value:function(){return l.toString()},enumerable:!1,configurable:!0},valueOf:{value:function(){return l.valueOf()},enumerable:!1,configurable:!0}}),h}var c,s=e.URL;try{if(s){if("searchParams"in(c=new e.URL("http://example.com")))return;"href"in c||(c=undefined)}}catch(h){}if(Object.defineProperties(o.prototype,{append:{value:function(e,t){this._list.push({name:e,value:t}),this._update_steps()},writable:!0,enumerable:!0,configurable:!0},"delete":{value:function(e){for(var t=0;t1?arguments[1]:undefined;this._list.forEach(function(n,r){e.call(t,n.value,n.name)})},writable:!0,enumerable:!0,configurable:!0},toString:{value:function(){return r(this._list)},writable:!0,enumerable:!1,configurable:!0}}),"Symbol"in e&&"iterator"in e.Symbol&&(Object.defineProperty(o.prototype,e.Symbol.iterator,{value:o.prototype.entries,writable:!0,enumerable:!0,configurable:!0}),Object.defineProperty(u.prototype,e.Symbol.iterator,{value:function(){return this},writable:!0,enumerable:!0,configurable:!0})),s)for(var f in s)s.hasOwnProperty(f)&&"function"==typeof s[f]&&(l[f]=s[f]);e.URL=l,e.URLSearchParams=o}(),function(){if("1"!==new e.URLSearchParams([["a",1]]).get("a")||"1"!==new e.URLSearchParams({a:1}).get("a")){var r=e.URLSearchParams;e.URLSearchParams=function(e){if(e&&"object"==typeof e&&t(e)){var a=new r;return n(e).forEach(function(e){if(!t(e))throw TypeError();var r=n(e);if(2!==r.length)throw TypeError();a.append(r[0],r[1])}),a}return e&&"object"==typeof e?(a=new r,Object.keys(e).forEach(function(t){a.set(t,e[t])}),a):new r(e)}}}()}(self);}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {}); \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..04e1a26 --- /dev/null +++ b/src/App.js @@ -0,0 +1,14 @@ +import { HashRouter, Switch, Route } from "react-router-dom"; +import Index from "./pages/Index/Index"; +import "./App.scss"; +function App() { + return ( + + + + + + ); +} + +export default App; diff --git a/src/App.scss b/src/App.scss new file mode 100644 index 0000000..59a401f --- /dev/null +++ b/src/App.scss @@ -0,0 +1,17 @@ +.toast { + .weui-icon_toast { + display: none; + } + .weui-toast { + display: inline-block; + width: auto; + min-height: auto; + margin: auto; + padding: 16px; + transform-origin: center; + transform: translateX(-50%); + .weui-toast__content { + margin: 0; + } + } +} diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..1f03afe --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/src/components/DefaultPopup/DefaultPopup.js b/src/components/DefaultPopup/DefaultPopup.js new file mode 100644 index 0000000..f2e481b --- /dev/null +++ b/src/components/DefaultPopup/DefaultPopup.js @@ -0,0 +1,211 @@ +import "./style.scss"; +import React, { useState, useEffect } from "react"; + +import search from "./search.png"; +import close from "./close.png"; +import go from "./go.png"; +import arrow from "./arrow.png"; +import ShopsWithFilter from "../ShopsWithFilter/ShopsWithFilter"; +const STATES = { + init: 0, + moreFac: 1, + facList: 2, +}; +export const DefaultPopupStates = STATES; +const initMarginBottom = 47; +const DefaultPopup = ({ + state, + setState, + onSearch, + facilities, + onClickFac, + mall, + onClick, + setEnd, + hasTab, + blurMap = () => {}, +}) => { + const marginBottomStateMap = { + 0: 47, + 1: hasTab + ? window.innerHeight - 52 - 179 - 98 + : window.innerHeight - 52 - 179, + }; + const baseMarginBottom = marginBottomStateMap[state]; + const [facList, setFacList] = useState(null); + const [focused, setFocused] = useState(null); + const [start, setStart] = useState(null); + const [marginBottom, setMarginBottom] = useState(null); + const [doTransition, setdoTransition] = useState(false); + useEffect(() => { + setdoTransition(true); + setMarginBottom(baseMarginBottom); + setTimeout(() => { + setdoTransition(false); + }, 500); + }, [state]); + const handleTouchStart = (e) => { + if (start) return; + setStart({ + identifier: e.changedTouches[0].identifier, + y: e.changedTouches[0].clientY, + }); + }; + const handleTouchMove = (e) => { + if (!start) return; + const touch = Array.from(e.changedTouches).find( + ({ identifier }) => identifier === start.identifier + ); + if (!touch) return; + const delta = touch.clientY - start.y; + setMarginBottom(baseMarginBottom - delta); + }; + const handleTouchEnd = (e) => { + if (!start) return; + const touch = Array.from(e.changedTouches).find( + ({ identifier }) => identifier === start.identifier + ); + if (!touch) return; + setStart(null); + const delta = touch.clientY - start.y; + const newState = + state === STATES.init && delta < -100 + ? STATES.moreFac + : state === STATES.moreFac && delta > 100 + ? STATES.init + : state; + + if (state === newState) { + setdoTransition(true); + setMarginBottom(baseMarginBottom); + setTimeout(() => { + setdoTransition(false); + }, 500); + } else setState(newState); + }; + + return ( + <> + {state === STATES.init || state === STATES.moreFac ? ( +
+
+ setState(state === STATES.moreFac ? STATES.init : STATES.moreFac) + } + > + +
+ +
+ +
+ 搜索店铺 +
+
+ {Object.entries(facilities).map(([name, list]) => ( +
{ + list.sort((a, b) => a.floorOrder - b.floorOrder); + setFacList(list); + setState(STATES.facList); + }} + > + + {name} +
+ ))} +
+
+ ) : ( + <> + { + e.preventDefault(); + e.stopPropagation(); + setState(STATES.init); + setFacList(null); + blurMap(); + }} + > +
+ {facList && + facList.map((fac, i) => { + const showRow1 = + i === 0 || fac.floorName !== facList[i - 1].floorName; + const isActive = focused === fac.id; + return ( +
+ {showRow1 && ( +
+ {fac.floorName} +
+ )} +
{ + setFocused(fac.id); + onClickFac(fac.id); + }} + > + {fac.name} + {fac.floorName} + {isActive && ( +
{ + e.stopPropagation(); + setState(STATES.init); + onClickFac(fac.id); + }} + > + GO +
+ )} +
+
+ ); + })} +
+ + )} + {state !== STATES.facList && ( +
{ + setState(STATES.moreFac); + }} + > + { + setState(STATES.init); + onClick(e); + }} + wingHeight="calc(100vh - 400px)" + > +
+ )} + + ); +}; +export default DefaultPopup; diff --git a/src/components/DefaultPopup/arrow.png b/src/components/DefaultPopup/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1fa2914ac0ee5e461d2d7e23a0f0f0505cc682 GIT binary patch literal 526 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 Uc1G+8y#N3J07*qoM6N<$f<`6aGynhq literal 0 HcmV?d00001 diff --git a/src/components/DefaultPopup/style.scss b/src/components/DefaultPopup/style.scss new file mode 100644 index 0000000..7ca3348 --- /dev/null +++ b/src/components/DefaultPopup/style.scss @@ -0,0 +1,230 @@ +.dp { + position: relative; + width: calc(100vw - 20px); + margin-left: 10px; + height: 179px; + border-top-left-radius: 24px; + border-top-right-radius: 24px; + text-align: center; + position: relative; + padding: 14px 0 0 0; + background: #ffffff; + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + border-radius: 18px; + &::before { + position: absolute; + content: ""; + top: 0; + left: -10px; + right: -10px; + height: 236px; + background: linear-gradient( + 180deg, + rgba(243, 244, 248, 0) 0%, + #f3f4f8 41.53%, + #f3f4f8 100% + ); + z-index: -1; + } + &::after { + position: absolute; + content: ""; + left: -10px; + right: -10px; + top: 236px; + height: calc(100vh - 52px - 236px); + background: #f3f4f8; + z-index: -1; + } + &.more-fac { + .t1, + .t2 { + transform: rotate(180deg); + } + .facs { + max-height: 333px; + overflow-y: scroll; + } + } + .ts { + position: absolute; + margin: auto; + left: 0; + right: 0; + top: 0; + width: 24px; + height: 24px; + .t1 { + position: absolute; + margin: auto; + left: 0; + right: 0; + top: 3px; + width: 33px; + height: 7px; + border-radius: 5px; + } + } + + .search { + position: relative; + display: flex; + align-items: center; + margin: 0 14px; + height: 60px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 16px; + color: #323337; + text-align: left; + background: #f3f4f8; + border: 1px solid #edeff3; + box-sizing: border-box; + border-radius: 10px; + padding-left: 14px; + .icon { + width: 24px; + height: 24px; + } + .sep { + width: 1px; + height: 16px; + background: #c9cbd1; + margin: 0 14px; + } + } + + .facs { + display: inline-flex; + align-items: flex-start; + overflow-x: auto; + overflow-y: hidden; + width: 100%; + white-space: nowrap; + margin-top: 20px; + padding-left: 20px; + height: 75px; + .fac { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 65px; + margin-right: 20px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 11px; + line-height: 15px; + text-align: center; + color: #474a56; + img { + display: block; + width: 44px; + height: 44px; + } + } + } +} +.close { + position: absolute; + top: 16px; + right: 26px; + width: 24px; + height: 24px; + z-index: 10; +} +.dp1 { + position: relative; + margin: 0 10px 26px 10px; + height: 326px; + border-radius: 18px; + background: #ffffff; + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + text-align: center; + padding: 14px; + overflow-x: hidden; + overflow-y: auto; + .row1, + .row2 { + text-align: left; + line-height: 48px; + height: 48px; + } + .row1 { + font-family: DINPro; + font-style: normal; + font-weight: bold; + font-size: 24px; + line-height: 48px; + height: 48px; + color: #323337; + padding: 0 16px; + &.has-border { + position: relative; + padding-top: 24px; + height: 72px; + &::after { + position: absolute; + content: ""; + top: 12px; + left: 0; + right: 0; + border-top: 1px dashed #edeff3; + } + } + } + .row2 { + display: flex; + position: relative; + padding-left: 16px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 16px; + color: #323337; + background: #f9f9fb; + border-radius: 12px; + &.has-margin { + margin-top: 4px; + } + &.active { + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + color: #ffffff; + border-radius: 12px; + .meta { + color: #ffffff; + } + } + .meta { + margin-left: 16px; + font-family: DINPro; + font-style: normal; + font-weight: normal; + font-size: 17px; + color: #a1a5b3; + } + .go { + position: absolute; + top: 8px; + right: 8px; + width: 96px; + height: 32px; + background: #ffffff; + box-shadow: 0px 2px 6px rgba(93, 172, 249, 0.2); + border-radius: 8px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 32px; + text-align: center; + color: #437af7; + } + } +} +.sf { + position: absolute; + top: 177px; + left: 0; +} diff --git a/src/components/Floors/Floors.js b/src/components/Floors/Floors.js new file mode 100644 index 0000000..4a8a77e --- /dev/null +++ b/src/components/Floors/Floors.js @@ -0,0 +1,78 @@ +import React, { useState, useEffect } from "react"; +import "./Floors.scss"; +import up from "./up.png"; +import loc from "./loc.png"; +export const upUrl = up; +const Floors = ({ + clickable, + floors, + sceneIndex, + setSceneIndex, + onClickFloor, + popupHeight, + showNav, + isNavEnd, + end, + hasCoupon, +}) => { + const [list, setList] = useState([]); + useEffect(() => { + setList( + floors + .map(([modelUrl, floor], i) => ({ + name: floor, + index: i, + modelUrl, + ref: React.createRef(), + })) + .filter(({ modelUrl }) => modelUrl !== null) + .reverse() + ); + }, [floors]); + + useEffect(() => { + const selected = list.find(({ index }) => sceneIndex === index); + if (selected && selected.ref.current) + selected.ref.current.scrollIntoView({ + block: "center", + }); + }); + + return !showNav ? ( +
+
    + {list.map(({ name, index, ref }) => ( +
  • { + if (!clickable) return false; + setSceneIndex(index); + onClickFloor(index); + }} + > + {name} +
  • + ))} +
+ 上箭头 + 下箭头 +
+ ) : ( +
+
+
{floors[sceneIndex][1]}
+
+ ); +}; + +export default Floors; diff --git a/src/components/Floors/Floors.scss b/src/components/Floors/Floors.scss new file mode 100644 index 0000000..78af184 --- /dev/null +++ b/src/components/Floors/Floors.scss @@ -0,0 +1,95 @@ +.floor-list { + position: absolute; + top: -172px; + left: 10px; + height: 160px; + width: 40px; + padding: 10px 0; + text-align: center; + box-sizing: border-box; + z-index: 1000; + background: #ffffff; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + border-radius: 12px; + &.has-coupon { + top: -211px; + } + .show-nav { + top: -442px; + } + &.nav-end { + top: -212px; + } + ul { + overflow-x: hidden; + overflow-y: auto; + height: 140px; + &::-webkit-scrollbar { + display: none; + } + } + li { + display: inline-block; + line-height: 32px; + font-family: DINPro; + font-style: normal; + font-weight: normal; + font-size: 14px; + text-align: center; + color: #323337; + width: 32px; + height: 32px; + margin: 4px; + &.active { + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + border-radius: 8px; + color: #fff; + } + } + img { + position: absolute; + width: 8px; + height: 3px; + margin: auto; + left: 0; + right: 0; + &.top { + top: 7px; + } + &.bottom { + bottom: 7px; + transform-origin: center; + transform: rotate(180deg); + } + } +} +.floor-sub { + position: absolute; + bottom: calc(100vh - 42px); + left: 10px; + display: inline-flex; + z-index: 1000; + height: 32px; + padding: 0 12px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + color: #323337; + background: #fff; + border-radius: 20px; + align-content: center; + justify-content: center; + align-items: center; + .loc { + width: 16px; + height: 16px; + } + .sep { + height: 10px; + width: 1px; + margin: 0 8px; + background: #c9cbd1; + } +} diff --git a/src/components/Floors/loc.png b/src/components/Floors/loc.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fcc9b9226240396892c6a3fc9b8055609edc63 GIT binary patch literal 977 zcmV;?11|iDP)nNin1a9~48OhAD? zma;4azF^RNjJXjS(ETg%wqYNP6PQg#pk}qoKxh$A77_`LndEi-qS9Tfx$4k$wd?`G zuD0y}(vbIt1j2ER$SnWKGf7=mPEYt zR-8b6{p8sCw5viBQ;u1jQomYj=Jm~~kUk+H0^9Kf2=numQ@=R8)sK)w$5$ih{=&Ow z>XTa58-~%-?=@s{ zqPb)!Lr=Z6Br(>{qF%m=z<72EA*XLXg3QQ|C0AnA>X_b{TFa>@&;NBM0>3XfPJ6xs`Hwyy22HNdBmuwg)wqQf>3xHI75>2L(tW+%>;=qg?fhuy>S1R>2mE zYx0wk^0Rijp&Y+$_dRfBD+)Z8fJ!(u0fP<(#Z5>kaO7d-fh${ay0LvgO*6vj#w2ub z7AI<&>azAX;R&}@BxB%p$fyY!2M+vzOT8thA&`_r8t}vf){#gHz7c^q5?rR37JOp@ zkt71y7(5k$7!s+#Qxgc0fVAKb7DYmR@BsM-EiCAAUoMex00000NkvXXu0mjfZ&tNW literal 0 HcmV?d00001 diff --git a/src/components/Floors/up.png b/src/components/Floors/up.png new file mode 100644 index 0000000000000000000000000000000000000000..503d67f853a6ae67160b180c23c87c15468e39eb GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^`!3HEhORwJpq&N#aB8wRq#8g3;(KATp15l8$ zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFKz_TYi(^OyzaN&&-zopr0Q|UEZU6uP literal 0 HcmV?d00001 diff --git a/src/components/HeadBar/HeadBar.js b/src/components/HeadBar/HeadBar.js new file mode 100644 index 0000000..a873ffd --- /dev/null +++ b/src/components/HeadBar/HeadBar.js @@ -0,0 +1,184 @@ +import React, { useState, useEffect } from "react"; +import ShopList from "../ShopList/ShopList.js"; +import "./HeadBar.scss"; +import { searchTypes } from "../Options/Options"; +import backpng from './back.png' + +const HeadBar = ({ + mall, + exit, + start, + end, + floors, + onSwap, + shop, + onSetStart, + onSetEnd, + isPick, + setIsPick, + blurMap, + showSearchType, + onClickSearchType, + searchType, + onIsTypingChange +}) => { + const [isTypingStart, setIsTypingStart] = useState(false); + const [isTypingEnd, setIsTypingEnd] = useState(false); + const isTyping = isTypingStart || isTypingEnd; + const [q, setQ] = useState(null); + const onlyShowStart = isTypingStart || (!start && isPick); + const onlyShowEnd = isTypingEnd || (!end && isPick); + const showStart = !onlyShowEnd; + const showEnd = !onlyShowStart; + const showBoth = !(isPick || isTyping); + const hasBoth = start && end; + const startValue = + q !== null ? q : isPick ? (shop ? shop.name : "") : start ? start.name : ""; + const endValue = + q !== null ? q : isPick ? (shop ? shop.name : "") : end ? end.name : ""; + + useEffect(() => { onIsTypingChange(isTyping) }, [isTyping]) + return ( +
blurMap()} + > +
{ + if (isPick) setIsPick(false); + else if (isTypingStart) { + setQ(null); + setIsTypingStart(false); + } else if (isTypingEnd) { + setQ(null); + setIsTypingEnd(false); + } else exit(); + }} + > + +
+
+ {showBoth &&
} + {showStart && ( +
+
+ setIsTypingStart(true)} + onChange={(e) => setQ(e.target.value)} + readOnly={isPick} + disabled={isPick} + placeholder={isPick ? "请点击地图选择起点" : "请输入起点"} + > + {(start || (isPick && shop)) && ( + + {floors[(start ? start : shop).floorOrder][1]} + + )} +
+ {start === null && isPick && ( +
{ + setIsPick(false); + onSetStart(shop); + }} + > + 开始导航 +
+ )} + {start === null && !isPick && !isTypingStart && ( +
{ + setQ(null); + setIsPick(true); + setIsTypingStart(false); + setIsTypingEnd(false); + }} + > + 地图选点 +
+ )} +
+
+ )} + {showEnd && ( +
+
+ setIsTypingEnd(true)} + onChange={(e) => setQ(e.target.value)} + readOnly={isPick} + disabled={isPick} + placeholder={isPick ? "请点击地图选择终点" : "请输入终点"} + > + {((isPick && shop) || end) && ( + + {floors[(end ? end : shop).floorOrder][1]} + + )} +
+ {end === null && isPick && ( +
{ + setIsPick(false); + onSetEnd(shop); + }} + > + 开始导航 +
+ )} + {end === null && !isPick && !isTypingEnd && ( +
{ + setQ(null); + setIsPick(true); + setIsTypingEnd(false); + }} + > + 地图选点 +
+ )} +
+
+ )} + + {showBoth &&
onSwap()}>
} +
+ {showBoth && !hasBoth && ( +
+ 请在顶部选择{!start ? "起" : "终"}点 +
+ )} + {isTyping && q && ( +
+ { + if (isTypingStart) { + onSetStart(shop); + setQ(null); + setIsTypingStart(false); + } + if (isTypingEnd) { + onSetEnd(shop); + setQ(null); + setIsTypingEnd(false); + } + }} + top={"70px"} + isRow={true} + > +
+ )} +
+ ); +}; + +export default HeadBar; diff --git a/src/components/HeadBar/HeadBar.scss b/src/components/HeadBar/HeadBar.scss new file mode 100644 index 0000000..d0d6437 --- /dev/null +++ b/src/components/HeadBar/HeadBar.scss @@ -0,0 +1,271 @@ +.head-bar { + display: flex; + box-sizing: border-box; + width: calc(100vw - 20px); + margin-left: 10px; + margin-top: 10px; + font-size: 16px; + line-height: 44px; + position: relative; + z-index: 1; + height: 64px; + position: relative; + border-radius: 12px; + align-items: center; + pointer-events: auto; + &.double { + height: 114px; + .back { + height: 114px; + } + .content { + height: 114px; + } + } + + .back { + display: flex; + justify-content: center; + align-items: center; + position: relative; + background: #ffffff; + flex: 0 0 50px; + margin-right: 8px; + height: 64px; + border-radius: 12px; + img { + width: 32px; + height: 32px; + } + } + .content { + display: flex; + flex-direction: column; + justify-content: center; + background: #ffffff; + height: 64px; + z-index: 2; + flex: 1; + position: relative; + border-radius: 12px; + .dots { + position: absolute; + top: 0; + bottom: 0; + left: 23px; + width: 2px; + height: 2px; + border-radius: 50%; + background: #c9cbd1; + margin: auto 0; + &::before { + content: ""; + display: block; + position: absolute; + top: -6px; + width: 2px; + height: 2px; + border-radius: 50%; + background: #c9cbd1; + left: 0; + right: 0; + margin: 0 auto; + } + &::after { + content: ""; + display: block; + position: absolute; + bottom: -6px; + width: 2px; + height: 2px; + border-radius: 50%; + background: #c9cbd1; + left: 0; + right: 0; + margin: 0 auto; + } + } + .row { + position: relative; + line-height: 57px; + height: 57px; + padding-left: 48px; + padding-right: 49px; + &.start { + background: 16px center/16px 16px no-repeat url("./start.png"); + } + &.end { + background: 16px center/16px 16px no-repeat url("./end.png"); + } + &.single { + padding-right: 10px; + } + .text { + display: flex; + align-items: center; + input { + border: none; + background: transparent; + display: inline-block; + line-height: 57px; + outline: none; + width: 100%; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 18px; + color: #323337; + } + ::placeholder { + font-size: 16px; + font-weight: 400; + color: #c9cbd1; + } + &.has-border { + border-top: 1px solid rgba(238, 238, 238, 0.7); + } + + .label { + display: inline-block; + flex: 0 0 20px; + text-align: center; + margin-left: 8px; + font-style: normal; + font-weight: bold; + font-size: 12px; + color: #b3aea7; + } + .right { + background: #f3f4f8; + border: 1px solid #edeff3; + box-sizing: border-box; + border-radius: 8px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 12px; + line-height: 33px; + color: #437af7; + flex: 0 0 80px; + text-align: center; + display: inline-block; + white-space: nowrap; + margin-left: 8px; + } + } + } + .switch { + position: absolute; + width: 49px; + height: 32px; + background-image: url("./switch.png"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + top: 0; + bottom: 0; + right: 0; + margin: auto 0; + } + } + .banner { + position: absolute; + display: flex; + background: rgba(0, 0, 0, 0.6); + width: 237px; + line-height: 40px; + height: 40px; + text-align: center; + bottom: -48px; + left: 0; + right: 0; + margin: auto; + font-family: PingFang SC; + font-style: normal; + font-weight: normal; + font-size: 14px; + color: #ffffff; + border-radius: 20px; + justify-content: center; + align-items: center; + &.start::before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + margin-right: 8px; + vertical-align: middle; + background-image: url("./start.png"); + background-size: contain; + } + &.end::before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + margin-right: 8px; + vertical-align: middle; + background-image: url("./end.png"); + background-size: contain; + } + &::after { + content: ""; + display: inline-block; + margin-left: 8px; + width: 16px; + height: 16px; + vertical-align: middle; + background-image: url("./arrow.png"); + background-size: contain; + } + } + .shop-list-wrapper { + position: absolute; + top: 64px; + left: -10px; + width: 100vw; + height: calc(100vh - 74px); + overflow-x: hidden; + overflow-y: auto; + } + .search-type { + position: absolute; + top: 100px; + width: 100vw; + height: 40px; + line-height: 40px; + background: #fff; + display: flex; + color: #404040; + left: 0; + font-size: 12px; + .el { + flex: 1 1 33%; + text-align: center; + span { + position: relative; + display: inline-block; + img { + width: 18px; + height: 18px; + vertical-align: middle; + margin-right: 8px; + } + &.active { + color: #0074ed; + } + &.active { + &::after { + content: ""; + position: absolute; + width: 100%; + height: 4px; + background: #0074ed; + bottom: 0; + left: 0; + } + } + } + } + } +} diff --git a/src/components/HeadBar/arrow.png b/src/components/HeadBar/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec8fc50d5849f4d1a8b70fa85f3fcb0d7ec448f GIT binary patch literal 316 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 V1%*6NF~tA?002ovPDHLkV1hzDTzmik literal 0 HcmV?d00001 diff --git a/src/components/Malls/Malls.js b/src/components/Malls/Malls.js new file mode 100644 index 0000000..bf13189 --- /dev/null +++ b/src/components/Malls/Malls.js @@ -0,0 +1,260 @@ +import React, { useState, useEffect, useContext } from "react"; +import { ListView } from "antd-mobile"; +import Modal from "react-modal"; +import "./Malls.scss"; +import search from "./search.png"; +import pos from "./pos.png"; +import close_white from "./close_white.png"; +import up from "./up.png"; +import { + Mall, + cityMallsGetter, + CityMall, +} from "../../js/helpers/data-helper.js"; +import { MallCode } from "../../pages/Index/Index"; + +const getSectionData = (dataBlob, sectionID) => dataBlob[sectionID]; +const getRowData = (dataBlob, sectionID, rowID) => dataBlob[rowID]; + +function genData(ds, cityMalls) { + const dataBlob = {}; + const sectionIDs = []; + const rowIDs = []; + const groupByIndex = (list) => + list.reduce((acc, nxt) => { + acc[nxt.index] = acc[nxt.index] ? [...acc[nxt.index], nxt] : [nxt]; + return acc; + }, {}); + const data = groupByIndex(cityMalls); + Object.keys(data).forEach((item, index) => { + sectionIDs.push(item); + dataBlob[item] = item; + rowIDs[index] = []; + + data[item].forEach((city) => { + rowIDs[index].push(city.name); + dataBlob[city.name] = city; + }); + }); + return ds.cloneWithRowsAndSections(dataBlob, sectionIDs, rowIDs); +} + +const Malls = ({ isOpen, onRequestClose, setMallCode }) => { + const [q, setQ] = useState(""); + const [showList, setShowList] = useState(false); + const [cities, setCities] = useState([]); + const [currentMall, setCurrentMall] = useState(null); + const [currentCity, setCurrentCity] = useState(null); + const [currentMalls, setCurrentMalls] = useState([]); + const [isMallExpand, setIsMallExpand] = useState(false); + const [dataSource, setDataSource] = useState( + new ListView.DataSource({ + getRowData, + getSectionHeaderData: getSectionData, + rowHasChanged: (row1, row2) => row1 !== row2, + sectionHeaderHasChanged: (s1, s2) => s1 !== s2, + }) + ); + const mallCode = useContext(MallCode); + const setDefaultCityMall = (list) => { + setCurrentCity(list[0]); + setCurrentMall(list[0].malls[0]); + setCurrentMalls(list[0].malls); + }; + + useEffect(() => { + document.title = "城市商场选择"; + cityMallsGetter().then((cityMalls) => { + setCities(cityMalls); + setDataSource(genData(dataSource, cityMalls)); + + if (cityMalls.length) { + const city = cityMalls.find(({ malls }) => + malls.find(({ code }) => mallCode === code) + ); + if (city) { + setCurrentCity(city); + const mall = city.malls.find(({ code }) => mallCode === code); + if (mall) setCurrentMall(mall); + setCurrentMalls(city.malls); + } else setDefaultCityMall(cityMalls); + } + }); + }, [mallCode]); + + return ( + onRequestClose()} + > +
setIsMallExpand(false)}> +
+ setQ(e.target.value)} + onFocus={() => setShowList(true)} + onBlur={() => !q && setShowList(false)} + > +
+ + {q && ( + setQ("")} /> + )} + {showList && ( +
+ {cities + .filter(({ name }) => name.includes(q)) + .map((city) => ( +
{ + setCurrentCity(city); + setCurrentMall(city.malls[0]); + setCurrentMalls(city.malls); + setShowList(false); + }} + > + {city.name} +
+ ))} +
+ )} + {!showList && ( +
+
+
+ + {currentCity && {currentCity.name}} +    + {currentMall && {currentMall.name}} + +
+ 当前定位城市 +
+
切换商场
+
{ + setIsMallExpand(false); + }} + > +
{ + e.stopPropagation(); + }} + > + {currentMalls.map((mall) => ( + { + console.log("setMallCode", mall.code); + setCurrentMall(mall); + setIsMallExpand(false); + setMallCode(mall.code); + onRequestClose(); + // Taro.reLaunch({ + // url: `/pages/index/index?mallId=${mall.id}` + // }); + }} + > + {mall.name} + + ))} + {!isMallExpand && ( +
{ + e.stopPropagation(); + setIsMallExpand(true); + }} + > + 更多 +
+ )} + {isMallExpand && ( + { + e.stopPropagation(); + setIsMallExpand(false); + }} + > + )} +
+ ( +
+
+ {sectionData} +
+
+ )} + renderHeader={() => ( +
+
切换城市
+
+ {cities.map((city) => ( +
{ + setCurrentCity(city); + setCurrentMall(city.malls[0]); + setCurrentMalls(city.malls); + }} + > + {city.name} +
+ ))} +
+
+ )} + renderRow={(rowData) => ( +
{ + setCurrentCity(rowData); + setCurrentMalls(rowData.malls); + setCurrentMall(rowData.malls[0]); + }} + > + {rowData.name} +
+ )} + quickSearchBarStyle={{ + position: "absolute", + top: 25, + }} + delayTime={10} + delayActivityIndicator={ +
+ rendering... +
+ } + /> +
+
+ )} +
+
+ ); +}; +export default Malls; diff --git a/src/components/Malls/Malls.scss b/src/components/Malls/Malls.scss new file mode 100644 index 0000000..a42f0d0 --- /dev/null +++ b/src/components/Malls/Malls.scss @@ -0,0 +1,242 @@ +/*postcss-pxtransform disable*/ +.malls { + position: relative; + width: 100vw; + height: 100vh; + box-sizing: border-box; + color: #5a5a5a; + font-family: SourceHanSansCN-Medium, SourceHanSansCN; + background: #fff; + box-sizing: border-box; + .search-icon { + position: absolute; + width: 13px; + height: 13px; + top: 21px; + left: 26px; + z-index: 1; + } + .close { + position: absolute; + border-radius: 50%; + background: #8d8d8d; + width: 20px; + height: 20px; + top: 17px; + right: 19px; + } + .input-wrapper { + padding: 12px 14px 0 14px; + .input { + padding: 5px 30px; + background: #ececec; + border-radius: 100px; + height: 30px; + line-height: 20px; + font-size: 11px; + box-sizing: border-box; + border: none; + width: 100%; + outline: none; + } + ::placeholder { + color: #a9a9a9; + } + } + .list { + padding: 0 50px 0 15px; + line-height: 36px; + height: calc(100vh - 42px); + font-size: 12px; + overflow: scroll; + .item { + border-bottom: 1px solid #f4f4f4; + } + } + .main { + .r1 { + padding: 18px 15px; + line-height: 30px; + .left { + position: relative; + display: inline-block; + font-size: 14px; + background: rgba(244, 244, 244, 1); + border-radius: 8px; + border: 1px solid rgba(236, 236, 236, 1); + padding: 0 30px; + .pos { + position: absolute; + width: 14px; + height: 16px; + top: 7px; + left: 9px; + } + .up { + position: absolute; + right: 7.5px; + top: 12.5px; + width: 8px; + height: 5px; + transform-origin: center; + transform: rotate(90deg); + } + + Text + Text { + margin-left: 22px; + } + } + .right { + margin-left: 15px; + font-size: 11px; + font-weight: 400; + color: rgba(169, 169, 169, 1); + } + } + .r2 { + padding-left: 15px; + color: #a9a9a9; + font-size: 11px; + line-height: 11px; + font-weight: 400; + } + .malls-wrapper { + height: calc(100vh - 119px); + .malls1 { + position: relative; + margin-top: 11px; + padding-left: 15px; + padding-right: 60px; + height: 32px; + overflow: hidden; + background: #fff; + z-index: 10; + .more { + position: absolute; + line-height: 30px; + color: #a9a9a9; + right: 14px; + font-size: 11px; + top: 0; + } + &.expand { + box-shadow: 0px 15px 12px 0px rgba(0, 0, 0, 0.22); + padding-right: 15px; + padding-bottom: 17px; + overflow: auto; + height: auto; + } + .tag { + color: #878787; + font-size: 12px; + padding: 0 11px; + border-radius: 15px; + border: 1px solid rgba(236, 236, 236, 1); + line-height: 30px; + display: inline-block; + margin-bottom: 12px; + margin-right: 10px; + } + .fold { + position: absolute; + bottom: 0; + width: 8px; + height: 5px; + padding: 8px 6.5px; + left: 0; + right: 0; + margin: auto; + } + .fold::after { + content: ""; + position: absolute; + left: -5px; + right: -5px; + top: -5px; + bottom: -5px; + } + } + } + .am-indexed-list-container { + position: absolute; + top: 178px; + border-top: 1px solid #f4f4f4; + padding: 0 50px 0 15px; + height: calc(100vh - 178px); + width: 100vw; + box-sizing: border-box; + .am-indexed-list-quick-search-bar :first-child { + display: none !important; + } + .am-indexed-list-quick-search-bar { + top: 204px; + font-size: 11px; + transform: none; + right: 15px; + z-index: 1; + text-align: center; + li { + display: block; + padding: 0; + font-size: 11px; + color: #a9a9a9; + line-height: 15px; + height: 15px; + width: 15px; + } + li:active { + background: #0091ff; + + color: white; + border-radius: 50%; + } + } + .at-list::after { + content: none; + } + .am-indexed-list-section-body { + line-height: 36px; + color: #878787; + font-size: 12px; + font-weight: 400; + border-bottom: 1px solid #f4f4f4; + background: none; + padding: 0; + } + .am-indexed-list-section-header { + font-size: 12px; + font-weight: 400; + border-bottom: 1px solid #f4f4f4; + padding: 0; + } + .am-list-body { + color: #5a5a5a; + line-height: 36px; + } + } + .meta { + font-size: 11px; + font-weight: 400; + margin-top: 7px; + padding: 11px 0; + color: #a9a9a9; + } + .city-buttons { + display: grid; + grid-column-gap: 10px; + grid-row-gap: 11px; + grid-auto-rows: 30px; + grid-auto-columns: 70px; + grid-template-columns: 1fr 1fr 1fr 1fr; + .city-button { + display: inline-block; + color: #878787; + font-size: 12px; + line-height: 30px; + background: rgba(244, 244, 244, 1); + border-radius: 4px; + text-align: center; + } + } + } +} diff --git a/src/components/Malls/close_white.png b/src/components/Malls/close_white.png new file mode 100644 index 0000000000000000000000000000000000000000..ff30535ae1d53001a3a411b5d3c3237149bf9baf GIT binary patch literal 833 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(At;|xx4gQ=>PKKE^qe$D>q}6XV)azR(7Q^> z+gH{1E_$IZE;V(5Uy6KcapZ~)#cxZ>JWQ)}x>LPxZd=qFQ5M6!LTcBfzmu-&-rBQ@ zXXOJAvD5!f%@WEzzDa{4gwcJ|`AxB%`}+1MJoR{1#+mN9;QS|_Q<~d4Y^M|^im@JP z$@nx=TiUqxzj@&`&8w`-{_@{EeJIeR{^Ryt7MHvKHm-}B`Oj{}zI=;aN#meqZ}gZE~kHUwfX}>`LYb-aH%UDFwd&V0yrOUSpo! z{M}EBUb-!wINNXe(!?JiS;ngFeDCekV^8kPPgs9FdUxOP$4(v(J{YDZzs+ZTYMGNV zL3i@@U3b^L{{B1r|8j-T1xEy=S9mkrJkQ$cBjT9X#C>Mo$Cy0(<<5h zk}0#!9=17f#!>E_U;*D0=P&-7=E^QwAAcoMVE!(J@=y64^=GdsNlr?hzopr06o!cEC2ui literal 0 HcmV?d00001 diff --git a/src/components/Malls/pos.png b/src/components/Malls/pos.png new file mode 100644 index 0000000000000000000000000000000000000000..c28ff597028e454abb786c2651998370802f626e GIT binary patch literal 998 zcmVPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR919H0XL1ONa40RR91AOHXW003;EB>(^eP)S5VR7ef2R!vA1Q562pJSjnn zf;6EL+6As6+>{kj5J6G25L&beN{W0MQn`tu)W}HkJrzVGXcM%lFoY-y%7TnGK`q(@ zF9}L4D5IXKx9_}ZeDlV+^G5T+%suBjKi{3X_nvzN#hNjKG-@C?0E2CGU(Kh2@^bcH z`DFOKMgos8gF8q{mb$fx)siwxNz%e3N9nW1>gP8IMya-=5(B7{Nx#XH!wGv#EvC`W zuh`%@&a=wfV zJzkDHVYk`K`MOJoglAlo-X*Oi=?l&065cSS_<{E%TUV4s@P&RKa(;sKlq+Jyyv0&% zM7{he$vICT8G~$?!)xZUA1NT{F*Tg?YmDDofcq7LYW&6-LT!SZrVQV5%Xx+0$0tuw zZsL%7A!2-ZUevwXjpLk>E`shy@@~ydx{XZJsjWdcAY5{@ zhrA8SSwOZp9M#ScvkM7ESXWxD_Mo8>ZG>J1VV}NV_u&p7P$&vISuv&y!3fRu?Tql) zrG({HhY}21Z8k$Gp4m*gFqLp_weccKG46@6`)sbDhr0`wMH6OY?8~{S*Up7zkzY#q zX;uviQ`j7Yis~jZ=A#lmu_l@3&Y6FUig^=F2y8;yw8Z928?7caR)4{egEAgPf(fhB z4EI*bG+FJQA#EDD3fnz3r2mN}7<7ww%5>2Abcj5-jC=SW9(4 z_5$K&>0re=>k{^wm6*ail2+y!tkNX^NG4}BJZQmj7jK_==vCvSjJt#ypy%N8%qEiR(EU_dNgaE@f5$69_4{h35&xLywvdgzB^$%2bEGK~)>REyr6 zOK_0VD^+7P2bW29KFT-zm--|6%qnDg#udAT3$Bt(OIu_sPN?C1ri!G`Ng96i2rE!h zPDL{PGunTtKe}ErRClw&jQQc5tjjAVnfk~3LXRbF^x~^qM$gGnK3yd1_sntnzYEIH U(tP$VEC2ui07*qoM6N<$f)mxb$N&HU literal 0 HcmV?d00001 diff --git a/src/components/Malls/search.png b/src/components/Malls/search.png new file mode 100644 index 0000000000000000000000000000000000000000..0980552844bfa990fd939de89170f84b64182ae4 GIT binary patch literal 936 zcmV;Z16TZsP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR918lVFJ1ONa40RR918UO$Q08GiY3IG5D5=lfsR7ef2mCI`rQ542AlT3V& zpbHgRaigId1tCq^mAJAXA~d2>?Z&kW5j3EpJJD(v`WLuR5wwe@E{dQ#-Ly$-HbQNE zph6W~XfaqxNaF8Y=Y&ZzMDnTi@yM00a< z2MBr!$ySm}=rhO+Jr|8eSIgycwNNPZ<4@2>r4#Eg{u}+w@bK^yvZ>V(L6Rcr5m6fj zJQND02L}h=HD!4mEbku3C&^2ZQ)TEfWVbvaMy(Oe&(9xaKc)#5-xa^$#$>O}Po}Xa zAY|L@F_!VMcia&1SDX2(C4zRrbE#bt1r#zcZey|(Ka9HKCeng4CPCbg2> zsrQU$z=Y2_rm;3t91#O&Mx8y71`F&XiY0rrR}6@9>g<6uSYXB!%f{F)hFnH zTTy6IyL#0O7T8M)DARi38d4y8)eIIyiXE^W$9V#JnLa87vRft>V-ynEbHO&vj>qGl z(56^VN2;*v?^w8%+yP*g!um#m%!vqx!{_*euaKqODy-veNw=t`NczLcyXZ|eM9k_t zB;%0DYdO&gnVT~q;5-v|IBm6qAU-|sq6geRk}@xqVpYP%zKAWHF4;puUj7B{L3E;g%&a^B0000< KMNUMnLSTX}hmi6B literal 0 HcmV?d00001 diff --git a/src/components/Malls/up.png b/src/components/Malls/up.png new file mode 100644 index 0000000000000000000000000000000000000000..a10e018463bb75fdca69cb08cbf3b2749c9dd52b GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^LO{&J!3HGrh2HJ~QjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPE3|+a&gKCrbgi7d4XDh@)5S4F zLv-zgjb4WXMB1v0Uke>?$e&;stq>U#ExY7xM7n6qD`pP8UkrCe%;Oj61qsMlsVOcf z{LbhSb7zUl$N!Hx<1!y5@wd$R{r~>Y;v(z0rc-}utM?_d|66OYSb^i-?TXcBPi)HB ztaI9OUT)>HE4O|e>%C-h_r&Kve2lim0h*=jx8D0)Tc7#rO}N>i4NfO|1&jFJH5qK# zSE0>a!a1Y0dgdb=vA0${hmF4lisU{lZP{Qr!~Bc-mDj(v3N{2w2pgvFxbs+QN}byC z&JA1te$MusB=acys{Vmki@weM)|y$9Y)z}KoKSkxV7vMj$Ds`xUEW+06-Tlk?0Tnu zKCRP?;j@cuV)&fYcvi;;dovjHx8=Tn6la%VCTeS7o$@ey=3l<19}FLFZdx<%dF6Uv l#$|48I_W9bw*0?d&ln)lzAt)FJt!s^JYD@<);T3K0RVDEujc>& literal 0 HcmV?d00001 diff --git a/src/components/More/2d.png b/src/components/More/2d.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca3875f86a2b8b5e8652987790bd91746efd788 GIT binary patch literal 870 zcmV-s1DX7ZP)2!*xL+#L!6Z3B)Hj%*=qyOnCy1ClH@N%s7re`v#JnXGoP+ zX_elzy?e(V3$wek!z{_|7cJ~C(>?Q>o{s^@mFs2;Ap_afYSH>fM@V3Mp9yF#Zdq-2 zIGlrF8BM^h)e6?HKMf#p#9bFQN2B(1JZgbK8B3sCuGR!mmmiA>P3H*MnoNd0Frcjy z@Nn7tOI-q}t-m9p1rM=6lqE&SCa~HAO?kLHxO@K{UI?Cbe7yS33!D>r?@mWAew?3m z?(IJWPNEj>0c{k}*grVH^Y3Q^(3I8+#Nk4M`b5@S*A36CZS%&qM3XbAOS;s?DpdmU zxWJsFug_+uUt{}lp4JhprYWqH5{RoVSGas+T-uOAwo`3dNG<8h6xAv*0UcaaWdf_n z1We$fs%@~^NFWPbRHcJeD1j_-QB_*3f&?6=TIVdg>%TCKi>l(V5u@9 z^m?_ChYPPpYc@T3wCmtKxzp2QZ)`!>T7Sp09>f|XAOIGjM%>D>vT>`b^7o@311-XD zuJ>k;09)SPMkB(eQ>uI`mn$z}$MW{0_4D_PQD|-y6Ru3l=g`8~ zPV_=5!F!4`UzdSjnnMz|pC|{f;Dv$}uuIQgaobOleo`M=ORNa7=nq2R3W1$8)g`W4 zF+z1ls257WA2|0y`pUgflyWa5>nry{*V6jWyGt*Wq^!713@}9+^ei7KmY&$07*qoM6N<$g6OS_y8r+H literal 0 HcmV?d00001 diff --git a/src/components/More/3d.png b/src/components/More/3d.png new file mode 100644 index 0000000000000000000000000000000000000000..2c761d9da3cd2c3d59961b1e9dc4760697d8e20d GIT binary patch literal 1372 zcmV-i1*7_jP))iqzOq1?jDS%rE~&Tgt9-c`+>-Y6f~qA&Bn1h; z%oVEm-_q?W*gx^M+{_ zO5AwYd4DJutXiGJ2FwwG_Cc`K=^WO_Zz)$JbbA<0P$#{(I`6>?tj^IMX?!ZK7($F~ zVg7#F5CqCVGka`kZWSkkjbuZ(1O~EyD5{2 zNolpiTaw~P4{CriQJFCBD+md4{1*4BuIbdwuJ4M=g@}--Zf5g!rB&A%V<^N%-|4 zI%iEcd5U+OF-F`p%cx5FtBhqGS&%e=5v)$DrU$s{>E@V-NWv*Axn`Sr!2@i1Zb>xl zlU5n4)2>C`l7u$maol*OvSEDFKs9*b4m!51N@i}oX3x>J-t>&>Q+BUmFcX0hEbEml z^{Q|5B-|dFbM7jkh+OnQv(680Ns3(~d$6Z42PC!vcZGWbca3`jca3`jca2~I1nF7!`bj~)?aaoA zzW8VS_XL4q5Te^CDSMkZNz1IbO?LR(FrE*Sq_~q&+_eI{->th7foVyLrc^U2SxFy~rAe~GgLh?fACn#L z-RsoiZkUpv{;*hgYBOWzyEv+15OF%%o~SZ>EY-(LcBURN_4}{S`sZ&N50_WY?BgK> z$H%aU>cjUdD^D)Y&tLyJy8Gzy${}bhNEec%_xpeKN6(~uiC0&@@#S~?{+AO2A0|6L z@r?h-@0?8=U$g@byOKJdAB2%=B?s{kJ8ju&}_Gb^n$UjqRNP { + return ( +
+
+ {searchTypes.map(({ id, name, bg, bgb }) => ( +
{ + onClickSearchType(id); + }} + > + +
{name}
+
+ ))} +
+ +
onClickDisplayMode(displayMode == 0 ? 1 : 0)} + > + + {displayMode == 0 ? "2D" : "3D"} +
+
+ ); +}; +export default More; diff --git a/src/components/More/More.scss b/src/components/More/More.scss new file mode 100644 index 0000000..c9bf7a1 --- /dev/null +++ b/src/components/More/More.scss @@ -0,0 +1,53 @@ +.more { + position: absolute; + top: 10px; + right: 10px; + display: inline-flex; + flex-direction: column; + pointer-events: auto; + &.has-header-top { + top: 138px; + } + .types { + display: flex; + flex-direction: column; + width: 40px; + height: 160px; + background: #ffffff; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + border-radius: 12px; + justify-content: space-evenly; + align-items: center; + } + .btn { + display: inline-flex; + flex-direction: column; + width: 32px; + height: 48px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 10px; + line-height: 14px; + text-align: center; + color: #474a56; + background: #ffffff; + border-radius: 12px; + justify-content: center; + align-items: center; + img { + width: 24px; + height: 24px; + } + &.active { + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + color: #fff; + } + &.big { + width: 40px; + height: 56px; + margin-top: 8px; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + } + } +} diff --git a/src/components/NavBottom/NavBottom.js b/src/components/NavBottom/NavBottom.js new file mode 100644 index 0000000..726f337 --- /dev/null +++ b/src/components/NavBottom/NavBottom.js @@ -0,0 +1,180 @@ +import React, { useState, useEffect } from "react"; +import "./NavBottom.scss"; +import followDirection from "./followDirection.png"; +import notFollowDirection from "./notFollowDirection.png"; +import play from "./play.png"; +import pause from "./pause.png"; +import closeButton from "./close.png"; +import left from "./left.png"; +import right from "./right.png"; +import straight from "./straight.png"; +import back from "./back.png"; +import bubble from "./bubble.png"; +import arpng from "./ar.png"; +import nav from "./nav.png"; +import navActive from "./nav_active.png"; +import des from "./des.png"; +import desActive from "./des_active.png"; + +const getImgByRouteSearchText = (txt) => + txt.includes("左前") + ? left + : txt.includes("右前") + ? right + : txt.includes("左后") + ? left + : txt.includes("右后") + ? right + : txt.includes("左转") + ? left + : txt.includes("右转") + ? right + : txt.includes("上") + ? straight + : txt.includes("下") + ? back + : straight; + +const NavBottom = ({ + routeSearchAnimationType, + switchType, + onExit, + end, + meters, + minutes, + paused, + puaseOrResume, + hidePause, + hideSwitch, + routeSearchText, + percent, + handleAR, +}) => { + const [showText, setShowText] = useState(false); + const [showNav, setShowNav] = useState(true); + useEffect(() => { + setShowText(true); + let timeout = setTimeout(() => { + clearTimeout(timeout); + setShowText(false); + }, 3000); + return () => { + clearTimeout(timeout); + setShowText(false); + }; + }, [routeSearchAnimationType]); + let progressNum = parseInt(percent * 100); + if (isNaN(progressNum)) return; + if (progressNum < 0) progressNum = 0; + if (progressNum > 100) progressNum = 100; + const progressText = progressNum + "%"; + + return ( +
+
+
setShowNav(true)} + > + + 导航 +
+
setShowNav(false)} + > + + 目的地 +
+
+ {showText && !hideSwitch && ( +
+ {routeSearchAnimationType === 1 + ? "已切转地图视角" + : "已切转方向标视角"} +
+ )} + {!hideSwitch && ( + { + switchType(); + }} + /> + )} +
{ + !paused && puaseOrResume(); + handleAR(end); + }} + > + + AR导航 +
+ {showNav ? ( +
+ {routeSearchText} +
{routeSearchText}
+
+ 剩余{meters}米  {" "} + {minutes}分钟 +
+ 关闭 onExit()} + > +
+
+ +
+ {progressText} +
+ {!hidePause && ( + { + puaseOrResume(); + }} + /> + )} +
+ ) : ( +
+ {end.logoPath && } + 关闭 onExit()} + > +
{end.name}
+
+
{end.floorName}
{end.shopFormat}
+
+
+ )} +
+ ); +}; +export default NavBottom; diff --git a/src/components/NavBottom/NavBottom.scss b/src/components/NavBottom/NavBottom.scss new file mode 100644 index 0000000..6dfe511 --- /dev/null +++ b/src/components/NavBottom/NavBottom.scss @@ -0,0 +1,335 @@ +.nav-bottom { + position: absolute; + width: calc(100vw - 20px); + left: 8px; + bottom: 26px; + border-radius: 18px; + height: 200px; + padding: 14px 0 0 14px; + background: #fff; + z-index: 30; + .tabs { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + bottom: 14px; + left: 14px; + right: 14px; + height: 56px; + background: #f3f4f8; + border-radius: 10px; + .tab { + display: flex; + width: calc((100vw - 20px - 28px - 12px) / 2); + height: 48px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 16px; + line-height: 22px; + color: #323337; + justify-content: center; + align-items: center; + img { + width: 20px; + height: 20px; + margin-right: 8px; + } + &.active { + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 10px; + color: #fff; + } + } + } + .nav { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 82px; + .dir { + position: absolute; + top: 14px; + left: 14px; + width: 80px; + height: 80px; + } + .t1 { + position: absolute; + top: 24px; + left: 108px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 24px; + line-height: 34px; + color: #323337; + } + .t2 { + position: absolute; + display: flex; + top: 65px; + left: 108px; + right: 10px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + color: #a1a5b3; + align-items: center; + .val { + font-family: DINPro; + font-style: normal; + font-weight: normal; + font-size: 18px; + line-height: 23px; + color: #7a7e8d; + margin: 0 4px; + } + } + .exit { + position: absolute; + top: 20px; + right: 12px; + width: 48px; + height: 48px; + text-align: center; + border: 1px solid #e2e1df; + box-sizing: border-box; + border-radius: 12px; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 48px; + color: #6a6665; + } + .progress { + position: absolute; + left: 20px; + right: 20px; + top: 108px; + height: 4px; + background: #edeff3; + border-radius: 5px; + z-index: 1; + } + .bar { + position: absolute; + left: 20px; + right: 20px; + top: 108px; + height: 4px; + background: #437af7; + border-radius: 5px; + z-index: 2; + } + + .bubble { + display: flex; + position: absolute; + z-index: 3; + width: 33px; + height: 14px; + top: 103.5px; + background: #ffffff; + text-align: center; + border: 2px solid #437af7; + border-radius: 12px; + font-family: DINPro; + font-style: normal; + font-weight: bold; + font-size: 10px; + color: #437af7; + justify-content: center; + align-items: center; + transform: translate(-50%, 0); + } + + .close-icon { + position: absolute; + top: 16px; + right: 16px; + width: 24px; + height: 24px; + z-index: 10; + } + .avatar { + width: 64px; + height: 64px; + background: rgba(255, 255, 255, 1); + filter: drop-shadow(0px 0px 10px rgba(220, 183, 123, 0.3)); + border-radius: 8px; + margin-right: 13px; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + } + .popupname { + font-style: normal; + font-weight: 900; + font-size: 24px; + line-height: 34px; + margin-top: 4px; + letter-spacing: 1px; + color: #b38f65; + margin-bottom: 2px; + } + + .popupdesc { + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + color: #6a6665; + } + + .popuptag { + border: 1px solid #e1e1e1; + display: inline-block; + line-height: 18px; + font-size: 11px; + padding: 0 8px; + border-radius: 10px; + color: #a9a9a9; + margin-right: 10px; + } + } + .destination { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 82px; + .avatar { + position: absolute; + width: 80px; + height: 80px; + left: 14px; + top: 14px; + background: #ffffff; + box-shadow: 0px 8px 16px rgba(104, 110, 127, 0.08); + border-radius: 6px; + } + + .close-icon { + position: absolute; + top: 16px; + right: 16px; + width: 24px; + height: 24px; + z-index: 10; + } + .name { + position: absolute; + top: 24px; + left: 108px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 24px; + line-height: 34px; + color: #323337; + right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .meta { + display: flex; + position: absolute; + top: 68px; + left: 108px; + right: 20px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + color: #a1a5b3; + align-items: center; + justify-content: space-between; + } + } + .switch { + position: absolute; + top: -52px; + right: 0; + height: 40px; + line-height: 40px; + color: #fff; + border-radius: 85px; + font-size: 12px; + font-family: SourceHanSansCN-Regular, SourceHanSansCN; + font-weight: 400; + background: rgba(0, 0, 0, 0.2); + padding-left: 12px; + padding-right: 42px; + animation: 3s ease-out fadeout; + @keyframes fadeout { + from { + opacity: 1; + } + to { + opacity: 0; + } + } + } + .switch-pic { + position: absolute; + top: -52px; + right: 0; + width: 40px; + height: 40px; + vertical-align: middle; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + } + .ar-btn { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + position: absolute; + width: 111px; + height: 40px; + left: 0; + top: -52px; + background: #ffffff; + border-radius: 20px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 40px; + color: #474a56; + img { + width: 24px; + height: 24px; + margin-right: 8px; + } + } + .br { + margin-bottom: 8px; + } + .gold { + font-weight: 400; + color: #b48764; + } + .big { + font-size: 20px; + font-family: DINPro-Bold, DINPro; + font-weight: bold; + margin: 0 5px; + } + .pause { + position: absolute; + width: 40px; + height: 40px; + top: -100px; + right: 0; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + } +} diff --git a/src/components/NavBottom/ar.png b/src/components/NavBottom/ar.png new file mode 100644 index 0000000000000000000000000000000000000000..baff4cee361207a7c1eeb4327d2859221740fa5e GIT binary patch literal 1687 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 literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/bubble.png b/src/components/NavBottom/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..99853e6993e0a87212d9588de6b8d3d88a46c041 GIT binary patch literal 865 zcmV-n1D^beP)00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yPB2~GK}_Uh#D%cYK7sfIoj!r`1Z8CxhE%MHvVfFm zq6-r-lAw*!3M3kVFa@SxGv#_up`>adF+oTff5{}hCpS&+zvrBL&KZVXh(toNeZw^f z8?J)GBTODtCz^Psz}OQLd{j~TlRIr>m5k3LVUG!f9Ck;0Q?nPx8yit~tRA(s5~`7O zT1Q4a3ttmhUitw&qYoE=U?pMx5aij&qroH2nt=C=PxiK+h27!6VI%%=8u6JA8s`Xh z_YFMUabt8Otd75U%G3HfKkU#M>8#PmVYOU?Z4V*Oa7#xYT)xr)ca?_5-$G&Z`sD<4 zef@sPQ;LEVa|Xw|Yn@%PRm3PkqD)SVX<0LWiE@gKj3U7VeCOLNCk8=h_O|+DJ4cAt zjJ(6?mJ%JEU9c*Kk;nL06xpS({SP>tc=6qL{oDM>~*etB4l{)snad6Iz^{o zXt#+9^r97W$M4k1^+F1GD5=WTT7m8*qygI!1EFNH}tY_~5WVN4h6p^liEKw*-x z2aw3rVUy66m>1LW1yKs5M8UX6Z4kbI<}<^nTpVuoAW zOEcV(=g~j;_RTA-rdDDcTrH$>?|1w0|AKuNq?~9Z9B{iOl{|%F`}?AGA!~yaX0e?BQM)uC100000NkvXXu0mjfyVQkj literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/close.png b/src/components/NavBottom/close.png new file mode 100644 index 0000000000000000000000000000000000000000..47bcaaf78eb7f59f28bffc53527f97318e80f7bc GIT binary patch literal 596 zcmV-a0;~OrP)(A z!Y~wvTQE`YG$9g=Aa7v#W1Ls+5qJaf$;2m7??{YpJOLvixI0aZ(L`L`F-{0<>~uYi zH~nr1&D#Dx)~$y!X0cc-7K`QoD63p7TzBWNQgQa`brw!0FN~06?CEqGsPro-UHtm) zMY4QT`jjKlb}kqZtrMpgkNpf|x7w#8A>18oU$j7{w_V$P~y5A2HtZ zy}=zrqVy2QA$09XlA;eY4S zN3`ONh^GfEmEt)Jg$GCkfGmkLsKNtUOK6d-<+KcCcz{d*$djNB4=5FLr~yfTl6**~ z%X-@+6fHZ}K_-wFK7m?-WC^W%&qtD9u1-o*iUZnrAa9eRDgd+462R`TCM60BsFnw& zBnk->t!+$5C=2KoX4Dc&0#sEcr3AW|6OPk>=-{v^+t=jT`L~)Vx7@5FN_Mj|`|XT(y}JN^xe#)aRjn3QE-uXR7%W5_B8p+B z(`i9QWdWdY8ssm|&rZ{p@IGN(1AZn0UGP@^7$R9Bl>s}o}KV>3|A|SC^;qKb8Kp zQhc4-PXQc(+v^^!tJtpF$cZ)Lc4Wk#xi^f0Ig4e{uL4(0OUy6O)*x8=tnut%(_*d+q; z`exhZop9Y`t-FRLY=Nebpc(uQ`C6pqXoXeW*jfVImNSq;?L@i=W*;IAL0jT%8WU8S z$wo}YruQ7gDh*UN>8*o=0U!}7rD#ToPp0CcHXtv!f{a%)l?jkhxJgrEM`wZ82J|4iZAVZf z3K7USI00C5PulN5L(7m-3~AXFFp&0P781O1=Ku$gGJ;{qxJc#&2U!7Gv5+BUfn#L` zWF{gt(v-^eirz6 zfe8oTg@6QT7K`OW?|kBE)(h`UWSzXpnz;g52%40IutexKVvgG`Zpe2l)?gvH+!G4X z@b`3<{iudu)FYt2`V1=n`|M?bs1|o%;=#&x4v}bv_lnAZNe;rg0W?Z&tTX=FUCPwZui)cUycfBGz&>u&gwu1R3!^h&866~Dki|V;JU|3r!EySsO;)N eQX2p3pVn^$9SDdR8L?~t0000G z>o5#})pu`zZt$|f>jv!xumNQPV1lp#Y>+YmFhRluutC_MWdb2xR8Wl_TTa5y9p9Y} zlg9E_+4Us`_~y)DBoJ{Fy&kl2c%rr4sNTfPTA8?KlPo=Qbgz-Pb% zQM72Mom^5X*E$39^p+I=)O`!N)_Nr8Fcp;i+8MC!8&IlUJAF!+0vSy6Xz2Us^qo7O z^UR#dmpO+VB!Q+d^ey_Th~1B9Pqn}P2W%Xx_8skW&ya}R+o(&clzu@$?DjXe)C<*a zz|LJDSC9{aBz4T|fSMftosadp*@2yxK&~LZ3LZhY{5evCu&zNZm^4KWOVxf#>0lMq zYiNyz4Oi}6sY{ax-m5kbXxVW22Un>7Hz}P=g7Wy(=s~G6m$80wkNz?Z<$8bwtQBNV z;czXMeUcuzo#aTuEGQf9g>%^}>5*g3EgO7J1zBk7l? zFPb)0RLz1*l`2>V671Px_z1)+ifR@xOqnVeqNZ4?KI@n$#%EzGpD$x&uW}PaM6oAt ziK(v-9zk1zbkQ1P)rtt_CFmDTo5n~|K10cQrG$uRiBlfC{qj?J1-jiHvjTK;2mk;8 M07*qoM6N<$f@KsWw*UYD literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/followDirection.png b/src/components/NavBottom/followDirection.png new file mode 100644 index 0000000000000000000000000000000000000000..b07fde5b6a080c6ca2d78f39ae78f46586eb7c5c GIT binary patch literal 2465 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 jE~;)@5VqlPqH9#a{2TW z9teP)opK=J!7K$^Vv;(VrEz4S`|nTzD`j3fvp&sg+4euwz>$=X4=6>1)PpPJCQ{0t zb0x^uc)kdR{Y26FxdQjnHnv+479f~Dk?BKK(7oN&G1 z_|WQHQtVzQGH+SEOv(KPxB%}D3B^j)XU89C8>S~W~9|if~+r9D{$~!6JIX^qK{OADPl^!2#V@Zinyj;1O(f; z6fx(omk3GiOA&L_OM;*`Ma)?*k&@b#B9^L`1%fXrVvTwUNNSd1PmiHCj>ITs>%|B9 zzq`xVi;I~Q6>J4Zic$6Q2Ko76$7k3YEXBI@;(|Pj(e+Z~@3*FD&PMLnyuHEB&NFuj Wxku+JZKBNp0000Q6Hg|lHAb)9dXyOPf-y0n_Rv!; znpo44XyE_{wWTda6NR#g3M`6?76N7ejPE;tVCM05XP2G#c6N6@$?LMyWtaK#`}5xK z&HMLA&1E$ zF^dAiu@Pq@rPUUrY{W<=T5Sr)6E8)RqFh)relufa#I|}M!N##-+`7T-1x&m__Ao>B zBOZvcF~iRNwA%{{3TT@1DETX!ssiUc=H}9QUD*7_3lsn@GIx%P{zE9BX}V(+U}unt z_&I-YkAP;vK+LO0w=KjP8-09Y5ec|JMi33y%Uvd5pZ$O%iI{OOMgjTgWg0p1!j1)+ zuDd`1Zorkhm?h%TVSz!$Ee_;{bJi2x0&CU!vN@uyZKBp@@|qnhv@EcnYK)C7qPZn@ zrW+)K9V@g1JV!Occ80l9l8qIjbe3e&kAFh7awLNe*a z+gD|oYL!`A@?XQ^HXms;Ih&=)pR)Sb3W-6$7*!E)*A*t*#v|kT++vQdOr&+|s{p-K zBcRA#$EGthn~+ML3b?BXe+!5?-Jh#YcO9Efvt#bUwLE4l z^TV#27Ukhf0pYGl5}1|%SlW%-89h-HOG}gSSa$*SU zHGL(41Yu20FsJh~6&LW{gB(r$lBFMh%hB(D`P0e@Q858;-pSH98}}CESlAPf8%ad+ zN<_VYu(-?LWuytG8l?hWo66G2H|c_}>1+>Cv}1R#Ykf7v0rQD>>Ts9_PDFI8a|0q{45T!=Ig_Q! z-zq6rxguRaoG33|8?&;DuQlp|lu9Ra?}6hHI@K4ZcRt&uAdiGmuG{8AkBcXqzWV*IYRX+w&S>iAz1D|pE0eQF zBNXMV8#TiQ$<-K10y3ptwioyS~@=dh8!gB$aQ_dgQUKmgTKb=`l$*uaR z@hye$$qHKpGO0NMdBG%H8|Xl~fa{y26h7;=HOmblo(tIhl=BCkUshXr<~N}Z9gu4y zp1(VvG>}wO7C`SWI6teiqslB$H18X~qs9tRKC}O_MDs$gkz(J^J>y(?U~Q}dRDc{m z$FuTtq?AwKmsD8VVeeNa2o>Wq&d*S>gp?v6Tn8n0J0sUKQez>?`*skERV*Q;eF9&; zN-_%>x+U4$O~d=~`z|P-sj2`;wQ*P>p9OKUaAz+N zi5JzY)9S7lz2+N6hgZ@w6zlYMGj*CYV}acjS8cZzZ;BqHcEvu1a+fw`d}2(tDv^N-|O zPTwX-=K0=ASf0rQ1pJ7M7EaQEAfJ4l(J#&L3W)yRD~(F_Tm%e<%)T(Aq!7fep{wb# zs>M+=%d5(^c^HI%NFXVy0QDViK~TiD zwieRkBFbckSd43Ju86CO&>K)#6Q&8Ouz<$pYxt_7E?Ej_o40ezKinA8nV?rp@!*#K zgdRxD4iv)_P%M|M20Zq*CxI0fPnRX&PAUtmuxR4;_D`bLPxaO-uoMzZye|6z(PZij z8GTU#oIsOf{J}i}n&$a71@OEsY6&Ww&a)R@Vh?c&ut41Vl1c@g%CvxjJ;hwtMVisg zvL5@WBIcbJb*;2hN*iRXmt#~Ppu_nYPud^@ypfr{<5b(g>Jabxq_u{JHEKrN^jZSl z*)M3uYOEy6`C|kzGAcOe{8p_K?+J5!Y;~k86;Fz5HZjqM3u4B|U-5Fy9EfcR^YN?w bie~43kFR8HV=$sP00000NkvXXu0mjf3Jhk0 literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/pause.png b/src/components/NavBottom/pause.png new file mode 100644 index 0000000000000000000000000000000000000000..c48b96c5a3de7c3adf8bd456ce7c2a476dfdfe14 GIT binary patch literal 928 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdl8)oCO|{#S9E$svykh8Km+7D9BhG z&*;w7+)lKYaniIU^uzR*!3Nt+8RM_V z%}d-n@hgMwdyo8eD=a@rgkPUp_l`Z1KSt}qmd}=JuVqDv|C#eU(%Gt%V|Kia>VZ9% z58w3u<+#Y<@~&E@!oDp>PXC^U?X-pPStv{MTG8T#XKj0vaq#tquzWI7FBlofHB%NEF=4d8ewTJo?_b zZKcb+-c9 zXC>CSDd>wQGWgqkV~L$Hzf8lxYG#ApnO^b!datg!tf;UA!5ZE5viB#JSiPR`;hzO( z*(US-#f}Ry&u?dWRykLMb5?~@sQm}0d>bZ3oALgDPDPRms` z&*!Qv4LhbO)cmJ;*5nTdpL_6ocRHs1a7g?4Eo1M)b&r3pi;gt0DPPQ$bon}`U%Gwh z!QC63JpM^GdON-oQ{QiUMf@If@cY9qrxr~qVzpA6T)ZPcMCtM=7TdzgS3iGjh>)z4*}Q$iB}n-q>_ literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/play.png b/src/components/NavBottom/play.png new file mode 100644 index 0000000000000000000000000000000000000000..442d9bb5549aa6f65d060297ff515118d98a480e GIT binary patch literal 1251 zcmV<91RVQ`P)rS1R>ZcdYk&%7s>38)$ddtM`!Z4gC@E^lM; z6L1_Q6E!R+PXcziPb_I7%J(ubRHBnKTGAKF8K_Ek9ENIeDQ77Y`M4wlO~(xf_l673 z2a6eKvM(~_EOauk2Zkt=v(ORn0t`{<;Ww5k-xaZuGq4ASxEx{uJ79=QCkxm}+f+%D zVF5ER#HEv)h>aBaI5Lk1@8_^#9dL9<3wn1nLt~1m3wZqY3?_>If8?f(7EbPN!T#-f z3Yofqd#_LXp6}k)jB^KDu(>_D}}WX%Psj=@oW-wVs!kJ{ntR}< zn{DOy`-kVyKQv!aEQ$Uo$^(08U3mBG8tm`#U(!hQM^PE*#__?SZwtPkm$H5o*M%Ke zARYWsYzBIf>W^YG(2G=m)FuPnNb*N*GSH1Af7CJqz0}elwah>-Vg2#rX!8D87XmU| z)>n_U;?Z~=;xcAKo3-eJNmCaB zvT(0SxIfeWO{BNG8K-Djv%W3)CZe@~V?P#fi;Qo!#& zZ9Jld^w_xnLV7bd6j~#)fUAvG0*3K9E?2$^NegWRtfkKdAznZUJ{N>o0VVld5aI-s z=yO4c5>Tqo1tCH}={^@k%?0FL66rn{M9l^C6Hl7Y1tIPpO7yuP#0V(a=YmLGKrYWI zSC`en=YrtpL?)5qYlHc(tzOV_g*QEQ@wp%@^ZMWwQQ*4C!w{E60Shq1CC>tm!4Q`` zdmuNENf_dgZBj2?AA}()Jb!pivgHg^Wqc2Yusn4J z@VLjGm@EuW))BCL0cx@^G&%S9C%@58jW#PV3I!4`>ptPP1#$$XxhRIEuqL~_CzlDR z((@7wUe5T91ohp7qZ>Y@LkLpI7gK|@1oz-N;gr) zAb&yQY`pRw>5)XnAT#`pRQt}MzTvE6zw27H(eRv&c4=&SJ;Br2`|Q%ySR_{R&j>Oo z&E4Y3Z@MnL2UXm6CQ?QvktbnYV)7g=7Bd4`epyt(-d0e@w{b;t^A84Onsm-SUElx! N002ovPDHLkV1nHvG9v&0 literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/right.png b/src/components/NavBottom/right.png new file mode 100644 index 0000000000000000000000000000000000000000..4288d880f9f083b030b89441491f90890426df02 GIT binary patch literal 8463 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 SRDb!ufTX6R4XjbH4*efy3Pwf% literal 0 HcmV?d00001 diff --git a/src/components/NavBottom/straight.png b/src/components/NavBottom/straight.png new file mode 100644 index 0000000000000000000000000000000000000000..30bf7523efd33e45d52a29d8fd10f0beb985158e GIT binary patch literal 2707 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 b(Hi&<1E(=wjmrnj00000NkvXXu0mjfqPJRH literal 0 HcmV?d00001 diff --git a/src/components/Options/3d.png b/src/components/Options/3d.png new file mode 100644 index 0000000000000000000000000000000000000000..271cd17910156d0a0fb63b850ed9cc4ed75bbc86 GIT binary patch literal 1798 zcmV+h2l@DkP)!VB)wHSF0z!oXQqm6! zRY2*7Cfce$O4CS!F)`g_@y^U%iiFs0Q=?IfrfRfNR}`V8%kI7NHt*&fG92!5@7;SB zVr2fDoHHNq^US>S&b-ed{Eru!E&NH6-0YmYPsR^|U`we~dS*6kwVi-c>N;lL4Pa3Y z@N-18N^AW>JBhT7z~aS=FDn!ZTLF9lKsXJ^Du5qUDwRzK4jdS32a%Qu^!N97^!E1N z31AC=w|b!d!OWZForr|kJG{F80=Vz^@#Bw;j*d>YLZl@EN~u9+-UZ+T9*7AddbG2% z^Zucsq2uy>aB#5q)TvYVGV@&k=6G#?M?`D1)o5|k;SYwQN zwh;hv918(ix%c}k2VnQflP4cMeE9Ix$~96NB|u84TbTJF0PpmDIS7IWjvYJpNVC2y zduRUq`751sn{#{T??kjwYyBetT#rOu0!x-GSr~@lZf5?dH<$zP!;X%Qjl;vk|Ey=^ zT=fG318<+4oRo>VRgR3TEfM{)TCJ`c85ucruKv>!P)c0^U^_E^P6CNH$U$)-W6WqP z!1I0MIPMo00`PIKj)`awfP1vof2(EhECNv!bpcpQME3xg>vj4ofc3_hr`rj<29eJK zco@LDyt>zzc{_le*4pti0zi!cB&2=9`#w%YI}3%vw&CI7*Jl%aHuk{4z*{Pn$_8d$ z3qU4xsu0nT*80o{R)c_?mYFZ^t5&Obm&@f>&IjZi+dce!fJmt
E_zI<2*T^1mykT3dlUD5aE2 zv#t+$b(2K&xTKNR+GDkdL{T(f(o1Ik3V;r;&9BpJP1owzb^>B##flZ-(W6Jd#LSZS zUYZ$Z=CL3MHfgP&1R!@NDS=Yzi_W>NM0A-4^4~5XbI~4u% zW+c4~zElr*R)1ayctmaj@J#^k&H?-jfUg;2e%vVV3qnAQE?l^Sysm&ZYj-j8Bk3MkskMG|Cg3j;XkpeauD}J`#Hrt2T!H`Z6#&pu zN~x4;n+r9Y(6l9~ZwCRT)RoLEr}}47ZK|Q9{w!HVbWCR6X04S>tfA5h0XfM#J3H4A z(K-MX@&>RWm*TxDVwcwXsYW!*nG#S+tw?A6N^hoKC!+1nxgB+dt*nzI z*_BE~)G)cvoYpJ>98PbO@|?CbOCU*-Yn^j)?T)-b~aGq1DOiZXassVnZral9bC zCd)G`lBhg2F)^{>;K746)rm$4EMLC-(us+QET1T32AEkSm6g`o=gu`zbqS=MMPC1W zs!v|-4JdnJoBXB8FKrY>cgmj{X)AwbthJB%KqR9Z8ymZWh$N%y^XkT!d9$@vZnIfN zH!X)o2}}(TMbTU$lD#2&HEj5wa;gDOP4NKVCEtxh#G%c*9}Y{D>HT`HA+CGQdj<*Bv)v-iG(nLnMA?0*hm zwK3*5=W>^}5y%Egk|cJ{i9F)Z=V> oW1eUvEH=w*)(A8UWTx%k1nbDwUhO;nv;Y7A07*qoM6N<$f}Eju=>Px# literal 0 HcmV?d00001 diff --git a/src/components/Options/Options.js b/src/components/Options/Options.js new file mode 100644 index 0000000..cc6be86 --- /dev/null +++ b/src/components/Options/Options.js @@ -0,0 +1,137 @@ +import React from "react"; +import Modal from "react-modal"; +import flat from "./2d.png"; +import thrD from "./3d.png"; +import on from "./on.png"; +import mute from "./mute.png"; +import ft from "./ft.png"; +import ftb from "./ftb.png"; +import ztb from "./ztb.png"; +import zt from "./zt.png"; +import shortest from "./shortest.png"; +import shortestb from "./shortestb.png"; +import ft1 from "./ft1.png"; +import ftb1 from "./ftb1.png"; +import ztb1 from "./ztb1.png"; +import zt1 from "./zt1.png"; +import shortest1 from "./shortest1.png"; +import shortestb1 from "./shortestb1.png"; +import "antd-mobile/lib/switch/style/css"; +import "./Options.scss"; + +export const displayModes = [ + { + id: 0, + name: "2D", + bg: flat, + }, + { + id: 1, + name: "3D", + bg: thrD, + }, +]; +export const searchTypes = [ + { + id: 0, + name: "最佳", + bg: shortest, + bgb: shortestb, + bg1: shortest1, + bgb1: shortestb1, + }, + { + id: 1, + name: "扶梯", + bg: ft, + bgb: ftb, + bg1: ft1, + bgb1: ftb1, + }, + { + id: 2, + name: "直梯", + bg: zt, + bgb: ztb, + bg1: zt1, + bgb1: ztb1, + }, +]; +export const audioOptions = [ + { + id: 0, + name: "语音", + bg: on, + }, + { + id: 1, + name: "语音", + bg: mute, + }, +]; + +const Options = ({ + show, + hide, + onClickDisplayMode, + onClickSearchType, + onClickPlayAudioMode, + showHeadBar, +}) => ( + hide()} + > +
+ {displayModes.map(({ id, name, bg }) => ( +
{ + onClickDisplayMode(id); + hide(); + }} + > +
+
{name}
+
+ ))} + +
+
+
+ {searchTypes.map(({ id, name, bg }) => ( +
{ + onClickSearchType(id); + hide(); + }} + > +
+
{name}
+
+ ))} +
+
+); +export default Options; diff --git a/src/components/Options/Options.scss b/src/components/Options/Options.scss new file mode 100644 index 0000000..7e656ec --- /dev/null +++ b/src/components/Options/Options.scss @@ -0,0 +1,106 @@ +.modal { + position: absolute; + width: 168px; + height: 136px; + background: #ffffff; + border-radius: 8px; + box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.08); + outline: none; + right: 59px; + top: 12px; + overflow: hidden; + padding-top: 16px; + &.has-header-bar { + top: 112px; + } + .title { + background: #f4f4f4; + padding: 0 19px; + color: #878787; + font-family: SourceHanSansCN-Regular, SourceHanSansCN; + font-weight: 400; + line-height: 40px; + font-size: 11px; + } + .row { + display: flex; + flex: 1; + flex-direction: row; + margin-bottom: 18px; + .col { + flex: 1; + text-align: center; + .up { + width: 22px; + height: 22px; + margin: auto; + } + .down { + font-size: 12px; + font-family: SourceHanSansCN, SourceHanSansCN-Regular; + font-weight: 400; + text-align: center; + color: #696969; + line-height: 20px; + } + &.active { + .down { + color: #0074ed; + } + } + } + } + .bottom { + position: absolute; + bottom: 0; + width: 100%; + line-height: 52px; + padding: 0 20px; + background: #f4f4f4; + color: #404040; + font-size: 12px; + font-family: SourceHanSansCN-Regular, SourceHanSansCN; + font-weight: 400; + .am-switch { + position: absolute; + top: 16px; + right: 20px; + input[type="checkbox"]:checked + .checkbox:after { + transform: translateX(22px); + } + .checkbox { + width: 42px; + height: 20px; + border-radius: 20px; + &:before { + content: " "; + position: absolute; + left: 1.5px; + top: 1.5px; + width: 39px; + height: 17px; + border-radius: 17px; + box-sizing: border-box; + background: #fff; + z-index: 1; + transition: all 200ms; + transform: scale(1); + } + &:after { + content: " "; + height: 17px; + width: 17px; + border-radius: 17px; + background: #fff; + position: absolute; + z-index: 2; + left: 1.5px; + top: 1.5px; + transform: translateX(0); + transition: all 200ms; + box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.21); + } + } + } + } +} diff --git a/src/components/Options/ft.png b/src/components/Options/ft.png new file mode 100644 index 0000000000000000000000000000000000000000..2f683c9cf9a99d357c873c654eec37ef55a7d213 GIT binary patch literal 720 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 N002ovPDHLkV1lq}nPC6` literal 0 HcmV?d00001 diff --git a/src/components/Options/mute.png b/src/components/Options/mute.png new file mode 100644 index 0000000000000000000000000000000000000000..f50d91074f1b351f28b3bfe014530835c71c71d4 GIT binary patch literal 1522 zcmV|juZxb`GDst!;fS-fkt_Cov;5h?$-5B#I z0Qp>Y8#jRGd9O0FI1;v<%)G%``?Z8m@T23pZZi?B0dQL=NJKAdt)D8}dtiKvSSfWo zfX@Rx%*?B;wGu|7woE3o%J=kpMi;Yi8yS0E78_esOnq_jj)AUPDA(0Hy{pAC71wKRnNSo|$D$fQX*c zTCa=Lu}CNqfa|(15>dF=j^*?D1p<-DWM=rjZ;0p-t@YM84g}k7xRrinj9DJ1|LKh& zN++e%OaOZdw!;5F0I1Gpv%OJtg)&O1`2cM2{R?BvqB#9y0f=x*OUvx4s;bU2L6l?I z^Sl;jmJpP-!x(c%IeH?6P^dUbh>8FtITIBFND88&07*bp9ALZ<6$fx#x6WESRPMsA zIDk@Wv*S3gWV6}B&%z;)dnM0CC5II0|oa|NIcKwour_064~oqcg;;#>ldWNg0H zx;xIoK4$@Y&I*^26&#gl9}HP zjBYW;EIE?{V?h+$C)R1L-;@5COlDFpmz$PKrTVhj>_91~NZF`TN)$~7aCBf`V7go# zTU%Qv=W@BDau)zF%*?Z`wQ@)PUn>Ox;BRqO4o4z7BC`VEPh*S}#>Q+>0pvP4QVwC} zrPkU{<+D=i9RLpm7J8X^uC?}fT!>KKb=?(2G%^zab{S(9CIaBP?ouN9Bv^0$;kVR4`EYS!+K|1VAbh6DCZM@R$)Of6Q9@ zS}+Su01SYO17lLm+DSxGFFL}^d1k(*s;bJAIx+_h2t+=gpKh()S!(o0A|i@VD5I465WxMx_v2E9w$_f+ zhUUzfQ(s$K`w$VW25{LZdiSK$X|KJ#{Zy%QBC21p0L00r1Vk(VF+OkJyh~E4l?Xo2kQJdCUa-}g_ z6l0}yoPOTY(sG64I35u-GIJXdN!eVo%>&H5TmA#kTI*lOQ0g=_HC07914eX5_AaKN zQtBB18-i|Yj4?07R1r!10zlC)$qT=Y%q*9chTu;`{s15utt4nqMjG0PLW#~mkW!p6 zr4IdZ9A{SCQv6sfi2?*k-*#qhC8A>8^1?gY-`~F|>Z_?yg-T(jq literal 0 HcmV?d00001 diff --git a/src/components/Options/on.png b/src/components/Options/on.png new file mode 100644 index 0000000000000000000000000000000000000000..993edb6679b0bcf6bdcb65dfdc9fdb16d53808cd GIT binary patch literal 1473 zcmV;y1wQ(TP)&@i=Q4Rp4lzI-pz2fXVqkaYOy?s9qz_`3Q2JoWR`aS^i zT=XazfaiHnG4q3Y7VKo^HO83F0Yvt@4lWsa7Jo({wCp`xuH;jzSWJkM)o z=1(mnGxIWI%uAyQ@_qlFD2iUl=_aB%VHmb2R&E(eiGZZeegIRgtkqiUm2nJlU3WDR zJ!)wWYOSXgn@U9kP)c0}V3#%GhrYhPDLp+sC*lBTYip|=931=_z`2(Ga;^35IJ_fi zN&&D6z_7<{&gVQD%MQ=;o?vEK6H;bZg<<$uEXEN;r2yCf;8ttEyf6&6Br!lKH4i|p zly1~oFG|9HvJe!*Bs@x~Z2+#a0A__@*qKC@Qfd|eV|lh|t>-4;FByRAy4#7Utyln_ z=cSps!y2+(YkhSEKoSpBB2Y=8fAXd1GFnNYN(xm{sIrk&cH)xCsONcGnE5&p5=BvK zM@PqJNp^DI_pgYeX!s^ZL|eizl+$VAQS?5blzJJ!UG_e3yD{dCB-&lqy^V-ow>;~# z)=QJ{CpwM#zCR(8$xKY8Qa=VkAl(Ldp0}8pU$ufZYpt(OVt`WWLjcl>kq9ga!|*kE z_I-a`CX<M(r9{wp07v@z`X4QtJUM zu}XTFd4@6O_tBKjoH_H%R4UaCpwZH;*IM6Uy}vMuqPOk$cCGcCvH);h_a-8G&k8$G zUtd3c)22;-wY0R1uc@i|iipm#bKelrf-nrlyZ;(WsU`sL0+?bak7l#k>EeCYb*qW! zO8^(zb+ynKBebKASP_t(=h(4hB|R>%!j~Ikq#Gwu5Ti7JI;%;VSv!g769AG9GR|ja zxiU&q%ds*B9LI5UV3kt$+t#E^A3lEkcw?L%YAgWO&}#vFYz;c$IL_=K2)gW?^oBml z0W9P-0EYm~(^?<2{5~`9Afl87cY`rT7J0!D8-P`GvJ(NIU%YCJk$gsTbMtAnwY7H= z(K5RT|4X?n`sbPX6=Tex5cs~Yq9_vZXUIDdy%UDvEd?#N1c?BMkz>Y;5wAL3$L?Zgz68KxoDTzzn;2<*LvyI}yDVMbX{Hm_L%*Qxt%l z5~b9Q0M-JSlvJ^$m!BOEYpp*hlE1hJjfkXeF3sQlj^k_xa4?(An$FJ7pArckg}AH$ z^7SaC9s#h%ep{inezIIf=gX-87~xf^?Q5CYw|hWtANU!7oM`2Mmj6GkBBG$Tw|8#bUr}*DmK8u8h2^HH04TRd blgj%WsG*`y*!E<<00000NkvXXu0mjf4`I1; literal 0 HcmV?d00001 diff --git a/src/components/Options/shortest.png b/src/components/Options/shortest.png new file mode 100644 index 0000000000000000000000000000000000000000..b628c9fca0304f6146cba58d4378423b89cc17af GIT binary patch literal 1598 zcmV-E2EqA>P) z8%GfC9zlX}rAj`5mlJp;8B57aq!WNo0Gt3g0pbL}2@od$PJnnx1Q_k+1jr{al@uix zu+!-t?Mf@{t~3&fO_lkomPNDk*VBLBG{6g9@M8nvJHxG1oZN%nR=iyUg3jiS(@4V z_mwIU?XXW&N3C4Ui~`)S5Z?NTNca@aykHKmTRxki-2JZi%{`fg@rbEMX2$ z>$>k5r(x;gB%@7$fZDSPa2bDE@>DmKykUUj+)juqI7hyxIIfq z6og^1X46;91@z*s?OK@vxNbEMx_cPKdZoHP|1d}YzrH+yCqM(-KIK|y z6-FbJN*`8Z%(1EftL*G=#N3MS%Uj(1mUqEkeYbu{v&{Zp$ceU_J(CF{b~)s+uVz*H9+ zS)4btVF(o`8;RMT$&&Og-VY-!F(Hd(UI)!@&M(Y&0Yo;3YV*xtmAA*&b?j51w{GKUDOcX%uSN+{xV_wdiL#Nj& z`9Ylozwm{HZ98=Kg6Yo*Fv_Csc59a}C7%_jcUs2iMUw~#=^XoWvA{^ijKr)SUcc^S z`AZtc`haoFVKW#-hc{BczHS}ClyKehic(M&!GyJnSwWA9cC^wTeM{fK?9Er|5ZdhI zS!lQY>9P(pLbRrG-7nGaCHEh{vLIa7@=Z(rO zD{XMGSl;6qwg!D+t8KyIv(UT31{?(Jb3;M{93fWXzl9HF4c7YA@HZ2wX2<+|ke{2Q zskEq48u}A(BJ#r!nTn9H_P;Y@bznwF#FNCPDR(BNMB8y=Gcnpx=$US5ahOa@5WDR6 zsv0&(nh=E9(#!+SIL9;#4@IQG1xUUz`8yW&>M{u&9b1Xfhq=d*5@Kq7G#yC|5Dqzz zn!C%)1-%kuY$yyaK)DAxjH-0ZT92cH5L00j`EqZn&dh^2`#wG{_@=Pio1>}qqBX5Z z2*8ecG<20DwKZDa7JAXkoC8&x91$#@_U9QfEyTNbp_F@Zf~NwtCcY%$nRL#P1U60a zAR&MZ)`TOG$CS5kIBa_S+;FW_vgS|$ilbLOzOeB8s3^wduHl8X9f~=<`4;jZL9FU$ zjZ7-x7Ardnd#rL2gnbI1vFR(ZUa4N`kVv0+V~SQb7)$0d%G-TRQ-J!vF!4raoKM}Y wa@}$zvR#xy7v~7jua9OecD>*QFZgfpFaPEiY4DOVQUCw|07*qoM6N<$g4oCP(*OVf literal 0 HcmV?d00001 diff --git a/src/components/Options/shortest1.png b/src/components/Options/shortest1.png new file mode 100644 index 0000000000000000000000000000000000000000..38c696d2f46c4bfd8ed40f69ad31441994c96a76 GIT binary patch literal 1617 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 literal 0 HcmV?d00001 diff --git a/src/components/Options/shortestb1.png b/src/components/Options/shortestb1.png new file mode 100644 index 0000000000000000000000000000000000000000..069873226318ef7d554c28ef4f5802c0c8f58878 GIT binary patch literal 1799 zcmV+i2l)7jP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&07PY2NoGw=04e|g z00;m9hiL!=000010000Q0000000W=_00RI300962005u@00aO40096106d@r00aO4 z0096106qW!008kHx;y{?224prK~z{r&6o*nlVupk|Gl?f8KM`Ci40um8FRfBprPLxq9?0HFSF2%BBB?h*a3TIr@`?R`=ka=D8&;2S4 zT5Z7abrrbu&>@^{K;s5=kRj)NEjqXGdTU>y6`hvqvHD~sKW;GN7z5&^_-lq1ANGw9 z&Hy&M6Y~$6`F?{MXR-mG?liIbn2~wN6$=B}$*|!q72+~={Ft$Jlp5V*C0KsUf|p{YnAA%FxkR{FjoPWCZ(A8w zjZ`ABneWXZdrl@~Nr_m5(Ou+d6(z>v;WQ}asDAM>q$J8P_jfZkce=|#-{tXKa-tl&C#d;;oiO9-;`2nI^j$`N-F=+AzMLNiBH*-^n!HZ!(aOK;YZL#B7$csSA%b%2FxrZl zyNI)Qy{j@*0vb25hXQFm6<9h#iB8Q!Gp;(!$h>qdGKVO!krogmQYc&QZ9oJM24qF9 z#knp&v}p~-ylk^GZlTVZbCu>j2tiZHo&p7Lrl}zfIgN); zSVLEmymm|M1DCAGzHGxCgA-fMT5-A9D-x?{_b#1(T|j8N~+IW$Ene6 znE}^J?L02Gj8UOioD{uR8gN_Z;L3xgl3f>U$e?Ff4$LAs{z~hba=b3Wo|L3G338`u zkUdF*=m-%M!h0MfQ!bOlK7HHH4P!9naYygKrqh)uHac*!sEX^iPzl>}wP8|e>p3gz zWX}Xj+DwToI&4AV13O+L^^(>@j#Fgtj6EitzgLB?hANTTRZg)gf+k2-s?#_N3Be-r zKrE>bHib`$!UqoYT%m`EvQu7q6goDkd-8m)Fd_NI+6t)Vlp$e}4%*MksOd0Z+xaJx z;|l(>qoUG@a?%vv=30ca{;6TyFEl-URvEDWqLs%G!%o`^)VhuOu>upf2G(eyFtno# z%`~ppT7zf-&$Rwq;=l{kmRW2rqvA=ou~l`W%z;`!?b>Ma-lX+gy!%r+Y;pTg(( z4ev+$!{fQuU+Pgr4F{9sr3)JQd=cx$S<}ndoT|pypDXx&JM!?kkD|g_G_S8NN6r-+ z@3wBui5AZK;_;l0N)qE)t=O-tJ5*a$Hj0(FMlOAKt<(X1kbjG6bK)kY0-{l5jga@j zbJZQBw))FQG<&?;JjV;^YH znx=~l>b`~TXCAU(=}`-R?$mTG+L9CthR3)E)Qfb<(&L`N@9D z$7^adzRYVcW*K<8VXUFm+(acp8l@c*J@@&*Nc3srs<&>kCu@EF?(&Dn{H8SE&IuZ{ zAa5~Peq*)KZ5T6l3H1`y4P!7*9H2ToDJcSDX_b%aEXU3ZR+LaJr49^h@+v7_C3r4I z0u9w-W^5>iF?`BbF?C$a$o)J1w&ETMOBF4Se$K}nFEkbK@u8@41chHP78jA_k pAqg_>VfG?_|6taIk8w{A!2b~Dl0L8`ASnO<002ovPDHLkV1n;RJv;ya literal 0 HcmV?d00001 diff --git a/src/components/Options/zt.png b/src/components/Options/zt.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbf13ad0aef79cddad980324fb41fb0e64cf4ff GIT binary patch literal 565 zcmV-50?Pe~P)D`+Z11ZpRT#Qa(~)f zE?0m+AQ12gngjfPl7N(R<+_Gpv6Fz=cC&mt9%PkilF|VNuZbAQ7jux+O@zTx{bLzi zI9E**#Ab!y03SV27xyu__$Lqq_@;3UoPv)hnaa5!-q#s8!g-tmVwPVJWkRfH&=RL7 za5st<>IYLGO!@eJ4jySOKnIV2kL3WdXFiHw!4s_nRDv(T#Fq$b0jGm6@FT)XfEhdy z?CNYEBCG@uvCqPmDqA4XqPW(!q(dgj{l|j3$4bCfEN41M9sIT?)iwFM#CjjlL7wC9 zicm`UCJ1PYuA%ri&RqQ_&c&Pyc>zfInOoVht_A5gzfGaos{kSyVbKUtg`hHbr4unx z6Qbf$O1QDPXRoi&$7Y=n&~aNNsul z2(^UEMwLtOnqC*Ni4d#lEuZXlI&!U{oCF-su76VdoLfVMo!B=QFQEE;prIG(8?(py zA73Hb!$6^$^L9mmBsQg<59T%y(Vpj`7!K&1Bbc=3C00000NkvXXu0mjf DF75Hm literal 0 HcmV?d00001 diff --git a/src/components/Options/zt1.png b/src/components/Options/zt1.png new file mode 100644 index 0000000000000000000000000000000000000000..17be274028a93e7463af14cf9a1257379685dba3 GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcX91fH32|H2Dgkpi63mXPU1sgBFm@!NAy_$-n|+F#@p^5Hm0^ zFJNR~2GWcmu?0+US(^pSaJC&t;YayhHb7;4o-U3d5$McZVi&jSm-)z25K(u!Iuw%YiR=&ii%b8Pwdr?=cQat#d7 zo1R%w8Q~F>-!)`m^=TOMh9EN^>r?(H@EJ{nJXB;m0%XyJ{QB^q&;^0sUCxhZ!|=V^EDy59EZ zN44wU+bV5M9z3iQCAc2dOJ6eK{aQ75>I@Iwr=KfDx?Pt9{i|Q&!8>zVXWaVs!w(M_ zZ+FSkn0Hyp`K8F?j}~^(+ivC<%sv~@*?HxHEzsB7yU_DasPet z&X`LnS59o=Ic%U|e|5rl(OS{z=f$pF(C)mc$!y2CK~#7F?U>m!7Bw8!cv zXgcl06Q27H1lZ?5!bA*NyhS7n9hfK*ZxKtQ&cs*HR4m@YJ&8BiFFDLMtBb3aBH5j} z*7k)SZf8ynNTa*c(xeQm&@M~dkTP%q<_~is_QsB&D2mb)e`B^lKSK6ueEYzVJpcdz literal 0 HcmV?d00001 diff --git a/src/components/Options/ztb1.png b/src/components/Options/ztb1.png new file mode 100644 index 0000000000000000000000000000000000000000..f786a6397a0e223729ae4faccbdc06c043fd6b7e GIT binary patch literal 590 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0h7I;J!GcX91fH32|H2Dgkpi63mXPU1sgBFm@!NAy_$-n|+F#@p^5Hm0^ zFJNR~2GWcmu?0+US(^pSaJC&t;YayhHb7;QJzX3_BHWYz@U!qVa~L?jbY$Mp7I0ya zKF@3Y|4pAVn3+m%N?beo(V>!~!L&tg?|=5xi+m3@H9yiYo|2Y$V#5=LWP#a14jY?| zbZ$y6V=rtp?C{l;DCwM)#2#DsZ~DV8!W?WHHCZEyXP!Lb&yzm?Pb1LGp4145b5A}y zR&qFOX^yhpDe;8m1owsZ12UnTA4^YRXB4r1QNLYaMw(77`?84#|M_$r?7M8=n3>Yx zEw9JUyWhn(*Wi_cQ^FO;mIEuAIT|OvU7%uI))uLFCqS;uA)MWEcL3zoGR|?FUX>9VoVH*6_3syHr*;q(UbNk3MPvdmt|K5YC z*Pb5~PW^uWZ>mMjd-EynvKOv89%%?<7i3b|zVamNk!>p<^8MoS$$mcnUn0ZDps@PX z9bcuk_LpjK2ODc1$dk%qckrDuGtp1OoLPAT3q$F_oePf&-*McvcfQ2BJqvQ ( +
+ {floors} + {defaultPopup} + {showPopup && ( +
+ {shop.hasCoupon && ( + onClickCoupon(shop)} + > + )} + 关闭 closePopup()} + > +
+ {shop.logoPath && ( +
+ )} +
+
{shop.name}
+
+ {shop.shopFormat ? shop.shopFormat : " "} + {shop.floorName} +
+
+
+ +
+
setEnd()}> + 导航动画 +
+
handleAR(shop)}> + AR实时导航 +
+
+
+ )} +
+); +export default Popup; diff --git a/src/components/Popup/Popup.scss b/src/components/Popup/Popup.scss new file mode 100644 index 0000000..3d9ddb9 --- /dev/null +++ b/src/components/Popup/Popup.scss @@ -0,0 +1,194 @@ +.popup-wrapper { + position: absolute; + width: 100vw; + left: 0; + bottom: 0; + z-index: 10000; + box-sizing: border-box; + &.noshow { + padding: 0; + } + .popup { + position: relative; + width: calc(100vw - 20px); + margin-left: 10px; + margin-bottom: 26px; + background: #ffffff; + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + border-radius: 18px; + height: 200px; + background: #fff; + .couponTop { + position: absolute; + left: 0; + right: 0; + top: -40px; + z-index: -1; + width: 100%; + object-fit: contain; + } + .close-icon { + position: absolute; + top: 16px; + right: 16px; + width: 24px; + height: 24px; + z-index: 10; + } + .r1 { + display: flex; + width: 100%; + padding: 14px 20px 0 14px; + height: 110px; + .avatar { + width: 80px; + height: 80px; + background: #ffffff; + box-shadow: 0px 8px 16px rgba(104, 110, 127, 0.08); + border-radius: 6px; + margin-right: 22px; + background-size: 64px 64px; + background-position: center; + background-repeat: no-repeat; + } + .popupname { + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 24px; + line-height: 34px; + color: #323337; + margin-top: 10px; + margin-bottom: 10px; + } + + .popupdesc { + display: flex; + align-items: center; + justify-content: space-between; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + color: #a1a5b3; + } + } + + .tabs { + position: relative; + display: flex; + padding: 20px 14px; + padding-bottom: 0; + &::after { + content: ""; + position: absolute; + top: 0; + left: 20px; + right: 20px; + border-top: 1px dashed #edeff3; + } + .tab { + position: relative; + display: flex; + justify-content: center; + align-items: center; + flex: 1; + height: 56px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + border-radius: 10px; + text-align: center; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #ffffff; + img { + width: 20px; + height: 20px; + margin-right: 8px; + } + } + .tab + .tab { + margin-left: 14px; + } + } + + .meta { + line-height: 12px; + vertical-align: middle; + img { + width: 12px; + } + .title { + color: #7e7e7e; + font-size: 12px; + margin-left: 5px; + } + } + .detail { + color: #a9a9a9; + font-size: 12px; + line-height: 16px; + padding-right: 17px; + padding-bottom: 30px; + .title { + margin-bottom: 4px; + color: #7e7e7e; + font-size: 14px; + line-height: 14px; + } + .content { + max-height: 64px; + overflow: scroll; + } + } + + .navbtn { + position: absolute; + top: 46px; + right: 14px; + text-align: center; + &::before { + content: ""; + display: block; + position: absolute; + top: 9px; + left: 0; + right: 0; + margin: 0 auto; + width: 74px; + height: 30px; + background: linear-gradient( + 90deg, + rgba(46, 177, 255, 1) 0%, + rgba(61, 140, 255, 1) 100% + ); + border-radius: 17px; + opacity: 0.5; + filter: blur(4px); + z-index: -2; + } + &::after { + content: "去这里"; + display: block; + top: 0; + right: 0; + z-index: 2; + background: linear-gradient( + 90deg, + rgba(46, 177, 255, 1) 0%, + rgba(61, 140, 255, 1) 100% + ); + border-radius: 17px; + line-height: 34px; + padding: 0 18px; + font-size: 12px; + font-family: SourceHanSansCN-Medium, SourceHanSansCN; + font-weight: 500; + color: #fff; + } + } + } +} diff --git a/src/components/Popup/ar.png b/src/components/Popup/ar.png new file mode 100644 index 0000000000000000000000000000000000000000..67fba043f275c904cf7fa3ac1f57456470bc95f4 GIT binary patch literal 1073 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 M07*qoM6N<$f-Q^~761SM literal 0 HcmV?d00001 diff --git a/src/components/Popup/desc.png b/src/components/Popup/desc.png new file mode 100644 index 0000000000000000000000000000000000000000..179b09c0a7118b3374dd757d68b1dd6e5e7479d9 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^5PqH9#a{2TW z9teP)opK=J!7K$^Vv;(VrEz4S`|nTzD`j3fvp&sg+4euwz>$=X4=6>1)PpPJCQ{0t zb0x^uc)kdR{Y26FxdQjnHnv+479f~Dk?BKK(7oN&G1 z_|WQHQtVzQGH+SEOv(KPxB%}D3B^j)XU89C8>S~W~9|if~+r9D{$~!6JIX^qK{OADPl^!2#V@Zinyj;1O(f; z6fx(omk3GiOA&L_OM;*`Ma)?*k&@b#B9^L`1%fXrVvTwUNNSd1PmiHCj>ITs>%|B9 zzq`xVi;I~Q6>J4Zic$6Q2Ko76$7k3YEXBI@;(|Pj(e+Z~@3*FD&PMLnyuHEB&NFuj Wxku+JZKBNp0000 ( +
onClick()} + className={ + "shop" + + (hasBorderTop ? " has-border-top" : "") + + (isRow ? " is-row" : "") + } + > + + {isRow ? ( + <> +
{name}
+
{shopFormat}
+
{houseNum}
+ + ) : ( + <> +
{name}
+
+ {shopFormat} {floorName} +
+ + )} +
+); + +export default Shop; diff --git a/src/components/Shop/Shop.scss b/src/components/Shop/Shop.scss new file mode 100644 index 0000000..0951497 --- /dev/null +++ b/src/components/Shop/Shop.scss @@ -0,0 +1,91 @@ +/*postcss-pxtransform disable*/ +.shop { + font-size: 0; + line-height: 0; + overflow: hidden; + &.is-row { + position: relative; + height: 66px; + background: #ffffff; + border-radius: 12px; + .avatar { + position: absolute; + width: 50px; + height: 50px; + top: 8px; + left: 8px; + border: 1px solid #e9d7ad; + box-sizing: border-box; + border-radius: 6px; + padding: 7px; + } + .name { + position: absolute; + top: 10px; + left: 66px; + font-style: normal; + font-weight: bold; + font-size: 16px; + line-height: 22px; + color: #333333; + } + .houseNum { + position: absolute; + left: 67px; + bottom: 13px; + font-style: normal; + font-weight: 500; + font-size: 10px; + line-height: 13px; + color: #b3aea7; + } + .format { + position: absolute; + top: 11px; + right: 16px; + font-style: normal; + font-weight: bold; + font-size: 12px; + line-height: 17px; + color: #b3aea7; + } + } + .avatar { + width: calc((100vw - 96px - 18px - 10px - 11px) / 3); + height: calc((100vw - 96px - 18px - 10px - 11px) / 3); + padding: 8px; + background: #ffffff; + box-sizing: border-box; + border-radius: 6px; + } + .r1 { + padding: 0 4px; + margin-top: 4px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 17px; + color: #323337; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .r2 { + margin-top: 4px; + display: flex; + justify-content: space-between; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 9px; + line-height: 13px; + color: #a1a5b3; + padding: 0 4px; + span { + font-weight: normal; + font-size: 10px; + color: #a1a5b3; + } + } +} diff --git a/src/components/Shop/desc.png b/src/components/Shop/desc.png new file mode 100644 index 0000000000000000000000000000000000000000..179b09c0a7118b3374dd757d68b1dd6e5e7479d9 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^5 { + const [index, setIndex] = useState(0); + const shops = mall.shopInfo.reduce( + (acc, { shopList }) => acc.concat(shopList), + [] + ); + const upperQ = q ? q.toUpperCase() : ""; + const filteredShops = shops + .filter(({ yaxis }) => yaxis) + .filter( + ({ + name, + nameEn, + floorName, + initials, + spelling, + initialsCn, + initialsEn, + }) => + !q + ? true + : [ + name, + nameEn, + floorName, + initials, + spelling, + initialsCn, + initialsEn, + ] + .map( + (key) => + key && key.toUpperCase && key.toUpperCase().includes(upperQ) + ) + .reduce((acc, nxt) => acc || nxt, false) + ) + .filter( + ({ shopFormat, floorOrder: floorOrder1 }) => + (format === null ? true : shopFormat === format) && + (floorOrder === null ? true : floorOrder1 === floorOrder) + ); + const listRef = useRef(null); + return ( +
+ setIndex(index + 1)} + hasMore={filteredShops && filteredShops.length > index * 10} + useWindow={false} + getScrollParent={() => listRef && listRef.current} + > +
+ {filteredShops.map((shop, i) => ( + onClick(shop)} + isRow={isRow} + > + ))} +
+
END
+
+
+ ); +}; + +export default ShopList; diff --git a/src/components/ShopList/ShopList.scss b/src/components/ShopList/ShopList.scss new file mode 100644 index 0000000..ac9f31d --- /dev/null +++ b/src/components/ShopList/ShopList.scss @@ -0,0 +1,70 @@ +.shop-list { + width: 100%; + padding: 0 10px; + &.is-row { + padding: 0 8px; + .list { + display: grid; + gap: 8px; + grid-template-columns: 1fr; + } + } + .list { + display: grid; + gap: 12px 9px; + grid-template-columns: 1fr 1fr 1fr; + padding: 10px 0; + } + .search-his { + position: relative; + padding: 0 14px 0 15px; + color: #5a5a5a; + font-weight: 400; + font-size: 12px; + line-height: 45px; + background: #fff; + .button { + float: right; + color: #4d9fdd; + } + &::after { + content: ""; + position: absolute; + display: block; + width: calc(100vw - 29px); + bottom: 0; + border-top: 1px solid #f7f7f7; + } + } + .end { + display: flex; + width: 100%; + height: 24px; + justify-content: center; + align-items: center; + margin-top: 24px; + font-family: DINPro; + font-style: normal; + font-weight: 500; + font-size: 18.5px; + line-height: 24px; + text-align: center; + color: #c9cbd1; + } + .end::before { + content: ""; + display: inline-block; + width: 84px; + border-top: 1px solid #dedede; + vertical-align: middle; + margin-right: 10px; + } + .end::after { + content: ""; + display: inline-block; + width: 84px; + border-top: 1px solid #dedede; + vertical-align: middle; + margin-left: 10px; + } +} diff --git a/src/components/ShopTabs/ShopTabs.js b/src/components/ShopTabs/ShopTabs.js new file mode 100644 index 0000000..bc0a186 --- /dev/null +++ b/src/components/ShopTabs/ShopTabs.js @@ -0,0 +1,24 @@ +import React from "react"; +import "./ShopTabs.scss"; +import floor from "./floor.png"; +import floorActive from "./floor_active.png"; +import format from "./format.png"; +import formatActive from "./format_active.png"; +export default ({ tab, onSetTab }) => ( +
+
onSetTab("业态")} + className={["tab", tab === "业态" ? "active" : ""].join(" ")} + > + + 业态 +
+
onSetTab("楼层")} + className={["tab", tab === "楼层" ? "active" : ""].join(" ")} + > + + 楼层 +
+
+); diff --git a/src/components/ShopTabs/ShopTabs.scss b/src/components/ShopTabs/ShopTabs.scss new file mode 100644 index 0000000..8553412 --- /dev/null +++ b/src/components/ShopTabs/ShopTabs.scss @@ -0,0 +1,32 @@ +.shop-tabs { + display: flex; + width: calc(100vw - 20px); + height: 56px; + background: #edeff3; + border-radius: 12px; + justify-content: space-around; + align-items: center; + .tab { + display: flex; + width: calc((100vw - 20px - 8px - 3px) / 2); + height: 48px; + justify-content: center; + align-items: center; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 16px; + line-height: 22px; + color: #7a7e8d; + &.active { + background: #ffffff; + border-radius: 8px; + color: #323337; + } + img { + width: 20px; + height: 20px; + margin-right: 8px; + } + } +} diff --git a/src/components/ShopTabs/floor.png b/src/components/ShopTabs/floor.png new file mode 100644 index 0000000000000000000000000000000000000000..80971d35a9311e717524f446ad68e39f885ea3e3 GIT binary patch literal 901 zcmV;01A6?4P)oe*~_!w^%bljYlEKOFFXR?2ZSofomfcvBAm#oo#UMg?f6#j1qU2Z zprR0ZVp8o)ZOja(scf;Q4BFr{l@0a{@pq3AztSpGZw--EvT$Z;v9Rrf!|nwcI!`>L z7vkR1+KS(H#7Q{g!J=KnRbaHjX3%>DD=JDIV9b|1nj-L2K1y>iLa_mxHAL_rJ;JK- zHvB%#iRV-pW$_us8T@jtgFz5X)8Vv}QqJH5YRIf4nKYmZY(s{koPNl;=P*`Fbpph1 z%;EL-n!ae%2lo$8tBkq6tW_`<+VA|Gk!;+e6Hu<9FfPK0Ugv0U1Q{~kN%CN~#c6DC zjwKAsows{qnNc0~=$Z$oE|%0_5{nw48hc7goMNmQ=k-&;Xxd<_cZuTep{QIfc2MI~ zr2xgfqJ?Z}4eGkRs&Yl_TAZ4S=FZKwxJxOE#HMm@$2gdcGiEH~(2-fi(I!vZOV}tV}7xG%joRJKn4m$%@%!4yZ0S9=E zgEN%HlJvpk30hmZsvFVnk3{)Vl?sZIfdKIqfR{t({0l^esZ z#i`n(X-r!-Mp+~agnjx&MSP~i9$m9>#^=&kbao%KJZdeatLTu=Xzy)|b>ofNj16`h zoYn^Kf@Wi1SA(`PxReh2!b;-4DbBSSjHJaLQy!c$t^EI>3cC$Xnb!6X>k@nP*%s%$ b{!9G>|C`S5wr{_P00000NkvXXu0mjfQKqU- literal 0 HcmV?d00001 diff --git a/src/components/ShopTabs/floor_active.png b/src/components/ShopTabs/floor_active.png new file mode 100644 index 0000000000000000000000000000000000000000..5c663208dea2cd7307416e51a40c68e315abf22b GIT binary patch literal 858 zcmV-g1Eu_lP))W zj_jNPzQ}aVyu0Yl^_S;U*g|B3wE(MrWqB_CHgX=ld=f$T+o$pj2qGCw;jE_H5n&cj z%HSX~WJbka$e~;?-vK24*Paz06lV5j1AHW-(h@@;L@+rQEpwP5!|-W9=VTT5#&gT;u@f<0^7h*MeXH*bwT zZyI&1gZj+P!EVH93ITESO~ui7Xf82GCJb$ZjyJBB%)-l9K)E84meYr zwqH7Ovp7EFJ>JoDITdVkM&DmL`10AnmeFqaK?-&PPO`y7uGpzKoej#}dzEFg6v0r3 z(1snP`2sj)2&_HUEO8v@*3y)j%^S2mbB%Yqls7$2O$caj*s8%(Q3o~OxJ3)L4W~H- zT9PS+L7r2b`(N>=~W^RY$yPC9-8S zi`28Xut6ybb_!0i!GA^_u<{J&;M9q1Fp&{E0jEw| k8%&g7k0&MKeAIubKWekXVD1`tNdN!<07*qoM6N<$f`>4I&j0`b literal 0 HcmV?d00001 diff --git a/src/components/ShopTabs/format.png b/src/components/ShopTabs/format.png new file mode 100644 index 0000000000000000000000000000000000000000..deeb6f1369048abe7b71c0f88652c4137e00e9c4 GIT binary patch literal 1266 zcmVKAG@ZFDBA5m^t?Lz*wnV? z&*m;9h=9TLKS6Ah%kTizwfQ_6&_?#(hf$C>I(+T2AtZUiPWH@;+9)N+or0NR(@z}6 z4fuf5C?%}|v#k{!B}I0KpbrZ$A0!C9* z|McXd#xGvJ&v=gXdaJR2ZNGOW>gL%&TT4RyNRYW)~kNG3a& zxwIPYfCHZE<=@>u`(ITzUnBY(yu|^y(Px?d6D#3XK|B1_{iFN!H{boM5WnQd&s=?E z=a}60MOV{OHFFeQev2cj@#iw$MGW|+*VBYOS7j-JR1VZ03l6o7S!UqtE#IFztIV@& ctZ^Us4AA(nP9RL6T07*qoM6N<$f`vk3`~Uy| literal 0 HcmV?d00001 diff --git a/src/components/ShopTabs/format_active.png b/src/components/ShopTabs/format_active.png new file mode 100644 index 0000000000000000000000000000000000000000..14d01c57cd1b681074115a7a18400ecf576b0f2f GIT binary patch literal 1213 zcmV;u1Va0XP)v5m~YCu@E1CWLQvR9g` z=RfcK2zEfwpt9#r8ie#Cd#LiP5fDTQ=MUlAA42#Ng1=miD>Dy1u%jT~f`&xUdAd32 z!UmjOj~YBli(jyu?*_t>hF^@dn zv$iXjAZJz!y9CfSZ|vG4idJy-caZjBLL)>v#>v4Y_9yHX1m;D?6dG$PKQCUt$T|iM=-BW6Q z8r~&iGP8nAuI5}vX>tai?)(r*cAeJ@&aUaz>Zb{jMC>ZjcF7rp9UQ8olLpvBwaW}Wb7)SKk|GSk_4g`-yo`PCrAnB5fs2UPYm-! zd`dN`O2T$iIwBgv2IL$P9K=_JDQ15_T+e}!-K`8kbO@T*$~&R^f;o_>Jljj#WC+^W zaspRM`SGkdYS_Tv6HH~XITAP%#Gs+l@SL{IP1J@EBEE;u0Yd%pt^Z)hzxk(*AU}N8 zc!iC}yW{)x?c79d$`@+UhOY$D(9R=gAc_Wky8W($Tz=A(W3OP}nq%zX zgv|fKfa9+uyjL3Ll_FcE*72j245fg2p{)=@0Y`(UclZ|^@WR+CSPg>KxFV;z%7U|8 zWOKyZx{^yKB~7IYiflDfbUgQ>T?FsO7_`d9h|L)%QxqHDh9z1ZmZi~<+mvP`J7v9T z6i=w;^G;g9xF|fuHjx_H^^)a|eM{-}&zk?Xi%fC}8kxSM65b1p=rzS5?^$Mxt=tE4 z$g!H%*wvHc`?T~re={c70gvzeM0A+6B?Mh^)Wp3Ci-s1Lz+QTe48f^{0G$TMD&brI z8TN>!{OYnYACO$BcPxvO$!~m-NZMI7gKI@?GJRSJ?-RBVIF$-_5v&C3)#Eq};f3MO zL5Mpj>g4FcyqA_=TCdeNiewxac~#^Go$e7StKhR+OteSvGzr{(Er>mHbLCV8d+o*+P$R9(jZf*1OlMe$ z-B4Ch=N5Hj*iQm~8JXo&I_;TS$gDhYku|PlQlTZ@n0j zgGHW#KH?6aK3HrP>A8#F|7(%Z?X5mI_Be)5!(Bgp7(+8)vsmT6g=P9Cv1vpv5xsVM zoU9ubtp(%^wyK$*o3o$zGg%!M{c?pT8*pVA {}, + wingHeight, +}) => { + const [tab, setTab] = useState("业态"); + const [format, setFormat] = useState(null); + const [floorOrder, setFloorOrder] = useState(null); + useEffect(() => { + if (reset) { + setFormat(null); + setFloorOrder(null); + setTab("业态"); + onReset(); + } + }, [reset]); + const formats = mall + ? mall.shopInfo.reduce( + (acc, { shopList }) => + shopList.reduce( + (acc1, nxt) => + acc1.includes(nxt.shopFormat) + ? [...acc1] + : [...acc1, nxt.shopFormat], + acc + ), + [] + ) + : []; + const floors = mall ? mall.floorData : []; + const floorNameOrderMap = floors.reduce( + (acc, nxt) => ({ ...acc, [nxt.name]: nxt.floorOrder }), + {} + ); + const floorOrderNameMap = floors.reduce( + (acc, nxt) => ({ ...acc, [nxt.floorOrder]: nxt.name }), + {} + ); + return ( + <> +
+ { + setFormat(null); + setFloorOrder(null); + setTab(el); + }} + > +
+ +
+
+ { + if (tab === "业态") { + setFormat(el === "全部业态" ? null : el); + } else { + setFloorOrder(el === "全部楼层" ? null : floorNameOrderMap[el]); + } + }} + list={ + tab === "业态" + ? ["全部业态", ...formats] + : [ + "全部楼层", + ...floors + .filter(({ url }) => url !== null) + .map(({ name }) => name), + ] + } + > +
+
+ +
+
+ + ); +}; +export default ShopsWithFilter; diff --git a/src/components/ShopsWithFilter/ShopsWithFilter.scss b/src/components/ShopsWithFilter/ShopsWithFilter.scss new file mode 100644 index 0000000..7f782b1 --- /dev/null +++ b/src/components/ShopsWithFilter/ShopsWithFilter.scss @@ -0,0 +1,22 @@ +.wings { + display: flex; + width: 100vw; + height: calc(100vh - 156px); + border-top: 1px solid #edeff3; + margin-top: 8px; + .left { + width: 96px; + flex: 0 0 96px; + height: 100%; + background: #edeff3; + overflow-x: hidden; + overflow-y: auto; + } + .right { + flex: 1; + height: 100%; + background: #f3f4f8; + overflow-x: hidden; + overflow-y: auto; + } +} diff --git a/src/components/SideBar/SideBar.js b/src/components/SideBar/SideBar.js new file mode 100644 index 0000000..d84867c --- /dev/null +++ b/src/components/SideBar/SideBar.js @@ -0,0 +1,15 @@ +import React from "react"; +import "./SideBar.scss"; +export default ({ list, active, onSetActive }) => ( +
+ {list.map((el) => ( +
onSetActive(el)} + > + {el} +
+ ))} +
+); diff --git a/src/components/SideBar/SideBar.scss b/src/components/SideBar/SideBar.scss new file mode 100644 index 0000000..e9df43e --- /dev/null +++ b/src/components/SideBar/SideBar.scss @@ -0,0 +1,20 @@ +.side-bar { + width: 100%; + .option { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 48px; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 12px; + color: #474a56; + &.active { + background: #ffffff; + color: #437af7; + font-weight: 600; + } + } +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..a85797d --- /dev/null +++ b/src/index.js @@ -0,0 +1,16 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import App from "./App"; +import reportWebVitals from "./reportWebVitals"; + +ReactDOM.render( + + + , + document.getElementById("root") +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/src/js/helpers/attach-helper.js b/src/js/helpers/attach-helper.js new file mode 100644 index 0000000..5caa791 --- /dev/null +++ b/src/js/helpers/attach-helper.js @@ -0,0 +1,244 @@ +const rotate = (theta) => ({ x, y }) => ({ + x: Math.cos(theta) * x - Math.sin(theta) * y, + y: Math.sin(theta) * x + Math.cos(theta) * y, +}); +const offsetNavPoint = (mapData, number) => { + const { shopArea, path, stairs, icons } = mapData; + shopArea.forEach((area) => { + if (area.shopNav === -1) return; + area.shopNav += number; + }); + path.nodes.forEach((obj) => { + obj.id += number; + obj.list.forEach((node) => { + node.id += number; + }); + }); + stairs.forEach((obj) => { + obj.navCode += number; + }); + icons.forEach((obj) => { + obj.navCode += number; + }); +}; +const rotateAll = (mapData, theta) => { + const rotateByTheta = rotate(theta); + const adj = (obj, xProp, yProp) => { + const { x, y } = rotateByTheta({ x: obj[xProp], y: obj[yProp] }); + obj[xProp] = x; + obj[yProp] = y; + }; + const { floorArea, buildArea, shopArea, path, stairs, icons } = mapData; + let areas = []; + if (floorArea) { + areas.push(floorArea); + } + if (buildArea) { + buildArea.forEach((area) => areas.push(area)); + } + if (shopArea) { + shopArea.forEach((area) => areas.push(area)); + } + if (path) { + path.nodes.forEach((obj) => { + adj(obj, "x", "y"); + obj.list.forEach((node) => adj(node, "x", "y")); + }); + } + if (stairs) { + stairs.forEach((obj) => adj(obj, "x", "y")); + } + if (icons) { + icons.forEach((obj) => adj(obj, "x", "y")); + } + areas.forEach((area) => { + area.hasLines.forEach(({ startPoint, endPoint }) => { + adj(startPoint, "x", "y"); + adj(endPoint, "x", "y"); + }); + adj(area, "xaxis", "yaxis"); + }); +}; +const scale = (ratio) => ({ x, y }) => ({ + x: x * ratio, + y: y * ratio, +}); +const scaleAll = (mapData, ratio) => { + const scaleByRatio = scale(ratio); + const adj = (obj, xProp, yProp) => { + const { x, y } = scaleByRatio({ x: obj[xProp], y: obj[yProp] }); + obj[xProp] = x; + obj[yProp] = y; + }; + const { floorArea, buildArea, shopArea, path, stairs, icons } = mapData; + let areas = []; + if (floorArea) { + areas.push(floorArea); + } + if (buildArea) { + buildArea.forEach((area) => areas.push(area)); + } + if (shopArea) { + shopArea.forEach((area) => areas.push(area)); + } + if (path) { + path.nodes.forEach((obj) => { + adj(obj, "x", "y"); + obj.list.forEach((node) => { + adj(node, "x", "y"); + node.cost *= ratio; + }); + }); + } + if (stairs) { + stairs.forEach((obj) => adj(obj, "x", "y")); + } + if (icons) { + icons.forEach((obj) => adj(obj, "x", "y")); + } + areas.forEach((area) => { + area.hasLines.forEach(({ startPoint, endPoint }) => { + adj(startPoint, "x", "y"); + adj(endPoint, "x", "y"); + }); + adj(area, "xaxis", "yaxis"); + }); +}; +const translate = (tranlateX, translateY) => ({ x, y }) => ({ + x: x + tranlateX, + y: y + translateY, +}); +const translateAll = (mapData, tranlateX, translateY) => { + const translateByXy = translate(tranlateX, translateY); + const adj = (obj, xProp, yProp) => { + const { x, y } = translateByXy({ x: obj[xProp], y: obj[yProp] }); + obj[xProp] = x; + obj[yProp] = y; + }; + const { floorArea, buildArea, shopArea, path, stairs, icons } = mapData; + let areas = []; + if (floorArea) { + areas.push(floorArea); + } + if (buildArea) { + buildArea.forEach((area) => areas.push(area)); + } + if (shopArea) { + shopArea.forEach((area) => areas.push(area)); + } + if (path) { + path.nodes.forEach((obj) => { + adj(obj, "x", "y"); + obj.list.forEach((node) => { + adj(node, "x", "y"); + }); + }); + } + if (stairs) { + stairs.forEach((obj) => adj(obj, "x", "y")); + } + if (icons) { + icons.forEach((obj) => adj(obj, "x", "y")); + } + areas.forEach((area) => { + area.hasLines.forEach(({ startPoint, endPoint }) => { + adj(startPoint, "x", "y"); + adj(endPoint, "x", "y"); + }); + adj(area, "xaxis", "yaxis"); + }); +}; +export const merge = ( + { + floorArea, + buildArea = [], + hollowArea, + shopArea = [], + path: { nodes = [] }, + decos = [], + icons = [], + stairs = [], + parkArea = [], + }, + { + floorArea: floorAreaB, + buildArea: buildAreaB = [], + shopArea: shopAreaB = [], + path: { nodes: nodesB = [] }, + decos: decosB = [], + icons: iconsB = [], + stairs: stairsB = [], + parkArea: parkAreaB = [], + }, + portal +) => { + const data = { + floorArea, + buildArea: [ + ...buildArea, + ...(floorAreaB ? [floorAreaB] : []), + ...buildAreaB, + ], + hollowArea, + shopArea: [...shopArea, ...shopAreaB], + path: { nodes: [...nodes, ...nodesB] }, + decos: [...decos, ...decosB], + icons: [...icons, ...iconsB], + stairs: [...stairs, ...stairsB], + parkArea: [...parkArea, ...parkAreaB], + }; + if (portal) { + const getDis = ({ x, y }, { x: x1, y: y1 }) => + Math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)); + portal.forEach(([left, right]) => { + const leftNode = data.path.nodes.find(({ id }) => left === id); + const rightNode = data.path.nodes.find(({ id }) => right === id); + const cost = getDis(leftNode, rightNode); + leftNode.list.push({ + id: rightNode.id, + x: rightNode.x, + y: rightNode.y, + cost, + }); + rightNode.list.push({ + id: leftNode.id, + x: leftNode.x, + y: leftNode.y, + cost, + }); + }); + } + return data; +}; +export const transform = (buildArr, floors) => { + const transformMap = floors.reduce( + (acc, nxt) => ({ ...acc, [nxt.floorName]: nxt.transforms }), + {} + ); + buildArr.forEach((obj) => { + const transforms = transformMap[obj.name]; + if (!transforms) return; + transforms.forEach(({ name, params }) => { + switch (name) { + case "navPointOffset": + const { number } = params; + offsetNavPoint(obj.mapData, number); + break; + case "rotate": + const { angle } = params; + rotateAll(obj.mapData, (-angle / 180) * Math.PI); + break; + case "scale": + const { ratio } = params; + scaleAll(obj.mapData, ratio); + break; + case "translate": + const { x, y } = params; + translateAll(obj.mapData, x, y); + break; + default: + break; + } + }); + }); +}; diff --git a/src/js/helpers/data-helper.js b/src/js/helpers/data-helper.js new file mode 100644 index 0000000..90ea32f --- /dev/null +++ b/src/js/helpers/data-helper.js @@ -0,0 +1,215 @@ +import axios from "axios"; +import icons from "./image-helper"; +let mallInfos = new Map(); +export const cdnUrl = "https://cdn.1000my.cn"; +export const code = "b4a45cf0-85ce-4123-99f0-e4ddce2731de"; +export const baseUrl = "https://test.ar.1000my.com"; +export const post = async (url = "", data = {}) => { + const response = await fetch(baseUrl + url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ ...data, mallCode: code }), + }); + return response.json(); +}; +const getMallInfo = async ({ memberID }) => { + const { name, city, groundFloorOrder, floors, scale, offsetToNorth } = { + name: "千目广场", + city: "南京", + groundFloorOrder: 1, + scale: 0.15, + floors: [ + { + name: "F1", + floorOrder: 0, + url: null, + }, + { + name: "F2", + floorOrder: 1, + url: true, + }, + ], + offsetToNorth: 0, + }; + document.title = name; + const mall = { + baseUrl, + name, + city, + code, + groundFloorIndex: groundFloorOrder, + needSpotLight: false, + scale, + floors, + isNew: true, + cloud: "1000my", + offsetToNorth, + }; + const config = { + mapDataUrl: `${cdnUrl}/test-projects/${code}/Aeditor/Aeditor.json?t=${new Date().getTime()}`, + shopInfoUrl: `${cdnUrl}/test-projects/${code}/QueryShopListForMap/QueryShopListForMap.json?t=${new Date().getTime()}`, + }; + + try { + const { + data: { mapUrl, shopUrl }, + } = await axios.get( + `${cdnUrl}/test-projects/${code}/config.json?t=${new Date().getTime()}` + ); + if (mapUrl) config.mapDataUrl = mapUrl; + if (shopUrl) config.shopInfoUrl = shopUrl; + } catch (error) { + console.log("获取config失败"); + } + + const [ + mapDataJSON, + serverShopInfo, + facs, + activities, + pois, + menu, + shopCouponMap, + ] = await Promise.all([ + (async () => { + try { + const { + data: { + data: { mapData: mapDataJSON }, + }, + } = await axios.get(config.mapDataUrl); + return mapDataJSON; + } catch (error) { + console.error(error); + return {}; + } + })(), + (async () => { + try { + const { + data: { data: serverShopInfo }, + } = await axios.get(config.shopInfoUrl); + return serverShopInfo; + } catch (error) { + console.error(error); + return {}; + } + })(), + (async () => { + try { + const { data: facs } = await post(`/Api/Cdn/FacilityInfo`); + return facs; + } catch (error) { + console.error(error); + return []; + } + })(), + (async () => { + try { + const { data: activities } = await post(`/Api/Operation/MallActList`, { + memberID, + }); + return activities; + } catch (error) { + console.error(error); + return []; + } + })(), + (async () => { + try { + const { data: pois } = await post(`/api/Operation/GetPoiList`); + return pois; + } catch (error) { + console.error(error); + return []; + } + })(), + (async () => { + try { + const { data: menu } = await post(`/Api/AppModule/MallAppModules`); + return menu; + } catch (error) { + console.error(error); + return []; + } + })(), + (async () => { + try { + const { + data: { shopDetailShowCoupon }, + } = await post(`/Api/Operation/MiniproBasicData`, { + memberID, + }); + const shopCouponMap = shopDetailShowCoupon.reduce( + (acc, nxt) => ({ ...acc, [nxt]: true }), + {} + ); + return shopCouponMap; + } catch (error) { + console.error(error); + return {}; + } + })(), + ]); + const mapData = JSON.parse(mapDataJSON)[0]; + mall.activities = activities; + mall.pois = pois; + const poiMap = pois.reduce((acc, nxt) => ({ ...acc, [nxt.code]: nxt }), {}); + mall.facilityTypeMap = facs.reduce( + (acc, nxt) => ({ + ...acc, + [nxt.node]: nxt.customFacilityName || nxt.name, + }), + {} + ); + const shopInfo = serverShopInfo; + shopInfo.forEach(({ shopList }) => + shopList.forEach((shop) => { + if (shopCouponMap[shop.code]) shop.hasCoupon = true; + else shop.hasCoupon = false; + shop.initialsCn = shop.name + .split(" ") + .filter((t) => t) + .map((str) => str[0]) + .join(""); + shop.initialsEn = shop.nameEn + .split(" ") + .filter((t) => t) + .map((str) => str[0]) + .join(""); + }) + ); + const images = facs.reduce( + (acc, nxt) => ({ ...acc, [nxt.abbreviation]: nxt.filePath }), + {} + ); + Object.assign(images, icons); + mall.addtionalFacilityCodeMap = facs.reduce( + (acc, nxt) => ({ ...acc, [nxt.abbreviation]: Number(nxt.node) }), + {} + ); + mall.lots = []; + mapData.buildArr.forEach(({ mapData: { parkArea } }) => { + parkArea.forEach(({ parkNum }) => mall.lots.push(parkNum)); + }); + console.log(mapData); + Object.assign(mall, { + floorData: mall.floors, + shopInfo, + mapData, + floors: mall.floors.reduce((acc, { name, floorOrder, url }) => { + acc[floorOrder] = [url, name]; + return acc; + }, new Array()), + poiMap, + menu, + }); + const mallInfo = { mall, shopInfo, images }; + mallInfos.set(mall.code, mallInfo); + return mallInfo; +}; + +export { getMallInfo }; diff --git a/src/js/helpers/encrypt-helper.js b/src/js/helpers/encrypt-helper.js new file mode 100644 index 0000000..594eb96 --- /dev/null +++ b/src/js/helpers/encrypt-helper.js @@ -0,0 +1,28 @@ +export const encrypt = (word, keyStr) => { + keyStr = keyStr ? keyStr : "0123456789QMSaas"; + var key = window.CryptoJS.enc.Utf8.parse(keyStr); //Latin1 w8m31+Yy/Nw6thPsMpO5fg== + var srcs = window.CryptoJS.enc.Utf8.parse(word); + var encrypted = window.CryptoJS.AES.encrypt(srcs, key, { + mode: window.CryptoJS.mode.ECB, + padding: window.CryptoJS.pad.Pkcs7, + }); + return encrypted.toString(); +}; + +export const decrypt = (word, keyStr) => { + keyStr = keyStr ? keyStr : "0123456789QMSaas"; + var key = window.CryptoJS.enc.Utf8.parse(keyStr); //Latin1 w8m31+Yy/Nw6thPsMpO5fg== + var decrypt = window.CryptoJS.AES.decrypt(word, key, { + mode: window.CryptoJS.mode.ECB, + padding: window.CryptoJS.pad.Pkcs7, + }); + return window.CryptoJS.enc.Utf8.stringify(decrypt).toString(); +}; + +const getStamp = () => parseInt(new Date().getTime() / 1000); +export const assembleUrl = (url) => { + const [prefix, uri] = url.split("mall"); + let stamp = getStamp(); + let token = encodeURIComponent(encrypt(uri + stamp)); + return `${prefix}mall${uri}?token=${token}&time=${stamp}`; +}; diff --git a/src/js/helpers/floor-helper.js b/src/js/helpers/floor-helper.js new file mode 100644 index 0000000..90445ce --- /dev/null +++ b/src/js/helpers/floor-helper.js @@ -0,0 +1,47 @@ +export const floorHelper = (floors) => { + const floorMap = floors.reduce( + (acc, nxt) => Object.assign(acc, { [nxt.dangwuId]: nxt }), + {} + ); + const scales = floors.map(({ xRatio, yRatio }) => ({ + x: 1 / xRatio, + y: 1 / yRatio, + })); + const xy2xz = ({ position: [x, y], floorId }) => { + const { width, height, floorOrder, xRatio, yRatio } = floorMap[floorId]; + const xz = { + x: (x - width / 2) * xRatio, + z: (height / 2 - y) * yRatio, + floorOrder, + }; + return xz; + }; + + const xz2xy = ({ x, z, floorOrder }) => { + const { width, height, xRatio, yRatio } = floors[floorOrder]; + return [x / xRatio + width / 2, height / 2 - z / yRatio]; + }; + + const formatNaviData = (pathsByFloor) => { + const start = pathsByFloor[0]; + if (!start) throw new Error("pathsByFloor must be a non-empty list"); + if (!start.positions.length) + throw new Error("startPostions must be a non-empty list"); + const startPosition = start.positions[0]; + const startFloor = floors[start.floorOrder]; + const initFloor = startFloor.id; + const initPosition = xz2xy({ + ...startPosition, + floorOrder: start.floorOrder, + }); + return { + initFloor, + initPosition, + naviPath: pathsByFloor.map(({ floorOrder, positions }) => ({ + floor_id: floors[floorOrder].id, + points: positions.map(({ x, z }) => xz2xy({ x, z, floorOrder })), + })), + }; + }; + return { scales, xy2xz, xz2xy, formatNaviData }; +}; diff --git a/src/js/helpers/icons/q.png b/src/js/helpers/icons/q.png new file mode 100644 index 0000000000000000000000000000000000000000..a329e69c5546e6eb3f043045bc641787fc7656ec GIT binary patch literal 3332 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 { + obj[key.replace("./", "").replace(".png", "")] = r(key).default; + }); + return obj; +} +const icons = importAll( + require.context("./icons/", false, /\.(png|jpe?g|svg)$/) +); +export default icons; diff --git a/src/pages/Activities/Activities.js b/src/pages/Activities/Activities.js new file mode 100644 index 0000000..edde4a0 --- /dev/null +++ b/src/pages/Activities/Activities.js @@ -0,0 +1,138 @@ +import React, { useEffect, useState } from "react"; +import "./Activities.scss"; +import back from "./back.svg"; +import clock from "./clock.svg"; +import detail from "./detail.png"; +import { post } from "../../js/helpers/data-helper"; + +const Activities = ({ + initActivity, + setInitActivity, + onGo, + mall: { activities, pois }, + facilities, + memberID, +}) => { + const [activity, setActivity] = useState(null); + const [receiving, setReceiving] = useState(false); + const poiMap = pois.reduce((acc, nxt) => ({ ...acc, [nxt.code]: nxt }), {}); + const getFacByAct = (activity) => { + if (!activity) return null; + const poiCode = activity.poiList.find((code) => poiMap[code]); + const poi = poiCode ? poiMap[poiCode] : null; + if (!poi) return null; + const actFacs = facilities ? facilities["活动"] : []; + if (!actFacs) return null; + const actFac = actFacs.find(({ title }) => title === poi.name); + return actFac; + }; + + const reject = () => { + window.weui.toast("该活动即将上线,敬请期待!", { + className: "toast", + }); + }; + const receive = async (activity) => { + setReceiving(true); + try { + const { code, data, msg } = await post("/Api/Coupon/CouponReceive", { + activityCode: activity.code, + memberID, + }); + window.weui.toast(msg, { + className: "toast", + }); + if (code === "200") { + activity.isReceived = true; + } + } catch (error) { + console.warn(error); + } finally { + setReceiving(false); + } + }; + useEffect(() => { + if (initActivity) { + setActivity(initActivity); + setInitActivity(null); + } + }, [initActivity]); + + return ( +
+
活动
+
+ {activities && + activities.map((act) => ( +
+ +
+
setActivity(act)}> + 查看详情 +
+
{ + const fac = getFacByAct(act); + if (!fac) return reject(); + return onGo && onGo(fac); + }} + > + GO +
+
+
+ ))} +
+ {activity && ( +
+ setActivity(null)} + src={back} + > + +
+
{activity.name}
+
+ + {activity.beginTime.split(" ")[0]}至 + {activity.endTime.split(" ")[0]} +
+
+
活动介绍
+ {activity.intro} +
{ + const fac = getFacByAct(activity); + if (!fac) return reject(); + return onGo && onGo(fac); + }} + > + 开始导航 +
+ {activity.defaultAwardTitle && ( +
+
{activity.defaultAwardTitle}
+
活动奖励
+
+ !activity.isReceived && !receiving && receive(activity) + } + className={`btn ${ + activity.isReceived || receiving ? "disabled" : "" + }`} + > + 领取奖励 +
+
+ )} +
+
+
+ )} +
+ ); +}; +export default Activities; diff --git a/src/pages/Activities/Activities.scss b/src/pages/Activities/Activities.scss new file mode 100644 index 0000000..65d2aa0 --- /dev/null +++ b/src/pages/Activities/Activities.scss @@ -0,0 +1,264 @@ +.activities { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: flex; + flex-direction: column; + background: #f0f0f0; + + pointer-events: auto; + .header { + position: absolute; + height: 25px; + left: 24px; + top: 24px; + font-family: "PingFang SC"; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 25px; + display: flex; + align-items: center; + color: #353230; + } + .list-container { + position: absolute; + top: 64px; + left: 17px; + right: 17px; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + .card { + display: inline-flex; + flex-direction: column; + background: #ffffff; + border-radius: 10px; + overflow: hidden; + .card-header { + width: calc(100vw - 34px); + height: calc((100vw - 34px) / 321 * 180); + border-radius: 10px; + object-fit: cover; + } + .card-content { + display: flex; + height: 72px; + padding-left: 24px; + padding-right: 16px; + font-family: "PingFang SC"; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #353230; + align-items: center; + justify-content: space-between; + .detail { + display: inline-flex; + align-items: center; + img { + width: 20px; + height: 20px; + margin-right: 8px; + } + } + .btn { + display: flex; + width: 80px; + height: 40px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 8px; + font-family: "HarmonyOS Sans SC"; + font-style: normal; + font-weight: 700; + font-size: 16px; + line-height: 19px; + text-align: right; + color: #ffffff; + justify-content: center; + align-items: center; + } + } + } + .card + .card { + margin-top: 16px; + } + } + .activity { + position: absolute; + top: 0; + bottom: -98px; + left: 0; + right: 0; + background: #f0f0f0; + z-index: 1; + border-radius: 18px; + .back { + position: absolute; + width: 40px; + height: 40px; + left: 16px; + top: 8px; + z-index: 2; + } + .r1 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 56vw; + width: 100vw; + z-index: 1; + border-radius: 10px 10px 0 0; + object-fit: cover; + } + .r2 { + position: absolute; + top: 192px; + left: 0; + right: 0; + bottom: 0; + z-index: 2; + background: linear-gradient( + 180.18deg, + #ffffff 17.3%, + rgba(255, 255, 255, 0) 99.84% + ); + border-radius: 16px 16px 0 0; + display: flex; + flex-direction: column; + .rr1 { + font-family: "PingFang SC"; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + margin-top: 16px; + margin-bottom: 8px; + color: #353230; + padding-left: 24px; + } + .rr2 { + display: inline-flex; + font-family: "PingFang SC"; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 17px; + color: #68655e; + align-items: center; + padding-left: 24px; + img { + width: 16px; + height: 16px; + margin-right: 8px; + } + } + .r3 { + position: absolute; + top: 97px; + left: 10px; + right: 10px; + bottom: 0; + font-family: "PingFang SC"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 22px; + color: #9d988f; + overflow-x: hidden; + overflow-y: auto; + background: #f9f9fb; + border-radius: 16px 16px 0px 0px; + padding: 16px 14px; + .title { + font-family: "PingFang SC"; + font-style: normal; + font-weight: 600; + font-size: 14px; + line-height: 20px; + color: #353230; + margin-bottom: 4px; + } + } + .r4 { + display: flex; + position: absolute; + height: 56px; + left: 18px; + right: 18px; + bottom: 56px; + margin: auto; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 16px; + font-family: "HarmonyOS Sans SC"; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + align-items: center; + justify-content: center; + color: #ffffff; + } + .r5 { + position: absolute; + bottom: 139px; + left: 14px; + right: 14px; + height: 80px; + background: rgba(255, 255, 255, 0.7); + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + border-radius: 10px; + .t1 { + position: absolute; + top: 19px; + left: 20px; + font-weight: 600; + font-size: 17px; + line-height: 22px; + color: #437af7; + width: 174px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .meta { + position: absolute; + top: 45px; + left: 20px; + font-weight: 600; + font-size: 12px; + line-height: 16px; + color: #a1a5b3; + } + .btn { + position: absolute; + display: flex; + width: 80px; + height: 40px; + top: 19px; + right: 12px; + background: #ffffff; + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + border-radius: 10px; + font-weight: 600; + font-size: 15px; + line-height: 20px; + color: #437af7; + justify-content: center; + align-items: center; + border: 1px solid rgba(80, 138, 247, 0.6); + &.disabled { + color: #a1a5b3; + border: 1px solid #a1a5b3; + } + } + } + } + } +} diff --git a/src/pages/Activities/back.svg b/src/pages/Activities/back.svg new file mode 100644 index 0000000..604f25a --- /dev/null +++ b/src/pages/Activities/back.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Activities/clock.svg b/src/pages/Activities/clock.svg new file mode 100644 index 0000000..7a90929 --- /dev/null +++ b/src/pages/Activities/clock.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Activities/close.png b/src/pages/Activities/close.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab2b1fcdb09571700eacb88d0f0d7b3060ac02c GIT binary patch literal 1354 zcmV-Q1-1H#P)XWWDWr~21y9a_uf4v z7^Kt3>F@MI06hW`LlMM6?u5*QL?pmMg>NBy7E0L(`3i#I8+t+j4#5a}5b^|NlG=v|FRZxAZ~>k|Db#>56&Zn~?P2{DlQjTDtaGn<}L3eM>BDB(EkHiY{ysz(?g6ea7 zB#xOp1*;^oh(}4Df<~g5ykg!}F>l%)LMv_Ex;U71JXKdEf*S#msJb{W&<0v0gX`yY z1!n!k_Qr$R$U-^w=A-;)N&h&VU~WSMdO#lOv7&SrP8*O4MH&<03wfF@ zYi^FcI1ic-;}dzLPu}grd=|=j3w%bQT7rBdkMxa5hqTzD^oTP=c|{)SS|IQU@Bj@- z^ukMi;>{-lB`%QY%@l)D=m$*bhN%d*124iU{e1^L0*BRzF@>AbxeTb!cTOk) zFRfl<#W;ou1z?laYnV@QI_p#q1+4LSK6g_%Sz#Hxdc#Yr*Cs10gVlY@CO3!dfp*)R zMg(MgX4*V-epUL&fyG@5*LBiarTGpw3e0__*K>d-b}SAU*mbj^u}B68&3L+vuQB(& zrnf*Mn%roJTi4hDO=<47dEy2`Tf)>$RUa)-l z*x>q!*w^7>ni8suBe5QWHBx=|&h%dOTAyRSS4|ZIZx%u7Kwl4wq$17Vsw6T7Pk@;} zFJby6UX~WDK7{rOdO`(pUYC#)FmuYLy5cV0I_AeP^Yjns=on^W!0Pjyl~u|WVaE2Q zkfl`}#BH58S4Y9iX+T+&=h{#FDEPgQzjSS{&$}|~RY$+yL-kScYL5F&#IXa*=;LDq z>O%xEnEe=mT;H=5vK!sU2wAj9o2Pzu@=0}(z7R!IV_J@_1U}At@_FKH%9I+I1 zZ}>i0xZY$957*~W(Rl*(A~G;0!($`~Q2y732p5co>dn6oLL4<^BY?~djv3(Ir3y|A z@L2O{i-=~;!d^3?Nig^N5p&P*lqy=_DGBJFQv67(d}CZdczIUN=I0a6q{Yj#&~@Tz6(&)$8=K880I} zww3^z1Yw{-M1z;)M;r-${O-c^5?_|akS9R-(r~|oVsIt~=ig&eMuS?cGm#C(rr2f% z>!4#(08p_5*|{bN^)p2oMUj<3vqr|sy$9WJ(r9~BFpkF_zbY8#KKSQPHHL1TC?8)8} z_6BU?+++!ok^~9C*g+fu&ul+EQknt$8HQmbIVH9sM?ZmhJMON#1c7bYYxU1vg(L3*t%AVn4Ip;X0 zS2w0BjdsJO8(q?CRm*SX!RS;ZwHT$YLdhpR$Cir~$1HFz>#o zTs|K#D!k0A?&UOfWcP66P$1uG&o?$MxF~taul7e#C@=IuWm_vr^-(5BxWBXc(Hn>) z*)V4(gC-DN+v-~}^lg~E&qhU29yHoExgb#DFJ~)TF>#N7Iw7-042>>l!d8k<(<-f7=t$B zOBbhGZ;#F{Cw_QZvqqs&qqmGehA-(=ET-o(mw!zxpc z=2}$U(ChUCIICJK=-zHrI%&Q-^Ht)F8V&T??e|hgOJ(N-fsuJf+{~(iSHTl*lBG7_ zX^W+|nCT}L!$(NfQiKoQ{PD?rnr}Draj$z%P2)oYHV|U_!JHZ0+JulV4tW!!^Mj0u z&C$``*|wd~JA3JsB0hds-A!SdQU1)7tx}k31Jo7(Z52W1hv6=H^s04EpBW_NdK%-; z(tKq2?8)!J%9-gTSRyM#&_PbNo2l}~%a=NLtke|l@@8YabIHmUd??M1*fH-!&iAvu zn94ucLSlCFtVx0Z^Er&ukNB!m2()FIQJh%CiH!?VeJ<S%|09S7t}Po3rETn;Q>UMlHShjBm)9O4&~gU>jQk|B*v{m_`i%BwtU$ zbyB`a9tSV8cJuVqtHJ)W00)D(!6sO9p-eDpJN%k1*j(?4gh>P8LtHr~KL)PM*=E3Y zL+<=y=gKBK!(n_hi)YhFc {}, plate, hasReverse }) => { + const [isPlate, setIsPlate] = useState(hasReverse); + const [qArr, setQArr] = useState(hasReverse ? ["苏", "A"] : []); + const [opened, setOpened] = useState(false); + const [showKeyBoard, setShowKeyBoard] = useState(true); + const [focusedIndex, setFocusedIndex] = useState(hasReverse ? 2 : 0); + const [isNum, setIsNum] = useState(true); + const q = qArr.join(""); + const setQ = (str) => setQArr(str.split("")); + useEffect(() => { + if (!opened) { + setOpened(true); + if (plate) { + setQ(plate); + setFocusedIndex(null); + } + setShowKeyBoard(!plate); + } + }, [opened]); + const toPlate = () => { + if (!hasReverse) + return window.weui.toast("敬请期待", { + className: "toast", + }); + setQ("苏A"); + setIsPlate(true); + setFocusedIndex(2); + setShowKeyBoard(true); + }; + const toLot = () => { + setQ(""); + setFocusedIndex(0); + setIsPlate(false); + setShowKeyBoard(true); + }; + + const handleSubmit = async () => { + if (isPlate) { + if (!q) { + return window.weui.toast("请输入正确车牌号", { + className: "toast", + }); + } + const { + data: { data, code, msg }, + } = { data: { data: null, code: "201", msg: "123" } }; + if (code !== "200") + return window.weui.toast(msg, { + className: "toast", + }); + else { + if (!lots.includes(data.spaceNo)) + return window.weui.toast(`未找到车位号:${data.spaceNo}`, { + className: "toast", + }); + return onLot(data.spaceNo); + } + } + // if (!q || !lots.includes(floor + q.toUpperCase())) { + if (!q || !lots.includes(q.toUpperCase())) { + return window.weui.toast("请输入正确车位号", { + className: "toast", + }); + } + // onLot(floor + q.toUpperCase()); + onLot(q.toUpperCase()); + }; + return ( +
+ +
+
+
+
+
+ + 车牌查找 +
+
+ + 车位查找 +
+
+ {isPlate ? ( +
+ {new Array(8).fill(0).map((_, i) => ( +
{ + setIsNum(i !== 0); + setFocusedIndex(i); + setShowKeyBoard(true); + }} + > + {i === 7 && !qArr[i] ? ( + <> + + + ) : ( + qArr[i] + )} +
+ ))} +
+ ) : ( +
+ {new Array(4).fill(0).map((_, i) => ( +
{ + setIsNum(true); + setFocusedIndex(i); + setShowKeyBoard(true); + }} + > + {qArr[i]} +
+ ))} +
+ )} + + {!isPlate && ( + <> + {/*
setFloor(floor1)}> + {floor1} +
+
{floor}
+
setFloor(floor3)}> + {floor3} +
*/} + + )} +
+ 寻车 +
+
+
+
+ {showKeyBoard && ( + { + setFocusedIndex(null); + setShowKeyBoard(false); + }} + onSetIsNum={(val) => setIsNum(val)} + onInput={(val) => { + qArr[focusedIndex] = val; + setQArr([...qArr]); + if (isPlate) { + switch (focusedIndex) { + case 6: + case 7: + setShowKeyBoard(false); + break; + default: + setIsNum(true); + setFocusedIndex(focusedIndex + 1); + break; + } + } else { + switch (focusedIndex) { + case 3: + setShowKeyBoard(false); + break; + default: + setIsNum(true); + setFocusedIndex(focusedIndex + 1); + break; + } + } + }} + onBackspace={() => { + qArr[focusedIndex] = ""; + setQArr([...qArr]); + setFocusedIndex(Math.max(0, focusedIndex - 1)); + }} + onFinish={handleSubmit} + > + )} +
+ ); +}; +export default Car; diff --git a/src/pages/Car/Car.scss b/src/pages/Car/Car.scss new file mode 100644 index 0000000..9795f78 --- /dev/null +++ b/src/pages/Car/Car.scss @@ -0,0 +1,255 @@ +.car { + position: relative; + width: 100vw; + height: calc(100vh - 98px); + background: #f3f4f8; + pointer-events: auto; + .car-img { + position: absolute; + width: 220px; + height: 220px; + left: 0; + right: 0; + bottom: auto; + margin: auto; + top: 16px; + } + .car-modal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 10; + } + .content { + position: absolute; + left: 2.6667vw; + right: 2.6667vw; + width: calc(100vw - 4.2667vw); + height: 458px; + bottom: 10px; + padding-top: 34px; + background: #ffffff; + box-shadow: 0px 12px 16px rgba(104, 110, 127, 0.08); + border-radius: 18px; + overflow: hidden; + + .form { + position: absolute; + top: 14px; + left: 3.7333vw; + right: 3.7333vw; + bottom: 14px; + z-index: 3; + text-align: left; + .platenum { + display: flex; + justify-content: center; + position: absolute; + top: 102px; + left: -3.7333vw; + right: -3.7333vw; + text-align: center; + } + .lots { + position: absolute; + top: 95px; + left: 0; + right: 0; + display: inline-flex; + justify-content: center; + } + .box { + width: 9.6vw; + height: 64px; + background: #f3f4f8; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: bold; + font-size: 18px; + text-align: center; + color: #323337; + border-radius: 8px; + display: flex; + justify-content: center; + align-items: center; + align-content: center; + flex-direction: column; + &.big { + width: 12.8vw; + } + &.active { + border: 2px solid #437af7; + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + } + &.sp { + background: none; + border: 1px solid #c9cbd1; + &.active { + border: 2px solid #437af7; + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + } + } + .plus { + position: relative; + width: 6.4vw; + margin: 0; + } + } + .box + .box { + margin-left: 1.0667vw; + } + .box + .box.more-margin { + margin-left: 5.0667vw; + } + .input { + position: absolute; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: bold; + font-size: 16px; + top: 114px; + width: 216px; + left: calc((100vw - 28px - 216px) / 2); + background: transparent; + height: 40px; + line-height: 40px; + color: #474747; + border: none; + outline: none; + text-align: center; + &.right { + text-align: left; + left: calc((100vw - 28px - 216px + 63px) / 2); + } + } + ::placeholder { + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: normal; + font-size: 14px; + color: #b3aea7; + } + .dec1 { + position: absolute; + top: 154px; + bottom: auto; + right: auto; + width: 223px; + height: 21px; + left: calc((100vw - 28px - 216px) / 2); + &.right { + left: calc((100vw - 28px - 216px + 63px) / 2); + } + } + .dec2 { + position: absolute; + top: 132px; + bottom: auto; + right: auto; + width: 11.7333vw; + height: 21px; + left: calc((100vw - 7.4667vw - 57.6vw - 16.8vw) / 2); + pointer-events: none; + } + .floor1, + .floor2, + .floor3 { + position: absolute; + left: calc((100vw - 7.4667vw - 57.6vw - 16.8vw) / 2); + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: bold; + font-size: 4.2667vw; + color: #474747; + width: 9.8667vw; + text-align: center; + } + .floor1, + .floor3 { + color: rgba(113, 112, 110, 0.2); + font-size: 3.2vw; + line-height: 4.8vw; + height: 4.8vw; + } + .floor1 { + top: 77px; + } + .floor2 { + top: 101px; + line-height: 6.4vw; + height: 6.4vw; + } + .floor3 { + top: 134px; + } + .btns { + display: grid; + grid-template-columns: 1fr 1fr; + position: absolute; + top: 129px; + left: 24px; + right: 24px; + gap: 0 16px; + } + .btn { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + height: 56px; + left: 1.0667vw; + right: 1.0667vw; + margin: auto; + bottom: 14px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 16px; + font-family: PingFang SC; + font-style: normal; + font-weight: bold; + font-size: 16px; + line-height: 22px; + text-align: center; + color: #ffffff; + } + + .tabs { + display: flex; + width: 100%; + padding: 4px; + background: #edeff3; + border-radius: 12px; + } + .tab { + display: flex; + justify-content: center; + align-items: center; + flex: 1; + height: 48px; + font-family: PingFang SC; + font-style: normal; + font-weight: bold; + font-size: 16px; + line-height: 22px; + color: #7a7e8d; + img { + position: relative; + margin: 0; + margin-right: 8px; + width: 24px; + height: 24px; + } + } + .tab.active { + background: #ffffff; + border-radius: 10px; + color: #323337; + } + .tab + .tab { + margin-left: 4px; + } + } + } +} diff --git a/src/pages/Car/back.png b/src/pages/Car/back.png new file mode 100644 index 0000000000000000000000000000000000000000..8204fcc5cf9d7e72d99cb2f0e73366f26fec22b8 GIT binary patch literal 1421 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

HYbux`UNJk@nIz3mQK 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

  • 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 literal 0 HcmV?d00001 diff --git a/src/pages/Car/lot.png b/src/pages/Car/lot.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6d48a3b8f70fd060f335fb6fa4ad04cb594671 GIT binary patch literal 685 zcmV;e0#f~nP) z+Y)3uuA9bQZ`$rBS@veu^2~b1Gm{0dSgto%CVa-U3uIBlc3arVB_|k`}q0O$0#c*K&?Cx8^a2cB;ww1uoKP3tazGq zn-ztztZu~y5UsUFu>E7`=xRQmmF(= zX{-UJS@_lxe*{j3ekX>CH2en0B_xj$3LT>H4u4ZQVH$KHa&M3` ze!>r2sDM@jh|t5EKan|0F^MmjYgSbK6ZE@hc3+D=Kdpxr7xLu_BPN^Dfd4Bk zx2TTFlwTHYF|g-9K1%Sk*HuNFz-i^mvk0w0{Mzq^vS}Zww=wj4F<2}X%a!9VjReCJ T7KJh800000NkvXXu0mjfmvks# literal 0 HcmV?d00001 diff --git a/src/pages/Car/lot_active.png b/src/pages/Car/lot_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f8dbdcf7d948a65f4f464d5b3d9b25eb390f72e7 GIT binary patch literal 675 zcmV;U0$lxxP)fWh#v!EKAfkEu@pBLI2|gagn8LJVMs^W#US z|1aIZ@F*PWT2(tu*;2^P>nvTXf4K6w)V8(UREf83^<*j7)_&8ik- zKHpVP)U8)3R1vTi^?cAkj_X*Q5q0Z9P0oV;5;U;?A>F!e!9B+qpc`X=ZfZY;>cE~D zbc;yBa(}|>n*KUlemQXykfiN9;ITCC17+dLhQ*8bKco|;P8ag>zO{IHn0g?AQUh|f z+k}qCKRlB&{|ZG399&uW1|(=S2CjpalSIe(?eCEPF87bvjw5rUjS#(J-|t{YT6ZDB zOlV4w$AttY58M?5`$002ov JPDHLkV1nv@CUO7( literal 0 HcmV?d00001 diff --git a/src/pages/Car/plate.png b/src/pages/Car/plate.png new file mode 100644 index 0000000000000000000000000000000000000000..d49db23cfa596590c9380af6e7ab386484b9e0dd GIT binary patch literal 356 zcmV-q0h|7bP)Jk9}XySaZ^e*mz#21k<8I8jy^W?OhMcK^Bm+jbmMn+B|em*M#*s=K!=5ntNSYL z+7Lh+0%$`3Z3v(Z0kr+!_rS0B^}2f3^|o+?wDr3OJn!g|0b;4IH3e{E8D7b7=mBlz z{Q$pzpjsil%Lwvu5g?)aG%bZ>xNP%@6Hf^Mzz8paAx)({p_+LB0000%z7t0TcjDgSMvA%UMv2Ge+~GjFm`mPto)U>@6=nBhUh}R8&YwkDZFQM0zxEbB(Ed#N)!l4{^Of=nTSQGJIQj}% zIJ~UR()+kP>c`uopTq7xXt-&${h9^yr8es$W@+}XzJ1OVU#a(X-|N^yZqH + + + diff --git a/src/pages/Coupons/ApplyModal/ApplyModal.js b/src/pages/Coupons/ApplyModal/ApplyModal.js new file mode 100644 index 0000000..1bc72cd --- /dev/null +++ b/src/pages/Coupons/ApplyModal/ApplyModal.js @@ -0,0 +1,102 @@ +import "./ApplyModal.scss"; +import Modal from "react-modal"; +import { useState } from "react"; +import { post } from "../../../js/helpers/data-helper"; + +const ApplyModal = ({ onBack, memberID }) => { + const [title, setTitle] = useState(""); + const [totalCount, setTotalCount] = useState(""); + const [beginTime, setBeginTime] = useState(""); + const [endTime, setEndTime] = useState(""); + const [couponRules, setCouponRules] = useState(""); + const toast = (text) => + window.weui.toast(text, { + className: "toast", + }); + const submit = async () => { + if (!title) return toast("请输入礼券标题"); + if (!totalCount) return toast("请输入发放数量"); + if (!beginTime) return toast("请选择开始时间"); + if (!endTime) return toast("请选择结束时间"); + try { + const { code, msg } = await post("/api/coupon/ApplyCoupon", { + title, + totalCount, + beginTime, + endTime, + memberID, + couponRules, + }); + if (code === "200") { + toast("已提交申请,审核中!"); + onBack && onBack(); + } else { + toast(msg); + } + } catch (error) {} + }; + return ( + +
    onBack && onBack()}>
    +
    申请发券
    +
    +
    +
    礼券标题
    + setTitle(e.target.value)} + > +
    +
    +
    发放数量
    + setTotalCount(e.target.value)} + > +
    +
    +
    使用期限
    +
    + setBeginTime(e.target.value)} + placeholder="请选择开始时间" + > +
    + setEndTime(e.target.value)} + placeholder="请选择结束时间" + > +
    +
    +
    +
    礼券规则
    + +
    +
    + 免费申请 +
    +
    +
    + ); +}; +export default ApplyModal; diff --git a/src/pages/Coupons/ApplyModal/ApplyModal.scss b/src/pages/Coupons/ApplyModal/ApplyModal.scss new file mode 100644 index 0000000..14c7b80 --- /dev/null +++ b/src/pages/Coupons/ApplyModal/ApplyModal.scss @@ -0,0 +1,118 @@ +.ApplyModal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #f6f6f6; + overflow: hidden; + .back { + position: absolute; + top: 10px; + left: 10px; + width: 60px; + height: 60px; + background: center / cover no-repeat url(./back.svg); + } + .title { + position: absolute; + top: 28px; + right: 16px; + font-style: normal; + font-weight: 600; + font-size: 20px; + line-height: 25px; + color: #000000; + } + .content { + position: absolute; + top: 92px; + left: 10px; + right: 10px; + bottom: 34px; + background: #ffffff; + border-radius: 18px; + padding: 32px 24px; + .item { + height: 58px; + border-bottom: 1px solid rgba(218, 215, 209, 0.4); + .label { + font-weight: 600; + font-size: 17px; + line-height: 22px; + color: #353230; + margin-bottom: 8px; + } + .inputText { + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #68655e; + border: none; + outline: none; + opacity: 0.8; + &::placeholder { + color: #dad7d1; + } + } + .inputTextArea { + width: 100%; + background: #f9f9fb; + border-radius: 8px; + height: 152px; + padding: 16px; + border: none; + font-weight: 400; + font-size: 15px; + line-height: 20px; + outline: none; + color: #68655e; + &::placeholder { + color: #dad7d1; + } + } + .dates { + display: flex; + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #353230; + + input { + flex: 1; + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #68655e; + border: none; + outline: none; + opacity: 0.8; + overflow: hidden; + &::placeholder { + color: #dad7d1; + } + } + } + } + .item + .item { + margin-top: 24px; + } + .btn { + position: absolute; + left: 18px; + right: 18px; + bottom: 18px; + height: 56px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 10px; + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #ffffff; + display: flex; + align-items: center; + justify-content: center; + } + } +} diff --git a/src/pages/Coupons/ApplyModal/back.svg b/src/pages/Coupons/ApplyModal/back.svg new file mode 100644 index 0000000..3a2dcd6 --- /dev/null +++ b/src/pages/Coupons/ApplyModal/back.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/CouponList/CouponList.js b/src/pages/Coupons/CouponList/CouponList.js new file mode 100644 index 0000000..13e948d --- /dev/null +++ b/src/pages/Coupons/CouponList/CouponList.js @@ -0,0 +1,163 @@ +import "./CouponList.scss"; +import { useState, useRef, useEffect, useCallback } from "react"; +import ListEnd from "../ListEnd/ListEnd"; +import noData from "./noData.png"; +import Qrcode from "../Qrcode/Qrcode"; +import Modal from "react-modal"; +import { post } from "../../../js/helpers/data-helper"; +import InfiniteScroll from "react-infinite-scroller"; + +const stateMap = { + 0: "未使用", + 1: "已使用", + 2: "已失效", +}; +const stateList = [0, 1, 2]; +const CouponList = ({ memberID }) => { + const [state, setState] = useState(stateList[0]); + const [list, setList] = useState([]); + const [nextPageIndex, setNextPageIndex] = useState(1); + const [loading, setLoading] = useState(false); + const hasMore = nextPageIndex !== null; + + const [modalCoupon, setModalCoupon] = useState(null); + const listRef = useRef(); + const showNoData = list !== null && list.length === 0; + const showListEnd = list !== null && list.length > 0; + const showCouponModal = !!modalCoupon; + + const loadMore = useCallback(async () => { + if (loading || nextPageIndex === null || !memberID) return; + setLoading(true); + try { + const { code, data, msg } = await post("/api/coupon/UserCouponList", { + paging: 1, + state, + pageIndex: nextPageIndex, + pageSize: 10, + memberID, + }); + if (code === "200") { + setList([...list, ...data.list]); + setNextPageIndex( + nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 + ); + } else { + setNextPageIndex(null); + window.weui.toast(msg, { + className: "toast", + }); + } + } catch (error) { + setNextPageIndex(null); + } finally { + setLoading(false); + } + }, [list, loading, nextPageIndex]); + + useEffect(() => { + if (listRef.current) listRef.current.scrollTop = 0; + setNextPageIndex(1); + setList([]); + }, [state]); + + return ( +
    +
    + {stateList.map((item) => ( +
    setState(item)} + > + {stateMap[item]} +
    + ))} +
    +
    + listRef && listRef.current} + > + {showNoData && ( +
    + +
    +
    {}}> + 参加AR +
    + 活动,可领取优惠券! +
    +
    + )} + {list !== null && + list.map((coupon) => ( +
    setModalCoupon(coupon)} + > + {coupon.logoUrl ? ( + + ) : ( + + )} +
    {coupon.title}
    +
    {coupon.showNo}
    +
    + 使用期限
    + {coupon.beginTime}至{coupon.endTime} +
    +
    + ))} + + {showListEnd && } +
    +
    + {showCouponModal && ( + +
    setModalCoupon(null)}>
    + +
    +
    {modalCoupon.title}
    +
    {modalCoupon.showNo}
    +
    使用期限
    +
    + {modalCoupon.beginTime}至{modalCoupon.endTime} +
    + {modalCoupon.couponRules && ( + <> +
    礼券规则
    +
    {modalCoupon.couponRules}
    + + )} +
    +
    + )} +
    + ); +}; +export default CouponList; diff --git a/src/pages/Coupons/CouponList/CouponList.scss b/src/pages/Coupons/CouponList/CouponList.scss new file mode 100644 index 0000000..c713a64 --- /dev/null +++ b/src/pages/Coupons/CouponList/CouponList.scss @@ -0,0 +1,268 @@ +.CouponList { + flex: 1; + display: flex; + flex-direction: column; + background: linear-gradient( + 180deg, + #f2f2f2 0%, + rgba(249, 249, 249, 0) 20.18% + ); + border-radius: 18px 18px 0 0; + padding-top: 10px; + width: 100vw; + align-items: center; + overflow: hidden; + .CouponTabs { + display: flex; + flex: 0 0 56px; + width: calc(100vw - 20px); + background: #ffffff; + border-radius: 10px; + + .tab { + position: relative; + display: flex; + flex: 1; + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #9d988f; + justify-content: center; + align-items: center; + &.active { + color: #508af7; + &::before { + content: ""; + position: absolute; + bottom: 10px; + left: 0; + right: 0; + margin: auto; + width: 4px; + height: 4px; + background: #508af7; + border-radius: 50%; + } + &::after { + content: ""; + position: absolute; + width: 30px; + height: 6px; + bottom: 0; + left: 0; + right: 0; + margin: auto; + background: center / cover no-repeat url(./tri.svg); + } + } + } + } + .list-container { + flex: 1; + overflow-x: hidden; + overflow-y: scroll; + padding-top: 16px; + text-align: center; + scroll-behavior: smooth; + + &::-webkit-scrollbar { + display: none; + } + .coupon { + position: relative; + width: calc(100vw - 20px); + height: calc((100vw - 20px) / 355 * 134); + &.bg0 { + background: center / cover no-repeat url(./bg0.svg); + } + &.bg1 { + background: center / cover no-repeat url(./bg1.svg); + } + &.bg2 { + background: center / cover no-repeat url(./bg2.svg); + } + .logo { + position: absolute; + top: 5.333vw; + left: 5.333vw; + border-radius: 4px; + object-fit: cover; + } + .title { + position: absolute; + top: 8vw; + left: 27.733vw; + right: 2.667vw; + font-weight: 600; + font-size: 4.533vw; + line-height: 5.867vw; + color: #353230; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + text-align: left; + } + .meta { + position: absolute; + top: 14.933vw; + left: 27.733vw; + font-weight: 600; + font-size: 3.467vw; + line-height: 4.8vw; + color: #68655e; + opacity: 0.8; + } + .duration { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 9.067vw; + font-weight: 400; + font-size: 3.2vw; + line-height: 4.267vw; + text-align: center; + color: #9d988f; + display: flex; + justify-content: center; + align-items: center; + .sep { + width: 0.267vw; + height: 2.667vw; + opacity: 0.3; + border-left: 0.267vw solid #68655e; + margin-left: 3.2vw; + margin-right: 3.2vw; + } + } + .time-left { + position: absolute; + height: 3.467vw; + top: 2.133vw; + right: 1.067vw; + font-weight: 600; + font-size: 2.933vw; + line-height: 3.467vw; + color: #c1a672; + opacity: 0.8; + } + .qrcode { + position: absolute; + top: 5.333vw; + left: 5.333vw; + } + } + .coupon + .coupon { + margin-top: 8px; + } + .noData { + display: flex; + flex-direction: column; + width: calc(100vw - 20px); + height: 396px; + border-radius: 18px; + background: #ffffff; + align-items: center; + .bg { + margin: auto; + width: 250px; + height: 250px; + margin-top: 16px; + } + .meta { + width: calc(100vw - 46px); + flex: 0 0 90px; + border-top: 1px solid #f5f5f5; + display: flex; + font-weight: 400; + font-size: 17px; + line-height: 22px; + color: #9d988f; + height: 90px; + justify-content: center; + align-items: center; + .btn { + color: #508af7; + } + } + } + } +} +.CouponModal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 326px; + height: 416px; + margin: auto; + background: #f9f9fb; + border-radius: 16px; + .close { + position: absolute; + top: 16px; + right: 16px; + width: 24px; + height: 24px; + background: center / cover no-repeat url(./close.svg); + } + .qrcode { + position: absolute; + top: 52px; + left: 0; + right: 0; + margin: auto; + } + .content { + position: absolute; + bottom: 8px; + left: 8px; + right: 8px; + background: #f3f4f8; + border-radius: 10px; + height: 192px; + display: flex; + justify-content: center; + align-items: flex-start; + flex-direction: column; + padding: 24px 16px 0 16px; + .title { + font-weight: 600; + font-size: 17px; + line-height: 22px; + color: #323337; + } + .coupon-code { + font-weight: 600; + font-size: 13px; + line-height: 18px; + color: #437af7; + opacity: 0.8; + margin-top: 4px; + padding-bottom: 8px; + border-bottom: 1px dashed #c9cbd1; + margin-bottom: 17px; + width: 100%; + } + .meta { + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #7a7e8d; + opacity: 0.8; + margin-bottom: 2px; + } + .value { + font-weight: 600; + font-size: 12px; + line-height: 16px; + color: #474a56; + opacity: 0.8; + margin-bottom: 8px; + min-height: 16px; + overflow: hidden; + text-overflow: ellipsis; + } + } +} diff --git a/src/pages/Coupons/CouponList/bg0.svg b/src/pages/Coupons/CouponList/bg0.svg new file mode 100644 index 0000000..113f3c2 --- /dev/null +++ b/src/pages/Coupons/CouponList/bg0.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pages/Coupons/CouponList/bg1.svg b/src/pages/Coupons/CouponList/bg1.svg new file mode 100644 index 0000000..4a71ccd --- /dev/null +++ b/src/pages/Coupons/CouponList/bg1.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pages/Coupons/CouponList/bg2.svg b/src/pages/Coupons/CouponList/bg2.svg new file mode 100644 index 0000000..dacd570 --- /dev/null +++ b/src/pages/Coupons/CouponList/bg2.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pages/Coupons/CouponList/close.svg b/src/pages/Coupons/CouponList/close.svg new file mode 100644 index 0000000..579a117 --- /dev/null +++ b/src/pages/Coupons/CouponList/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/CouponList/noData.png b/src/pages/Coupons/CouponList/noData.png new file mode 100644 index 0000000000000000000000000000000000000000..54ebaaf25aafad7a0053bea5182b32a034205c57 GIT binary patch literal 48466 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 d+E&3MM)n4fc3p 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 + + diff --git a/src/pages/Coupons/Coupons.js b/src/pages/Coupons/Coupons.js new file mode 100644 index 0000000..3cff00b --- /dev/null +++ b/src/pages/Coupons/Coupons.js @@ -0,0 +1,55 @@ +import "./Coupons.scss"; +import notMember from "./notMember.png"; +import Modal from "react-modal"; +import { useState } from "react"; +import ShopTabs from "./ShopTabs/ShopTabs"; +import CouponList from "./CouponList/CouponList"; +import ShopManager from "./ShopManager/ShopManager"; + +const Coupons = ({ show, memberID, isShop = false }) => { + const isNotMember = !memberID; + const [showCoupons, setShowCoupons] = useState(true); + return ( + + {isNotMember ? ( +
    + +
    +
    { + window.wx.miniProgram.redirectTo({ + url: `/pages/login/index`, + }); + }} + > + 注册/登录 +
    + 后,可查看优惠卷 +
    +
    + ) : ( + <> + {isShop && ( + + )} + {(!isShop || (isShop && showCoupons)) && ( + + )} + {isShop && !showCoupons && ( + + )} + + )} +
    + ); +}; +export default Coupons; diff --git a/src/pages/Coupons/Coupons.scss b/src/pages/Coupons/Coupons.scss new file mode 100644 index 0000000..a97c912 --- /dev/null +++ b/src/pages/Coupons/Coupons.scss @@ -0,0 +1,69 @@ +.Coupons { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 98px; + z-index: 100000; + background: #f6f6f6; + pointer-events: auto; + display: flex; + flex-direction: column; + align-items: center; + .notMember { + display: flex; + flex-direction: column; + width: calc(100vw - 20px); + height: 396px; + border-radius: 18px; + background: #ffffff; + align-items: center; + .bg { + margin: auto; + width: 250px; + height: 250px; + margin-top: 16px; + } + .meta { + width: calc(100vw - 46px); + flex: 0 0 90px; + border-top: 1px solid #f5f5f5; + display: flex; + font-weight: 400; + font-size: 17px; + line-height: 22px; + color: #9d988f; + height: 90px; + justify-content: center; + align-items: center; + .btn { + color: #437af7; + } + } + } + .shopTabs { + display: flex; + width: calc(100vw - 20px); + height: 56px; + background: #ffffff; + border-radius: 12px; + padding: 4px; + .tab { + display: flex; + flex: 1; + height: 48px; + font-weight: 500; + font-size: 16px; + line-height: 22px; + color: #68655e; + justify-content: center; + align-items: center; + border-radius: 8px; + &.active { + color: #ffffff; + background: #daba7f; + box-shadow: 0px 6px 12px rgba(214, 154, 66, 0.3); + } + } + } +} diff --git a/src/pages/Coupons/ListEnd/ListEnd.js b/src/pages/Coupons/ListEnd/ListEnd.js new file mode 100644 index 0000000..3fc269a --- /dev/null +++ b/src/pages/Coupons/ListEnd/ListEnd.js @@ -0,0 +1,4 @@ +import bg from "./bg.svg"; +import "./ListEnd.scss"; +const ListEnd = () => ; +export default ListEnd; diff --git a/src/pages/Coupons/ListEnd/ListEnd.scss b/src/pages/Coupons/ListEnd/ListEnd.scss new file mode 100644 index 0000000..e1e9a19 --- /dev/null +++ b/src/pages/Coupons/ListEnd/ListEnd.scss @@ -0,0 +1,5 @@ +.ListEnd { + margin-top: 24px; + width: 62px; + height: 40px; +} diff --git a/src/pages/Coupons/ListEnd/bg.svg b/src/pages/Coupons/ListEnd/bg.svg new file mode 100644 index 0000000..86376a8 --- /dev/null +++ b/src/pages/Coupons/ListEnd/bg.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/Qrcode/Qrcode.js b/src/pages/Coupons/Qrcode/Qrcode.js new file mode 100644 index 0000000..30e4fd7 --- /dev/null +++ b/src/pages/Coupons/Qrcode/Qrcode.js @@ -0,0 +1,25 @@ +import QRCode from "qrcodejs2"; +import { useRef, useEffect } from "react"; +const Qrcode = ({ size, text, className }) => { + const ref = useRef(); + + useEffect(() => { + const domEl = ref.current; + domEl.innerHTML = ""; + new QRCode(domEl, { + width: size, + height: size, + text, + colorDark: "#000", + colorLight: "#fff", + }); + }, [ref]); + return ( +
    + ); +}; +export default Qrcode; diff --git a/src/pages/Coupons/Qrcode/Qrcode.scss b/src/pages/Coupons/Qrcode/Qrcode.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Coupons/ScanModal/ScanModal.js b/src/pages/Coupons/ScanModal/ScanModal.js new file mode 100644 index 0000000..489fe46 --- /dev/null +++ b/src/pages/Coupons/ScanModal/ScanModal.js @@ -0,0 +1,59 @@ +import "./ScanModal.scss"; +import Modal from "react-modal"; +import { useState, useEffect } from "react"; +import { Html5Qrcode } from "html5-qrcode"; + +const ScanModal = ({ onBack, onCode }) => { + const [loaded, setLoaded] = useState(false); + + const toast = (text) => + window.weui.toast(text, { + className: "toast", + }); + + useEffect(() => { + if (loaded) { + const dom = document.getElementById("qrcode-scaner"); + const html5QrCode = new Html5Qrcode("qrcode-scaner"); + html5QrCode + .start( + { facingMode: "environment" }, + { fps: 10, qrbox: { width: 280, height: 280 } }, + (code) => { + html5QrCode.stop(); + onCode && onCode(code); + } + ) + .catch(() => { + toast("启动二维码扫描失败"); + onBack && onBack(); + }); + return () => { + html5QrCode.stop(); + }; + } + }, [loaded]); + return ( + setLoaded(true)} + isOpen + ariaHideApp={false} + className="ScanModal" + > +
    +
    +
    +
    +
    onBack && onBack()}> + 手动输入券码 +
    +
    onBack && onBack()}>
    +
    + ); +}; +export default ScanModal; diff --git a/src/pages/Coupons/ScanModal/ScanModal.scss b/src/pages/Coupons/ScanModal/ScanModal.scss new file mode 100644 index 0000000..d198a30 --- /dev/null +++ b/src/pages/Coupons/ScanModal/ScanModal.scss @@ -0,0 +1,72 @@ +.ScanModal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #353230; + overflow: hidden; + .back { + position: absolute; + bottom: 48px; + left: 0; + right: 0; + margin: auto; + width: 48px; + height: 48px; + background: center / cover no-repeat url(./close.svg); + } + .btn { + position: absolute; + height: 56px; + left: 29px; + right: 28px; + bottom: 130px; + background: #ffffff; + border-radius: 10px; + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #437af7; + display: flex; + justify-content: center; + align-items: center; + } + .border { + position: absolute; + top: 94px; + left: 0; + right: 0; + margin: auto; + width: 320px; + height: 320px; + background: center / cover no-repeat url(./border.svg); + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; + @keyframes scaner { + 0% { + top: -74px; + } + 100% { + top: 320px; + } + } + .scaner { + position: absolute; + left: 0; + right: 0; + width: 320px; + height: 74px; + background: center / cover no-repeat url(./scaner.svg); + animation: 1s scaner infinite ease-in-out; + z-index: 2; + } + .container { + width: 280px; + height: 280px; + overflow: hidden; + } + } +} diff --git a/src/pages/Coupons/ScanModal/back.svg b/src/pages/Coupons/ScanModal/back.svg new file mode 100644 index 0000000..3a2dcd6 --- /dev/null +++ b/src/pages/Coupons/ScanModal/back.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/ScanModal/border.svg b/src/pages/Coupons/ScanModal/border.svg new file mode 100644 index 0000000..0533ee6 --- /dev/null +++ b/src/pages/Coupons/ScanModal/border.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/ScanModal/close.svg b/src/pages/Coupons/ScanModal/close.svg new file mode 100644 index 0000000..5a04b4a --- /dev/null +++ b/src/pages/Coupons/ScanModal/close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/ScanModal/scaner.svg b/src/pages/Coupons/ScanModal/scaner.svg new file mode 100644 index 0000000..0184e9b --- /dev/null +++ b/src/pages/Coupons/ScanModal/scaner.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/pages/Coupons/ShopManager/ShopManager.js b/src/pages/Coupons/ShopManager/ShopManager.js new file mode 100644 index 0000000..eb63e79 --- /dev/null +++ b/src/pages/Coupons/ShopManager/ShopManager.js @@ -0,0 +1,130 @@ +import "./ShopManager.scss"; +import noDataPic from "./noDataPic.png"; +import { post } from "../../../js/helpers/data-helper"; +import InfiniteScroll from "react-infinite-scroller"; +import { useState, useRef, useCallback } from "react"; +import ListEnd from "../ListEnd/ListEnd"; +import ApplyModal from "../ApplyModal/ApplyModal"; +import WriteOffModal from "../WriteOffModal/WriteOffModal"; + +const stateMap = { + 0: "待审核", + 1: "已发布", + 2: "已拒绝", +}; + +const ShopManager = ({ memberID }) => { + const [list, setList] = useState([]); + const [nextPageIndex, setNextPageIndex] = useState(1); + const [loading, setLoading] = useState(false); + + const [showApplyModal, setShowApplyModal] = useState(false); + const [showWriteOffModal, setShowWriteOffModal] = useState(false); + const listRef = useRef(); + const showNoData = !loading && list.length === 0; + const showListEnd = !loading && list.length > 0; + + const hasMore = nextPageIndex !== null; + + const loadMore = useCallback(async () => { + if (loading || nextPageIndex === null) return; + setLoading(true); + try { + const { code, data, msg } = await post("/api/coupon/ApplyedList", { + paging: 1, + pageIndex: nextPageIndex, + pageSize: 10, + memberID, + }); + if (code === "200") { + setList([...list, ...data.list]); + setNextPageIndex( + nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 + ); + } else { + setNextPageIndex(null); + window.weui.toast(msg, { + className: "toast", + }); + } + } catch (error) { + setNextPageIndex(null); + } finally { + setLoading(false); + } + }, [list, loading, nextPageIndex]); + return ( +
    +
    +
    setShowApplyModal(true)}> + 申请 +
    +
    setShowWriteOffModal(true)}> + 核销 +
    +
    + +
    + listRef && listRef.current} + > + {showNoData && ( + <> + +
    + 当前您还未发布礼券,请先申请,等待后台申请通过后,刷新页面显示 +
    + + )} + {list !== null && + list.map((coupon) => ( +
    +
    +
    礼券标题
    +
    {coupon.title}
    +
    +
    +
    发放数量
    +
    {coupon.totalCount}
    +
    + {coupon.state === 1 && ( +
    +
    已领取数
    +
    {coupon.received}
    +
    + )} +
    +
    使用期限
    +
    + {coupon.beginTime}至{coupon.endTime} +
    +
    +
    {stateMap[coupon.state]}
    +
    + ))} + {showListEnd && } +
    +
    + {showApplyModal && ( + { + setShowApplyModal(false); + setList([]); + setNextPageIndex(1); + }} + memberID={memberID} + > + )} + {showWriteOffModal && ( + setShowWriteOffModal(false)} + memberID={memberID} + > + )} +
    + ); +}; +export default ShopManager; diff --git a/src/pages/Coupons/ShopManager/ShopManager.scss b/src/pages/Coupons/ShopManager/ShopManager.scss new file mode 100644 index 0000000..145443b --- /dev/null +++ b/src/pages/Coupons/ShopManager/ShopManager.scss @@ -0,0 +1,132 @@ +.ShopManager { + flex: 1; + display: flex; + flex-direction: column; + background: linear-gradient( + 180deg, + #f2f2f2 0%, + rgba(249, 249, 249, 0) 20.18% + ); + border-radius: 18px 18px 0 0; + padding-top: 10px; + width: 100vw; + align-items: center; + overflow: hidden; + .btns { + display: flex; + margin-bottom: 10px; + width: calc(100vw - 20px); + .btn { + display: flex; + flex: 1; + font-weight: 400; + font-size: 17px; + color: #353230; + height: 48px; + background: #ffffff; + border-radius: 10px; + justify-content: center; + align-items: center; + } + .btn + .btn { + margin-left: 9px; + } + } + .noDataPic { + margin-top: 64px; + width: 250px; + height: 250px; + } + .noDataText { + margin: 0 43px; + font-weight: 400; + font-size: 17px; + line-height: 22px; + text-align: center; + color: #68655e; + } + .list-container { + flex: 1; + overflow-x: hidden; + overflow-y: scroll; + padding-top: 16px; + text-align: center; + scroll-behavior: smooth; + + &::-webkit-scrollbar { + display: none; + } + .coupon { + position: relative; + width: calc(100vw - 20px); + border-radius: 16px; + overflow: hidden; + padding: 24px; + .row { + height: 50px; + border-bottom: 1px solid rgba(240, 240, 240, 0.4); + + .r1 { + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #9d988f; + text-align: left; + } + .r2 { + font-weight: 600; + font-size: 17px; + line-height: 22px; + color: #353230; + margin-top: 6px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-align: left; + } + } + .row + .row { + margin-top: 10px; + } + .status { + position: absolute; + width: 72px; + height: 32px; + top: 0; + right: 0; + display: flex; + font-weight: 600; + font-size: 13px; + line-height: 18px; + color: #ffffff; + border-radius: 0px 0px 0px 14px; + justify-content: center; + align-items: center; + } + &.status0 { + background: linear-gradient(241.87deg, #ffffff 2.89%, #fffbf8 97.29%); + .status { + background: linear-gradient(90deg, #ecd3a6 5.56%, #dbb979 100%); + box-shadow: 4px 6px 18px rgba(214, 162, 101, 0.3); + } + } + &.status1 { + background: linear-gradient(241.87deg, #ffffff 2.89%, #fefff8 97.29%); + .status { + background: linear-gradient(270.4deg, #71c956 0.27%, #7add83 87.87%); + box-shadow: 4px 6px 18px rgba(151, 214, 101, 0.3); + } + } + &.status2 { + background: linear-gradient(241.87deg, #ffffff 2.89%, #fffafa 97.29%); + .status { + background: linear-gradient(270deg, #e76464 3.47%, #ffa0a0 90.28%); + box-shadow: 4px 6px 18px rgba(214, 101, 122, 0.3); + } + } + } + .coupon + .coupon { + margin-top: 8px; + } + } +} diff --git a/src/pages/Coupons/ShopManager/noDataPic.png b/src/pages/Coupons/ShopManager/noDataPic.png new file mode 100644 index 0000000000000000000000000000000000000000..3885857fc199236224653f413dd12c0f31c4d9bb GIT binary patch literal 42810 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�omKQxxfSbZeC!$);W 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
    <7R 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 { + return ( +

    +
    setShowCoupons(true)} + > + + 我的礼包 +
    +
    setShowCoupons(false)} + > + + 券管家 +
    +
    + ); +}; +export default ShopTabs; diff --git a/src/pages/Coupons/ShopTabs/ShopTabs.scss b/src/pages/Coupons/ShopTabs/ShopTabs.scss new file mode 100644 index 0000000..97e7fda --- /dev/null +++ b/src/pages/Coupons/ShopTabs/ShopTabs.scss @@ -0,0 +1,32 @@ +.ShopTabs { + display: flex; + width: calc(100vw - 20px); + height: 56px; + background: #ffffff; + border-radius: 12px; + padding: 4px; + margin-bottom: 16px; + margin-top: 10px; + .tab { + display: flex; + flex: 1; + height: 48px; + font-weight: 500; + font-size: 16px; + line-height: 22px; + color: #68655e; + justify-content: center; + align-items: center; + border-radius: 8px; + img { + width: 20px; + height: 20px; + margin-right: 8px; + } + &.active { + color: #ffffff; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + } + } +} diff --git a/src/pages/Coupons/ShopTabs/card.svg b/src/pages/Coupons/ShopTabs/card.svg new file mode 100644 index 0000000..3849560 --- /dev/null +++ b/src/pages/Coupons/ShopTabs/card.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/ShopTabs/cardActive.svg b/src/pages/Coupons/ShopTabs/cardActive.svg new file mode 100644 index 0000000..7d37ed3 --- /dev/null +++ b/src/pages/Coupons/ShopTabs/cardActive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/ShopTabs/ticket.svg b/src/pages/Coupons/ShopTabs/ticket.svg new file mode 100644 index 0000000..f808ff1 --- /dev/null +++ b/src/pages/Coupons/ShopTabs/ticket.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/ShopTabs/ticketActive.svg b/src/pages/Coupons/ShopTabs/ticketActive.svg new file mode 100644 index 0000000..add8d1a --- /dev/null +++ b/src/pages/Coupons/ShopTabs/ticketActive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Coupons/WriteOffModal/WriteOffModal.js b/src/pages/Coupons/WriteOffModal/WriteOffModal.js new file mode 100644 index 0000000..87d37e1 --- /dev/null +++ b/src/pages/Coupons/WriteOffModal/WriteOffModal.js @@ -0,0 +1,148 @@ +import "./WriteOffModal.scss"; +import Modal from "react-modal"; +import { useState, useRef, useEffect, useCallback } from "react"; +import { post } from "../../../js/helpers/data-helper"; +import ScanModal from "../ScanModal/ScanModal"; +import InfiniteScroll from "react-infinite-scroller"; +import ListEnd from "../ListEnd/ListEnd"; + +const WriteOffModal = ({ onBack, memberID }) => { + const [orderNo, setOrderNo] = useState(""); + const [showScanModal, setShowScanModal] = useState(false); + const [list, setList] = useState([]); + const [nextPageIndex, setNextPageIndex] = useState(1); + const [loading, setLoading] = useState(false); + const hasMore = nextPageIndex !== null; + const [allCount, setAllCount] = useState(0); + const [month, setMonth] = useState(new Date().toJSON().slice(0, 7)); + const showListEnd = list !== null && list.length > 0; + const listRef = useRef(); + + const loadMore = useCallback(async () => { + if (loading || nextPageIndex === null) return; + setLoading(true); + try { + const { code, data, msg } = await post("/api/Coupon/WriteOffHis", { + paging: 1, + pageIndex: nextPageIndex, + pageSize: 10, + memberID, + month, + }); + if (code === "200") { + setList([...list, ...data.list]); + setNextPageIndex( + nextPageIndex + 1 > data.allPage ? null : nextPageIndex + 1 + ); + setAllCount(data.allCount); + } else { + setNextPageIndex(null); + window.weui.toast(msg, { + className: "toast", + }); + } + } catch (error) { + setNextPageIndex(null); + } finally { + setLoading(false); + } + }, [list, loading, nextPageIndex]); + + useEffect(() => { + if (listRef.current) listRef.current.scrollTop = 0; + setNextPageIndex(1); + setAllCount(0); + setList([]); + }, [month]); + + const toast = (text) => + window.weui.toast(text, { + className: "toast", + }); + const writeOff = async (orderNo) => { + try { + const { code, msg } = await post("/api/coupon/writeoffcoupon", { + orderNo, + memberID, + }); + if (code === "200") { + toast("核销成功"); + return true; + } else { + toast(msg); + return false; + } + } catch (error) { + return false; + } + }; + const submitFromBtn = async (orderNo) => { + const result = await writeOff(orderNo); + if (result) { + setOrderNo(""); + } + }; + const handleCode = async (orderNo) => { + await writeOff(orderNo); + setShowScanModal(false); + }; + return ( + +
    onBack && onBack()}>
    +
    核销
    +
    +
    + setOrderNo(e.target.value)} + > +
    +
    setShowScanModal(true)}>
    + {!!orderNo && ( +
    submitFromBtn(orderNo)}> + 确认核销 +
    + )} +
    +
    已核销({allCount}张)
    + setMonth(e.target.value)} + > +
    +
    + listRef && listRef.current} + > + {list !== null && + list.map((coupon) => ( +
    +
    +
    礼券标题
    +
    {coupon.title}
    +
    +
    +
    核销时间
    +
    {coupon.writeOffTime}
    +
    +
    + ))} + {showListEnd && } +
    +
    + {showScanModal && ( + setShowScanModal(false)} + onCode={handleCode} + > + )} +
    + ); +}; +export default WriteOffModal; diff --git a/src/pages/Coupons/WriteOffModal/WriteOffModal.scss b/src/pages/Coupons/WriteOffModal/WriteOffModal.scss new file mode 100644 index 0000000..83d9035 --- /dev/null +++ b/src/pages/Coupons/WriteOffModal/WriteOffModal.scss @@ -0,0 +1,162 @@ +.WriteOffModal { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #f6f6f6; + overflow: hidden; + .back { + position: absolute; + top: 10px; + left: 10px; + width: 60px; + height: 60px; + background: center / cover no-repeat url(./back.svg); + } + .title { + position: absolute; + top: 28px; + right: 16px; + font-style: normal; + font-weight: 600; + font-size: 20px; + line-height: 25px; + color: #000000; + } + .search { + position: absolute; + top: 94px; + left: 10px; + right: 108px; + background: #ffffff; + border-radius: 10px; + height: 60px; + overflow: hidden; + .icon { + position: absolute; + top: 14px; + left: 14px; + width: 47px; + height: 32px; + background: center / cover no-repeat url(./search.svg); + } + input { + position: absolute; + left: 75px; + right: 0; + top: 0; + bottom: 0; + margin: auto; + font-weight: 600; + font-size: 16px; + line-height: 22px; + border: none; + outline: none; + color: #353230; + &::placeholder { + color: #dad7d1; + } + } + } + .scan { + position: absolute; + top: 94px; + right: 16px; + width: 80px; + height: 60px; + background: center / cover no-repeat url(./scan.svg); + } + .btn { + position: absolute; + height: 56px; + left: 29px; + right: 28px; + bottom: 126px; + font-weight: 600; + font-size: 16px; + line-height: 22px; + text-align: center; + color: #ffffff; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 10px; + display: flex; + justify-content: center; + align-items: center; + z-index: 1; + } + .bar { + position: absolute; + top: 178px; + left: 24px; + right: 24px; + height: 20px; + font-weight: 600; + font-size: 15px; + line-height: 20px; + color: #353230; + display: flex; + justify-content: space-between; + input { + outline: none; + border: none; + background: none; + } + &::after { + content: ""; + position: absolute; + left: -8px; + bottom: -8px; + right: -5px; + height: 1px; + background: #dad7d1; + opacity: 0.6; + } + } + .list-container { + position: absolute; + top: 206px; + bottom: 0px; + left: 10px; + right: 10px; + overflow-x: hidden; + overflow-y: scroll; + text-align: center; + &::-webkit-scrollbar { + display: none; + } + .coupon { + height: 170px; + background: #ffffff; + border-radius: 16px; + padding: 24px; + margin-top: 10px; + .block { + height: 54px; + border-bottom: 1px solid rgba(240, 240, 240, 0.4); + text-align: left; + .r1 { + font-weight: 400; + font-size: 15px; + line-height: 20px; + color: #9d988f; + } + .r2 { + font-style: normal; + font-weight: 600; + font-size: 17px; + line-height: 22px; + color: #353230; + margin-top: 6px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + } + .block + .block { + margin-top: 16px; + } + } + } +} diff --git a/src/pages/Coupons/WriteOffModal/back.svg b/src/pages/Coupons/WriteOffModal/back.svg new file mode 100644 index 0000000..3a2dcd6 --- /dev/null +++ b/src/pages/Coupons/WriteOffModal/back.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/WriteOffModal/scan.svg b/src/pages/Coupons/WriteOffModal/scan.svg new file mode 100644 index 0000000..f1f6ac9 --- /dev/null +++ b/src/pages/Coupons/WriteOffModal/scan.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/pages/Coupons/WriteOffModal/search.svg b/src/pages/Coupons/WriteOffModal/search.svg new file mode 100644 index 0000000..6bb0074 --- /dev/null +++ b/src/pages/Coupons/WriteOffModal/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/pages/Coupons/notMember.png b/src/pages/Coupons/notMember.png new file mode 100644 index 0000000000000000000000000000000000000000..fe86524d8859aa0905898c15be191ceb5d3cc0d7 GIT binary patch literal 63742 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
    !^~h@*=8lOxqp$d!<7cO8T}So!q$-%kV&kk= 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 P3esdH6(wrKjDr3@bS{LF literal 0 HcmV?d00001 diff --git a/src/pages/Index/Index.js b/src/pages/Index/Index.js new file mode 100644 index 0000000..52c3063 --- /dev/null +++ b/src/pages/Index/Index.js @@ -0,0 +1,893 @@ +import React, { useState, useEffect, useReducer, useRef } from "react"; +import Qmmap from "qmmap"; +import { useHistory, useLocation } from "react-router-dom"; +import { getMallInfo, post } from "../../js/helpers/data-helper"; +import "./Index.scss"; +import Floors from "../../components/Floors/Floors"; +import HeadBar from "../../components/HeadBar/HeadBar"; +import Popup from "../../components/Popup/Popup"; +import pos from "./pos.png"; +import offline from "./offline.png"; +import compass from "./compass.png"; +import Shops from "../Shops/Shops"; +import NavBottom from "../../components/NavBottom/NavBottom"; +import Modal from "react-modal"; +import DefaultPopup, { + DefaultPopupStates, +} from "../../components/DefaultPopup/DefaultPopup"; +import More from "../../components/More/More"; +import arpng from "./ar.png"; +import Car from "../Car/Car"; +import axios from "axios"; +import Activities from "../Activities/Activities"; +import Coupons from "../Coupons/Coupons"; +import TabMap from "./tabs/Tabs"; +import ShopCoupons from "../ShopCoupons/ShopCoupons"; + +export const MallCode = React.createContext(null); +// const vConsole = new window.VConsole(); +let focusdDevice; +let memberID; +let isShop; + +const Index = () => { + const history = useHistory(); + const [mapId] = useState("id" + new Date().getTime()); + const [shop, setShop] = useState(null); + const [mallInfo, setMallInfo] = useState(null); + const mall = mallInfo ? mallInfo.mall : null; + const config = mallInfo ? mallInfo.config : null; + const images = mallInfo ? mallInfo.images : null; + const [map, setMap] = useState(null); + const [sceneIndex, setSceneIndex] = useState(null); + const params = new URLSearchParams(useLocation().search); + const [mallCode, setMallCode] = useState(null); + const startParams = params.get("s"); + let endId = params.get("e"); + const openid = params.get("openid"); + if (params.get("memberID")) memberID = params.get("memberID"); + if (params.get("isShop")) isShop = params.get("isShop"); + const plate = params.get("plate"); + const [navigation, setNavigation] = useState(false); + const [inAnimation, setInAnimation] = useState(false); + const [displayMode, setDisplayMode] = useState(1); + const [searchType, setSearchType] = useState(0); + const [showOptions, setShowOptions] = useState(false); + const [showShops, setShowShops] = useState(false); + const [routeSearchText, setRouteSearchText] = useState(""); + const [percent, setPercent] = useState(0); + const [elevations, setElevations] = useState([]); + const [paused, setPaused] = useState(false); + const [playAudio, setPlayAudio] = useState(false); + const [online, setOnline] = useState(true); + const [azimuthAngle, setAzimuthAngle] = useState(0); + const [follow, setFollow] = useState(false); + const [facilities, setFacilities] = useState(null); + const [defaultPopupState, setDefaultPopupState] = useState( + DefaultPopupStates.init + ); + const [start, _setStart] = useState(null); + const [end, _setEnd] = useState(null); + const [isPick, _setIsPick] = useState(false); + const [doFocus, _setDoFocus] = useState(0); + const [showARPrompt, setShowARPrompt] = useState(false); + const [ARshop, setARShop] = useState(null); + const [isTyping, setIsTyping] = useState(null); + const [showFindCar, setShowFindCar] = useState(false); + const [showActivities, setShowActivities] = useState(false); + const [showCoupon, setShowCoupon] = useState(false); + const [tab, setTab] = useState("地图"); + const [couponShop, setCouponShop] = useState(null); + const [initActivity, setInitActivity] = useState(null); + const showShopCoupons = !!couponShop; + + const hasTab = mall && mall.menu.length > 1; + const setStatistics = mall + ? ({ userId, navType, pointType, objectCode, objectName, floorName }) => + axios.post(mall.baseUrl + "/Api/Statistics/AddGuideRecord", { + mallCode: mall.code, + userId, + navType, + pointType, + objectCode, + objectName, + floorName, + }) + : undefined; + useEffect(() => { + if (shop) { + const e = shop.houseNum + ? shop.houseNum + : shop.isDevice + ? `${shop.floorOrder}_${shop.navPoint}_${shop.name}` + : encodeURIComponent(shop.id); + history.replace( + `/?openid=${openid}&e=${e}&name=${shop.name}${ + shop.floorName ? "(" + shop.floorName + ")" : "" + }` + ); + } + }, [shop]); + + useEffect(() => { + if (!map) return; + let start; + let end; + if (startParams) { + const startParamList = startParams.split("_"); + if (startParamList.length === 3) { + let [sfloororder, spoint, sname] = startParamList; + sfloororder = Number(sfloororder); + spoint = Number(spoint); + start = { + isDevice: true, + name: sname, + navPoint: spoint, + yaxis: spoint, + floorOrder: sfloororder, + }; + setStart(start); + } + } + if (!endId) return; + if (endId === "findcar") return setShowFindCar(true); + if (endId === "me") return setTab("我的"); + if (endId.startsWith && endId.startsWith("activities")) { + setTab("活动"); + if (endId === "activities") return; + else { + const code = endId.replace("activities", ""); + const activity = mall.activities.find((act) => act.code === code); + if (activity) setInitActivity(activity); + return; + } + } + + if (mall.mcShopIDHouseNumMap && mall.mcShopIDHouseNumMap[endId]) + endId = mall.mcShopIDHouseNumMap[endId]; + const shop = map.getShopByHouseNum(endId); + const p = map.getPByHouseNum(endId) ? map.getPByHouseNum(endId).data : null; + const fac = map.getFacilityById(endId) ? map.getFacilityById(endId) : null; + const endParamList = endId.split("_"); + let endPoint = null; + if (endParamList.length === 3) { + let [efloororder, epoint, ename] = endParamList; + efloororder = Number(efloororder); + epoint = Number(epoint); + endPoint = { + isDevice: true, + name: ename, + navPoint: epoint, + yaxis: epoint, + floorOrder: efloororder, + }; + } + end = shop ? shop : p ? p : fac ? fac : endPoint; + if (!start) { + setDoFocus(2); + shop + ? map.focusShopByHouseNum(endId) + : p + ? map.focusPByHouseNum(endId) + : fac + ? map.focusFacilityById(endId) + : map.addDeviceAndFocus(end).then((device) => { + focusdDevice = device; + setShop(end); + }); + return; + } + if (start && end) { + setEnd(end); + map.startNavigate({ + start, + end, + }); + } + }, [map]); + + useEffect(() => { + map && map.setStart(start); + }, [start]); + + useEffect(() => { + map && map.setEnd(end); + }, [end]); + + const doFocusRef = useRef(doFocus); + const setDoFocus = (data) => { + doFocusRef.current = data; + _setDoFocus(data); + }; + + const startRef = useRef(start); + const setStart = (data) => { + startRef.current = data; + _setStart(data); + }; + + const endRef = useRef(end); + const setEnd = (data) => { + endRef.current = data; + _setEnd(data); + }; + + const isPickRef = useRef(isPick); + const setIsPick = (data) => { + isPickRef.current = data; + _setIsPick(data); + }; + + useEffect(() => { + let offlineListener = () => setOnline(false); + let onlineListener = () => setOnline(true); + window.addEventListener("offline", offlineListener); + window.addEventListener("online", onlineListener); + return () => { + window.removeEventListener("online", onlineListener); + window.removeEventListener("offline", offlineListener); + }; + }); + + const [_, dispatchLS] = useReducer( + ({ lastSearch }, { type, data }) => { + switch (type) { + case "set": + return { lastSearch: data }; + case "addLine": + lastSearch && + lastSearch.forEach(({ floorOrder: floorOrder, addLine }) => { + Number(floorOrder) === data && addLine(); + }); + return { lastSearch }; + default: + throw new Error(); + } + }, + { + lastSearch: null, + } + ); + + const handleFocus = ({ data, preventDefault }) => { + const start = startRef.current; + const end = endRef.current; + const isPick = isPickRef.current; + const doFocus = doFocusRef.current; + if (doFocus === 2) { + setDoFocus(1); + setShop(data); + return; + } + if (start && end) { + preventDefault(); + } else if (((start && !end) || (!start && end)) && !isPick) { + preventDefault(); + } else { + if (follow) { + map.setFollow(false); + setFollow(false); + } + setShop(data); + } + setDoFocus(0); + }; + + const swap = async () => { + if (navigation && start && end) await navigation.stop(); + if (start && end) map.startNavigate({ start: end, end: start }); + setStart(end); + setEnd(start); + }; + + const handleBlur = () => { + if (focusdDevice) { + focusdDevice.blur(); + focusdDevice = null; + } + const doFocus = doFocusRef.current; + if (doFocus === 1) return; + history.replace(`/?openid=${openid}`); + setShop(null); + }; + + const loadMap = () => { + let img = new Image(100, 200); + img.src = offline; + const { scale, needSpotLight } = mall; + new Qmmap({ + container: document.querySelector(`#${mapId}`), + config: { + ...(config ? config : {}), + focusStyle: ["scale", "showText"], + focusColor: 0xff0000, + controller: "MapControls", + routeSearchAnimationType: 2, + routeSearchZoom: 2, + maxZoom: 4, + playAudio, + needSpotLight, + scale, + floorHeights: { + 0: 10, + 1: 10, + 2: 10, + 3: 10, + 4: 10, + 5: 10, + 6: 10, + 7: 10, + 8: 10, + 9: 10, + 10: 10, + 11: 10, + }, + backgroundColor: null, + navIconTopColor: 0xffffff, + navIconMiddleColor: 0x437af7, + navIconBottomColor: 0xffffff, + pathMainColor: 0x437af7, + pathBorderColor: 0x5ea4f9, + pathArrowColor: 0xffffff, + addtionalFacilityCodeMap: mall.addtionalFacilityCodeMap, + autoRotate: false, + customTitleFacilityTypeMap: { 116: true }, + wrapperWindowRatio: 1, + }, + mall, + onFocusShop: (data, stop) => { + handleFocus({ data, preventDefault: stop }); + }, + onBlurShop: handleBlur, + onFocusFacility: (data, stop) => { + handleFocus({ data, preventDefault: stop }); + }, + onBlurFacility: handleBlur, + onTapP(data, stop) { + handleFocus({ data, preventDefault: stop }); + }, + onBlurP: handleBlur, + onSearchStart: (navigation) => { + const { pathsByFloor } = navigation; + console.log(navigation); + if (pathsByFloor.length === 1) setElevations([]); + else { + let result = []; + let acc = 0; + for (let i = 0; i < pathsByFloor.length - 1; i++) { + let { floorOrder: floorOrder1, distanceSum } = pathsByFloor[i]; + let { floorOrder: floorOrder2 } = pathsByFloor[i + 1]; + + acc += distanceSum; + result.push({ + isUp: Number(floorOrder2) > Number(floorOrder1), + floorOrder: floorOrder2, + percent: acc / navigation.totalDistance, + name: mall.floors[floorOrder2][1], + }); + } + setElevations(result); + } + navigation.handleText = setRouteSearchText; + navigation.onPercentChange = setPercent; + navigation.onPausedChanged = setPaused; + setNavigation(navigation); + setInAnimation(true); + dispatchLS({ type: "set", data: pathsByFloor }); + }, + onSearchComplete: () => { + setInAnimation(false); + }, + images, + onFloorChange: (floorOrder) => { + setDoFocus(0); + setSceneIndex(floorOrder); + dispatchLS({ type: "addLine", data: floorOrder }); + }, + onLoad: (map) => { + setDisplayMode(1); + setMap(map); + }, + onAzimuthAngleChange: (angle) => + setAzimuthAngle(Math.floor((angle / Math.PI) * 180)), + }); + }; + + useEffect(() => { + if (!mallCode) { + getMallInfo({ memberID }).then((result) => { + if (!mallCode) setMallCode(result.mall.code); + setMallInfo(result); + }); + } + }, [mallCode]); + + const showPopup = + shop !== null && + !isPick && + defaultPopupState !== DefaultPopupStates.facList; + const hasCoupon = showPopup && shop && shop.hasCoupon; + const showHeadBar = (start || end) && !inAnimation; + const showHeadBarSearchType = showHeadBar && start && end; + const showNav = inAnimation && start && end; + const showDefaultPopup = !showPopup && !showHeadBar && !showNav && facilities; + const isNavEnd = showHeadBar && start && end; + + const exitFromNav = () => { + map.setStart(null); + map.setEnd(null); + map.recycle(); + setIsPick(false); + navigation && navigation.stop && navigation.stop(); + dispatchLS({ type: "set", data: null }); + setStart(null); + setEnd(null); + }; + + useEffect(() => { + if (navigation) { + if (openid) { + const isShop = "intro" in end; + const isP = end.isP; + const isDevice = end.isDevice; + setStatistics({ + userId: openid, + navType: 2, + pointType: isShop || isDevice ? "1" : isP ? "3" : "2", + objectCode: isShop ? end.code : isP ? end.houseNum : end.Type, + objectName: end.name, + floorName: end.floorName || mall.floors[end.floorOrder][1], + }); + } + } + }, [navigation]); + + useEffect(() => { + if (mallInfo) { + setTab(mall.menu[0].name); + loadMap(); + } + }, [mallInfo]); + + useEffect(() => { + if (map) { + let facs = map.getAllFacilities(); + facs = facs + .filter(({ url, typeName }) => url && typeName) + .reduce( + (acc, nxt) => + acc[nxt.typeName] + ? { ...acc, [nxt.typeName]: [...acc[nxt.typeName], nxt] } + : { ...acc, [nxt.typeName]: [nxt] }, + {} + ); + setFacilities(facs); + } + }, [map]); + + useEffect(() => { + switch (tab) { + case "活动": + setShowFindCar(false); + setShowCoupon(false); + setShowActivities(true); + break; + case "地图": + setShowFindCar(false); + setShowCoupon(false); + setShowActivities(false); + break; + case "寻车": + setShowCoupon(false); + setShowActivities(false); + setShowFindCar(true); + break; + case "我的": + setShowActivities(false); + setShowFindCar(false); + setShowCoupon(true); + break; + default: + break; + } + }, [tab]); + + return ( + +
    + {showShopCoupons && ( + + setCouponShop(null)} + shop={couponShop} + > + + )} + {showActivities && ( + + setTab("地图")} + facilities={facilities} + onGo={(fac) => { + setTab("地图"); + map && map.focusFacilityById(fac.id); + }} + > + + )} + {showFindCar && mall && ( + + name === "寻车")?.specialType === 1 + } + plate={plate} + lots={mall.lots} + onBack={() => setTab("地图")} + onLot={(e) => { + setDoFocus(2); + map.focusPByHouseNum(e); + setTab("地图"); + }} + > + + )} + {showARPrompt && ( + + +
    即将离开模拟导航 进入AR导航
    +
    是否要继续?
    +
    +
    setShowARPrompt(false)}> + 取消 +
    +
    { + if (openid && openid !== "null") { + const isShop = "intro" in ARshop; + const isP = ARshop.isP; + const isDevice = ARshop.isDevice; + setStatistics({ + userId: openid, + navType: 1, + pointType: isShop || isDevice ? "1" : isP ? "3" : "2", + objectCode: isShop + ? ARshop.code + : isP + ? ARshop.houseNum + : ARshop.Type, + objectName: ARshop.name, + floorName: + ARshop.floorName || mall.floors[ARshop.floorOrder][1], + }); + } + setShowARPrompt(false); + window.wx.miniProgram.redirectTo({ + url: `/pages/index/index?e=${ + ARshop.houseNum + ? ARshop.houseNum + : ARshop.isDevice + ? `${ARshop.floorOrder}_${ARshop.navPoint}_${ARshop.name}` + : encodeURIComponent(ARshop.id) + }&searchType=${searchType}`, + }); + }} + > + 确定 +
    +
    +
    + )} + {!online && ( + + + + )} + +
    + {!(start || end) && ( +
    { + const { msg } = await post("/Api/Operation/GetUserAward", { + memberID, + poiCode: "97be8faa6ab34e08864bf2b1c231e6ab", + }); + window.weui.toast(msg, { + className: "toast", + }); + }} + > + 图左 + {mall && mall.city} +
    + {mall && mall.name} +
    + )} + {showHeadBar && ( + { + setStart(shop); + map.startNavigate({ start: shop, end }); + }} + onSetEnd={(shop) => { + setEnd(shop); + map.startNavigate({ start, end: shop }); + }} + blurMap={() => { + map.blurShop(); + map.blurFacility(); + }} + searchType={searchType} + onClickSearchType={(id) => { + if (id === searchType) return; + setSearchType(id); + map && map.changeSearchType(id); + }} + showSearchType={start && end} + onIsTypingChange={setIsTyping} + > + )} + + {((!(start && end) && !isTyping) || showHeadBarSearchType) && ( + { + if (id === displayMode) return; + setDisplayMode(id); + map && map.changeDisplayMode(id); + }} + onClickSearchType={(id) => { + if (id === searchType) return; + setSearchType(id); + map && map.changeSearchType(id); + }} + > + )} + {!isTyping && !showHeadBar && ( + <> + + map && !showNav && map.changeFloor(sceneIndex, true) + } + /> + + )} +
    +
    + + setShowShops(false)} + onClick={({ houseNum }) => { + setShowShops(false); + setDoFocus(2); + map.focusShopByHouseNum(houseNum); + }} + onClose={() => setShowShops(false)} + > + { + setShowShops(true); + }} + onClickFac={(id) => { + setDoFocus(2); + map && map.focusFacilityById(id); + }} + setEnd={(fac) => { + setEnd(fac); + setShop(null); + }} + blurMap={() => { + setShop(null); + map.blurShop(); + map.blurFacility(); + }} + mall={mall} + onClick={({ houseNum }) => { + setShowShops(false); + setDoFocus(2); + map.focusShopByHouseNum(houseNum); + }} + > + ) + } + floors={ + mall && + sceneIndex !== null && + (defaultPopupState !== DefaultPopupStates.moreFac || + !showDefaultPopup) && ( + { + setShowActivities(true); + }} + mall={mall} + hasCoupon={hasCoupon} + > + ) + } + shop={shop} + closePopup={() => { + setShop(null); + history.replace(`/?openid=${openid}`); + map.blurShop(); + map.blurFacility(); + }} + showDetail={() => setShop({ ...shop, showDetail: true })} + setEnd={() => { + setEnd(shop); + setShop(null); + }} + handleAR={(shop) => { + setARShop(shop); + setShowARPrompt(true); + }} + onClickCoupon={() => { + setCouponShop(shop); + }} + > + {showNav && ( + + map.changeRouteSearchAnimationType( + map.routeSearchAnimationType() === 1 ? 2 : 1 + ) + } + onExit={exitFromNav} + end={end} + meters={Math.floor(navigation.totalDistanceInMeter * (1 - percent))} + minutes={Math.floor( + (navigation.totalDistanceInMeter * (1 - percent)) / 1.4 / 60 + )} + puaseOrResume={() => { + if (paused) navigation.resume(); + else navigation.pause(); + }} + paused={paused} + startText={mall.floors[start.floorOrder][1]} + routeSearchText={routeSearchText} + percent={percent} + elevations={elevations} + handleAR={(shop) => { + setARShop(shop); + setShowARPrompt(true); + }} + > + )} + {isNavEnd && ( +
    { + map.startNavigate({ start, end }); + }} + > + 开始导航 +
    + )} + {mall && mall.menu.length > 1 && ( +
    + {mall.menu.map(({ name, alias }) => { + const isActive = tab === name; + return ( +
    setTab(name)} + > + + {alias || name} +
    + ); + })} +
    + )} +
    +
    + ); +}; +export default Index; diff --git a/src/pages/Index/Index.scss b/src/pages/Index/Index.scss new file mode 100644 index 0000000..ee7777f --- /dev/null +++ b/src/pages/Index/Index.scss @@ -0,0 +1,381 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} +html, +body { + margin: 0; + height: 100%; + overflow: hidden; + overscroll-behavior: none; + font-family: SourceHanSansCN-Regular, SourceHanSansCN; + user-select: none; + outline: none; + .no-selected { + -webkit-user-select: none; /*Chrome/ Safari/ Opear新版本*/ + -webkit-font-smoothing: antialiased; + user-select: none; + z-index: 1; + } +} +.activity-modal { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 98px; + z-index: 100000; +} +.car-wrapper { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 98px; + z-index: 100000; +} +.shopcoupon-wrapper { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 100000; +} +.offline { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: #fff; + img { + position: absolute; + width: 80vw; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; + } +} +.prompt { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center; + + .icon { + position: absolute; + width: 128px; + height: 128px; + left: 0; + right: 0; + top: calc(50vh - 128px - 40px - 17px); + margin: auto; + } + .title { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + width: 250px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 28px; + line-height: 39px; + height: 78px; + text-align: center; + letter-spacing: 1px; + color: #ffffff; + } + .meta { + position: absolute; + left: 0; + right: 0; + top: calc(50vh + 39px + 8px); + margin: auto; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + text-align: center; + letter-spacing: 1px; + color: #c9cbd1; + } + .btns { + position: absolute; + display: flex; + top: calc(50vh + 39px + 8px + 80px + 4px); + left: 0; + right: 0; + justify-content: center; + } + .btn1 { + display: flex; + justify-content: center; + align-items: center; + height: 50px; + width: 157px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + text-align: center; + color: #ffffff; + pointer-events: auto; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 10px; + margin-left: 4px; + } + .btn2 { + display: flex; + justify-content: center; + align-items: center; + height: 50px; + width: 157px; + border-radius: 63px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + text-align: center; + color: #ffffff; + pointer-events: auto; + border: 1px solid #c9cbd1; + border-radius: 10px; + } +} +.index { + position: fixed; + width: 100vw; + height: 100vh; + &.hasTab { + height: calc(100vh - 84px); + } + + overscroll-behavior: none; + + &.t1, + &.t2 { + .qmmap { + margin-top: -88px; + } + } + &.t3 { + .qmmap { + margin-top: -160px; + } + } + .hud { + position: fixed; + z-index: 3000; + top: 0; + left: 0; + right: 0; + bottom: 0; + pointer-events: none; + &.bg { + background: #f0f0f0; + } + .compass { + position: absolute; + top: 52px; + left: 10px; + width: 34px; + height: 34px; + transform-origin: center; + pointer-events: auto; + &.has-nav-text-top { + top: 50px; + } + } + .car { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + bottom: 238px; + right: 10px; + width: 76px; + height: 40px; + background: #ffffff; + box-shadow: 0px 8px 8px rgba(104, 110, 127, 0.04); + border-radius: 12px; + pointer-events: auto; + img { + width: 52px; + height: 22px; + } + } + .top-left { + position: absolute; + top: 10px; + left: 10px; + display: inline-flex; + border-radius: 20px; + background: #fff; + font-family: PingFang SC; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + color: #323337; + height: 32px; + padding: 0 12px 0 8px; + z-index: 1; + align-items: center; + align-content: center; + img.left { + width: 16px; + height: 16px; + margin-right: 8px; + } + .border { + width: 1px; + height: 10px; + background: #c9cbd1; + margin: 0 8px; + } + } + + .top-right { + position: absolute; + top: 12px; + right: 14px; + border-radius: 15px; + color: #a9a9a9; + background: #fff; + line-height: 30px; + padding: 0 12px 0 35px; + font-size: 11px; + z-index: 1; + } + .top-right img { + position: absolute; + top: 9px; + left: 13px; + width: 13px; + } + } + .qmmap-container { + .wrapper { + .focus-text { + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + padding: 0 12px; + border: 1px solid #437af7; + border-radius: 20px; + height: 25px; + .down-arrow-wrapper { + width: 6px; + height: 6px; + background-image: url(./arrow.png); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border: none; + bottom: -6px; + overflow: visible; + .down-arrow { + display: none; + } + } + } + .facility .passing { + color: #508af7 !important; + } + .floor.colored { + background: linear-gradient( + 180deg, + #508af7 0%, + #5ea5f9 100% + ) !important; + } + } + } + .qmmap { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + overscroll-behavior: none; + overflow: hidden; + transition: margin-top 0.5s ease; + } + .nav-button { + position: absolute; + z-index: 100; + left: 0; + right: 0; + margin: auto; + bottom: 56px; + width: 214px; + height: 56px; + line-height: 56px; + font-size: 12px; + font-family: PingFang SC; + font-style: normal; + font-size: 16px; + font-weight: 600; + text-align: center; + color: #ffffff; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 16px; + text-align: center; + } + .tab-bar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + height: 98px; + width: 100vw; + padding-bottom: 34px; + padding-top: 12px; + background: #fff; + z-index: 20000; + display: flex; + box-shadow: 0px -10px 20px rgba(104, 110, 127, 0.08); + border-radius: 18px 18px 0px 0px; + &::after { + content: ""; + display: block; + background: #f3f4f8; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 34px; + } + .tab { + flex: 1; + display: flex; + flex-direction: column; + height: 44px; + justify-content: flex-start; + align-items: center; + font-weight: 600; + font-size: 12px; + line-height: 16px; + color: #c9cbd1; + img { + width: 20px; + height: 20px; + margin-bottom: 2px; + } + &.active { + color: #474a56; + } + } + } +} diff --git a/src/pages/Index/ar.png b/src/pages/Index/ar.png new file mode 100644 index 0000000000000000000000000000000000000000..59fa7757e28823e2a3f4c82cfed832748ed7eecd GIT binary patch literal 6800 zcmb_h`8(8K^nVY=E?d^DlPyA2LNb<-ov}+zW>4Z`Tp>J-*eA%?(>}c+;h%7uh&h0TN!h)i?Ra%z-4LzvjqSU zT?7HF%=F<_VA);z!1mDO1_}TKW&eF3Q(Kv>e*gD zU;q%6HHGQhKLY*Ex2zI#2qXTLS%(s`&~%v zMqNlUG4(U=hpBTko&Emm{CZRT+q&1($t^gfXVOjP3}xyJLw~0PX!L^FvK-9JBYTVY zivl`mNo;QVV_*w()p5L<(6oB;B6a`MaaBz#bxdoiApDdbt8^@n!T-arShF{~fSpx( zR!=U%-P4?W_Fc;HCo3;K6LV~TWXmh^03IS$to$JXnoXEjMHJV9q-9+5nxX1FA_+Q- z1}56s{?InXZ(Oqs2J^knsFMb^zH^EU29WN(1DcVD2mu`1jXAfulx4#d$z!nEHz`w~ z{8eY|84@JD>(Q9Cdj|m+m}q)F7uVR``)A+F!dfn9cl6fnUX3t)ZAMr3!jh2JESwkC z$8Iu4EN*s1o=OtqYZkwMQ84VbmzNh{K)mC*Q=9wY=&&f6bAi!Dk3-7VGscf-IW6BG z;KDe#qa-yV{o>@(6qJ^UcxL`A#ehRfJ$bNf+MsDt`enOtamYPTcb{}nno87?0-hm0 zO}BHao_PQCl2%3ZPL*Q~YMKm+Eqg5zm-kaqpx=?I&$=5!T z3xg$Ts$6L?(txK@)uT7FD1q0>Ht9bvFb@OjA0*NFf2gEKd#@mA2@#A@bcfHY@1_j) zsERSBQ=>xr!`F7axTDH?Q1^!roAG%Wq$5CvwE^&fMc%@`-dSS%QgHY=3*wZHQ&apy zNt&N$Tov5wX8F@{JRQ@wi3#QqmSkm8MvKCs?#RE|&B{vytt{b}k2do9YE{>?F6wLs z{NW)oWbcc)4i3LR>WC>_$#j=LDJAwDKx&Ch~U+4@TmYvQLHV{s(S#l`pqYUG|C>j6( z?#E9iQ{8;sj=WqqLl#@z^8a?GU1z!L!|q{_u!mL=af2JZqFoCm^!=gg%bTTg}l{?OHjU$3ljT($V3R*J^vv%8thfE$Bl6p1&wPnR8D9nx=AQN-$o7=h=pML7@IV_i* z_*AwR@LWUg))iM=Ra>uGV{@4*H$xWPeg8{YyH}CZV5-m;eT&>B zGPmXpiH?cIEgUQ`cZ)4JjEo?QystGNC+iu*qi9}yLqTRq|G4h{jzCe9ie5yHXU?{A zK9|WsUN?r<-n@|bUDU)3L`)bf$uP>bKCLf*3^Wc{d27Tqh|`qcqipk$`qpH#Dl;h& z@J}lb*R@eYXXuIM;L%@f0LK_a7^34-j%?0MC^PA2C_{wRjv@&%$UF$#7oWPP$KBXw zXkT0m?6VpV|I?Qc#N#|AA!pgZKP^fnI^j33xbj`88O&9T;flR259w-R^tX%M$+xFS zf}~G5{Rvi=bF@)T2ElqO{?o92-tp`2M2`EYf**J5C$}@dZMoRe%;hH%YLzTUT+0ph z!F4J7-mgznnoR?eXEkb?WrKfZ!N3CTgH@e1-%shen9JqgdS`a9tY8nkTS*W@MBwv1 z4-W~W{jZ<0d#GKT+-uh&fLC68*Z6Uco=WxrZJ6m)FAHA}jTZdij5UKI0Cl{*z&PR+ zg#E6Gaz8qBNPmTA*eaC|9P&4p<6Ve}xI`7w1Ht4)h0khLmU3rcUol|`WL zs0%OiCz{f&**I?xv`enIh&)n6bM7p-2O~Q^?zO|oRM@c~ZA2-vm*uY=@9Dmr1D1f- zI2?6rkLzgMm%x2hSWDi)^@Nl(`;?clg8gdgStNG_w`*w!Ozt62m z`@E*{E7A?rPfs`MoyKx#+7;NJTWu@H?t9@O0*Ywx2T)+x5JJ1|l(xG)%RLFB3klrI z6zk97$$E=Li@G~G`!{|FX(=uJ-Cbc3JSuQ~%8r*&FH`B)8?Q{UTD_*_UXtiBc!T$G z<~~67&8sZ_mYG%_ZAtz}G}6LN=mqM7;UFZ#TI`RE=_T0C^%IBN>jB6PIqlSaT3upL z?VOUnkqeI^nmvGVE4K6|em%6AF+YWyNS!c+J}`YC@ij_!JC`BrmIm`4q%fus!&I@R=cHZI({A z*W!V|Lz}^789vMmpsJqm`o`KgMyUwvZ+X#GBc5UrC0l{KUbDZUMXqhFoI~XpjCp-} z9k@}Dra-)MU9HGm!|WXYme<}znCG&C1MK3ITOK9jCicOO_l>93juFCK7skE%n(n-f znz-pb1Kp#S6dZrALt?@2W{v@`5SWajWY35te-cAbn zPAefku$V24I@Z@R7UETHMffJ)L1-%UD*#!Qk=+ZjPcn(rfU8YX!@*X=SLk1!uK5Ku^;1UbH1$Bg*$(iJf!YIa{CBCzGxp`sMuM*;z~+(+EDV zyuglf8guZG1LaA|n<#6Jp0Xbhg6LL)Mm%;>jQ?g;@o5#dsqWw)6YBCVC&%28oNS2B z3%QqBQ%V`q515g9PJ_lK!dk~r^>=*>*02!iJGO(2!vwsVOs_jIBX;%{F=?qp3rZqgiYc#1*bMSDQ`j?edpjQ@#r zGVd)f$+HXSar7(1z>yf0UzRU-d!_n2?SH2~fizlW3vtuU|9%Btm;N>e)Ow@^`ng=0YkK#;J_%{@2waM(rt=vGVZb zC8Iy@a6_~R2PV>2<@hs-XxPKWR;$BLQMDg+x7|mtpDDTZI-SHGa`oHNecHBV^CzD0 zuCy9``XQ)?$??ziktTLe1}hF$o0Vv}VlQ0yNeMGKlsEh05?&EfDrEqqH|JpLm%^ru zUBjyymHtnu=nvHB*-2)Ib~8n6K}Hu(N-Lj!;B9&Xbnl4pASq(t=;WN=Tl1X{Ue|sL zId_xVoJ(`6XH$PY8lTz<;IQY-^S==xbyear!j_^^B$=jU!nxFU{E7I06!sY!f2hzS zw)^GnkEk{$H|`B(%kF?BWbBZY62eDB%X0=iBoY$Nw)`Bqwd zHfl3-cq|prU%V?JnrzWcdYQ9e*!7#e2tIZ_tHyojr;mvPY-x*EUv8yLR5+6!*n&J$ zrD=O;%292*Wc6|c3j~ts)!uouP3|MKBw}tp(>^+!3>bJu@Y&Wp98KhIp$I>@2@leF zwn16u;>R$|e~H|sL>|r6ehnQln4v1Za*Rkwfc+|DVAV5)w(b0xb?z?~@NKu|$7MU- zqNj#{9V9ZeT8Teel=_MLrHPX6xlNl(jU)HV07b}~|FyQRD%B~2I4?9V+<}8Kin}#j zPfdz^pcEc31+CP=Bc#R~=H>7V3i{$JEv~ZslEW18J3pdNj|3d_rTv$<&e>6+k;`-S z{J*=XZz&Yq)9Uv)q08H(hw%MEBxdGT;Ah7kd3qd8kYB5MM3eHZGU|x~t`EFlnnB>) zmu2gS-sO_foRkSa=xJI#afxVrDJqIHLC;Ge+p%goDB6zPf|8I-;*2s%)VJ!Bn~M8pF|TmJy3*$E#u7gpsf4^T(suAlshjjl##b+8^k-<5E0PZMeRJk z-ddIDr{$F1jczd$`n4gl*`&CGJx3zJR5ZiBP0DsGV;5%VSmmk3ECIXl(T)sXr0&gR zc+2d3NhYnnib3xo6m5ZxxM}tA!Z(f9@i6yCGD-DIsEmaJSG9zkuE3Afc)x6)8>9jj zLoi&mq?qAht^1X6I|aNTN8n+!@=j0k<{Ro!O1*v;`NFT>0f<#I6`8`YY#@Q&53FQ; zCxA+Bpm}2t9-@MOS;LM;z+5j3&(bi9xv6g=>jntbcqMkJ(@t33shxu*tEq0Do|u+_ zhej2^uFf=g zz(IS3`f8RtS^(cQ(eBgVWus5&-KAd*I1Dk>`G7N>rs->mx~!pxM6-Kn8BQid>x_G; z-N|Ck|3z=VI0Nb6nwD&|KSjiJwEq2h8lwnuU`7OqDWYHH?9m>Nw{eb|%_w3*Rz&b! zaL^3#{xE5ib4YYKC<4vit{!`tnnqVh~+n5?9 zbfrfTYjcj8-}$m#nL^;!Y29w_BDuMHZwL8{zkaB0UGf;{`VHHKh1Q$)Gq8s31oi!V znPYSGv_TSu2>TGp$|9i0X0Y^w3Tt?t?7|e8ZY9_2ojv2_3s-AFhdm@!Q*G|{`;N1lpD>Sy-$)a{Y*;mFcv&2X&rIH0m$$6YzhG6c z4rM|9(C=Q_jGJlP{^rS`Q8!2tp2a-E&fOK*wK!Je`=RlJVDHg1_%2l)zG~iBq7%fy zCf?xR)41)p0e<-Y=j!C5h`Mi;RV&-HCDpMZPPenef8m_;;!l1#ch!&No7ZSkaVMn^ z$)P=$sXu?Xu?ljxeCw34JmE|x;=)+NP!+gjl~J@I9!lKdVG%%HTNLw87Lz!g1IpIprtL zKnr^8kHy_Rj&>)9ZF52OiiLeU-L}I8LRvlv+d$@4K+R!}PlmM?NhZ zqVp=fDnj?4IdexvsL<&X)w?<&rk)qC8+oipg}T4FGUlZMdlr#(^>$O>9CYD!{$W}> zPTFrHN?s8b>;|%c+i{05!c~{dj|KiFLeqR9LY`9o5Xe~7(`fCgnu-~W$pwwYw-fzE zdjs6C4I|y&I{r30OQUi?U9*WEfs5O3h&Lgd(vlT2W1^41TnnvptUb&9p^t>P&d%LV zn-S}tPr!NQ@WJ`rvv$8tAvZ`d>>kV_M);B)vX9oYU5?=2)KH@Wy<`2dk8**HrcF{_ z;Gc(wN7?=xB*W@DA)_DYqidmeTE-@X|578QdpKJw=%qZK0u9#N*betXZDURgpf6H) z6F0*PNOX#q$%$HF0?N&B11wGoMeO(@RQ?4$WduIm+*~d~W$01t| zOxn)w#$3fk06lgO&PR~m>~BAaAwOfs8_YPY1z=16Gge0Gud{pfzx|;z*6oBkfec1Q zmjMiLh%VmznUDb&*;xQ>m-o2!@BXJ9!o1Evf;&CM(Zu#B6J&uQogOnc{GBxOTjHdi zI1Vv)v^)o7MQYx#Z2oWZa->km&cQzI)g>w&9KjjE3ydcmE%t9(w}R$Vt)yI2b$-8Q zU9|_S0?M_ZYkP5!XmCr$WA2^TPWu5p4t*f5EkNkDH<(+H33FytusEBw;>_&j2g>nh^>@wx<^GC)*ru6A#ph2}cY zhGP20>9knb6Nk@1pRPXqy{spw1@i4AiH?PKJlIjXHtEx|R)W!fy4YKi8@X3_pD>pl z(AH~^`nfsraj4hoFr5v~(X{Sx+m_!3DeG)2pI&+#p(i)!(d)enF9g?hlc@gHG6H>?Z6^V226-mTd9hij?5Sc|&gjI~r$9NUCFMR{@K3L^r*-cA%) zCl2(<{%HB)n^pfG;VL$_5X>VfJ&nuCX_w|ev~rHpd16S{B$1HYRb36c+Ee`I%zc1P zeg9`0j)PqhPJ%i4HJJYc6iOYg-c1W~9}>mBC&`?*2e8jqLL!)c+cLc<$!*c3vGrrh z8(-PH$WvF|cxz|^Pj+B(vUuz#qA@O0ENYQ0S1K+1PnO~A)u>6ve!D^!*)1ZrF~MC4 z)+V2b#nbn5gE<;G2O|w~d&VRs;iwZ49)tOI=cb<-Y#c`s26uX6leqnIn9b674cI*@ zP#l+7Fj2bF=O8br5A}`ki^tMD2BW=uEntf|*F^Vm$o;2{1LXg4Gy!#QYDaf#mN1 literal 0 HcmV?d00001 diff --git a/src/pages/Index/arrow.png b/src/pages/Index/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c9901afbda0b2087756166b0fc9b76d0082128 GIT binary patch literal 410 zcmV;L0cHM)P)aSWp78<%X0b`2k27DqKVm z@ZBxGi);*0LX<5|tKFHM86Cish3eTl>a9s+RUp_H2PVK4OL+O=VzGtWhabyHiJCxY z!$d`~c(+zciHSQP!Cqfw;Ov@XDF;_y(0-9NoB!N1vSF`J|4G4;jd^bfHd_OvIK8B< zjU=_7CEPc~z^b5IBXTfCVxC&o13r>?ew_>wO7x;LtD~)QbLNr=I!e)Rh#}J5lYrNl zKw-jD%h6WVqg6pxGSy<Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L2@Xj_K~#8N?VL}J z+sGBht4L82)l#=Q@giBJvknk9a)Gf=V9$CM@c{yOe1g~~@XQUI6QsRNHq#E0I2a^B zdls`BOdAO>V@v?4^^e`6$jbXlMYUKgN+MNdz({_E%_>@usy@E=>OHY2&fXJ|5I>8j z@jYsua-NMP-3#>+r#KU2Fc5t|h#z=d z+)GpOkaN~o|5XbTaL7G&E)wxFN!n+}#}Lgv)&&_y@kcc1hfJi8b`@bX8Z%BW?)AFr z%ytChFA^4iZrgIK2?8Nll02m*+@ca!S0i~mIy#icikvgwf7%O!SE|1kdkZocOimj? z<2f}q3IPl7J&F$WiJs@t96Z^^`R~5}k9^Hfe{zRhLojl&)iFuvNNw~t!ui=^o<2D~ z4lmW2TGSQQ$ze zAcH}4(g?iYlPAlSLI;-6Y&JHEu+CsOCadA>=y10f0&(VZh?A-_d9YF?vAAEyS}F@N ziRQmf7wKno@e2X7su24EH@cZG$a0Lr4C(B%qi*{%)!&Iqf{dp(zcslCT%+BpFNBy) z8SfmZUUlF~^EffPQbiZqc?M--1Pz~c!l1So@w@NXyT^~%_&1+0F`cNh)o9Qd!ge6z zRRJ2a9Q%&!Gz*g$u!%y{{iBb5#noM4ws}^JF z(`;F@DM>bX**P+z#Ip(Ii z1xf|+1O5fQS8i#wDF&GSt(a{uzWlRl?N5m)edJI`ELA^;Q4shVy+uw%1S^|j00dN> z_|+d(%MKWGvk>dVsm!ts6ao=-r2aLTiewyQC zGAU%*1wk53jzVn(%&i$1ma;ur52iXc-6jK8qFcCNvM9}w6GWEqf<07SiRq1OFnL{G zt=m|Bb#P$~Im*59ILcM&c?(&7pRuAr*{5w+0dN(QyJUzT-m#PtHQOMYE@af4=W>(P z{|=V^lv4|ZnhQ2rN5mgHI<|^E6TYwI zBtk4LM6E8Xyxyg|=*8SNY!-VuCbt=cF#-M z@*Zo3E9(GN0&0fsVs9O;f2HjCcgY~qoFJ}pkFsKJ8!n2y4BbLF7bh@>-1h>SUsz+WfB9-W|3-{xtZS%+9rBfz-B+VQ*MtIcI>#|NBvscr6gh7 zjT;v?C5fRYgqPb?;wqS8L!Iwe|9%#wM61U zoAM2vka8kd=sOrGcD}?>3KGWwI`748ssvV70Tpx8<3|#=rI$!Su#ujYoEK z*#&NM*xSD2u+Er}~DLFTzB`$Tr?!d*~H6;>B* z&N)F$R&sr_kY;9^{st>?VI7!*9y_R-J5zIBk+%?nv&9qDl*l)lo2%4)*p#)p5Cn73 zSC)n+a&rX*LArQCiSyjXnV3v1wj58&iai&_oE*RY)dRUo7#5$FCL6liEw-RXAvsN3$9D*k<7{-``=1>+l*4ZiuFo^GV|Jad8@J=n;$&z@F@TKDz` zvT2B6yf78S0F_5@HJN?tF%O~?o+iNFH0)k*lI_4!+hI++M~PrP^Od(xN=I?ela!~lESHmqfl^5;x@ zXg~*X2KPLC`Uftx>@Sb{qwa`_m@r}j{y^YDpe%BZI!u-xdtlAk<$m#Hz}@&804DbS zF@$B{%vG&*u^#>8LpeNnOjmT{!+z^vZwf3R+oQ1qL+*JmM3TI;B}9g^<$xyGpI*lg zM4CP%tB2JTR;7vz$-U0fBz@KEwa=*iVf>&<8Pan6=3Nr!ltenEkM2`s=+giSKe>Y= rg_aA>y~}iwya@t!UN=ZqgR%btB|Smi+F0O`00000NkvXXu0mjfhP8Ft literal 0 HcmV?d00001 diff --git a/src/pages/Index/more.png b/src/pages/Index/more.png new file mode 100644 index 0000000000000000000000000000000000000000..67f31a59002495a760555963348eac113f52fa52 GIT binary patch literal 3692 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 KMNUMnLSTYO_4XbB literal 0 HcmV?d00001 diff --git a/src/pages/Index/offline.png b/src/pages/Index/offline.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8ded6c2fc586f6103680e25dec6263c7332293 GIT binary patch literal 62628 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 literal 0 HcmV?d00001 diff --git a/src/pages/Index/search.png b/src/pages/Index/search.png new file mode 100644 index 0000000000000000000000000000000000000000..0980552844bfa990fd939de89170f84b64182ae4 GIT binary patch literal 936 zcmV;Z16TZsP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR918lVFJ1ONa40RR918UO$Q08GiY3IG5D5=lfsR7ef2mCI`rQ542AlT3V& zpbHgRaigId1tCq^mAJAXA~d2>?Z&kW5j3EpJJD(v`WLuR5wwe@E{dQ#-Ly$-HbQNE zph6W~XfaqxNaF8Y=Y&ZzMDnTi@yM00a< z2MBr!$ySm}=rhO+Jr|8eSIgycwNNPZ<4@2>r4#Eg{u}+w@bK^yvZ>V(L6Rcr5m6fj zJQND02L}h=HD!4mEbku3C&^2ZQ)TEfWVbvaMy(Oe&(9xaKc)#5-xa^$#$>O}Po}Xa zAY|L@F_!VMcia&1SDX2(C4zRrbE#bt1r#zcZey|(Ka9HKCeng4CPCbg2> zsrQU$z=Y2_rm;3t91#O&Mx8y71`F&XiY0rrR}6@9>g<6uSYXB!%f{F)hFnH zTTy6IyL#0O7T8M)DARi38d4y8)eIIyiXE^W$9V#JnLa87vRft>V-ynEbHO&vj>qGl z(56^VN2;*v?^w8%+yP*g!um#m%!vqx!{_*euaKqODy-veNw=t`NczLcyXZ|eM9k_t zB;%0DYdO&gnVT~q;5-v|IBm6qAU-|sq6geRk}@xqVpYP%zKAWHF4;puUj7B{L3E;g%&a^B0000< KMNUMnLSTX}hmi6B literal 0 HcmV?d00001 diff --git a/src/pages/Index/tabs/Tabs.js b/src/pages/Index/tabs/Tabs.js new file mode 100644 index 0000000..4b64054 --- /dev/null +++ b/src/pages/Index/tabs/Tabs.js @@ -0,0 +1,15 @@ +import act from "./act.svg"; +import actActive from "./actActive.svg"; +import car from "./car.svg"; +import carActive from "./carActive.svg"; +import map from "./map.svg"; +import mapActive from "./mapActive.svg"; +import my from "./my.svg"; +import myActive from "./myActive.svg"; +const TabMap = { + 活动: { logo: act, logoActive: actActive }, + 寻车: { logo: car, logoActive: carActive }, + 地图: { logo: map, logoActive: mapActive }, + 我的: { logo: my, logoActive: myActive }, +}; +export default TabMap; diff --git a/src/pages/Index/tabs/act.svg b/src/pages/Index/tabs/act.svg new file mode 100644 index 0000000..def3bc2 --- /dev/null +++ b/src/pages/Index/tabs/act.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/tabs/actActive.svg b/src/pages/Index/tabs/actActive.svg new file mode 100644 index 0000000..9eee6e2 --- /dev/null +++ b/src/pages/Index/tabs/actActive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/tabs/car.svg b/src/pages/Index/tabs/car.svg new file mode 100644 index 0000000..6fd05f2 --- /dev/null +++ b/src/pages/Index/tabs/car.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/pages/Index/tabs/carActive.svg b/src/pages/Index/tabs/carActive.svg new file mode 100644 index 0000000..ad8b844 --- /dev/null +++ b/src/pages/Index/tabs/carActive.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/pages/Index/tabs/map.svg b/src/pages/Index/tabs/map.svg new file mode 100644 index 0000000..0f046e9 --- /dev/null +++ b/src/pages/Index/tabs/map.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/tabs/mapActive.svg b/src/pages/Index/tabs/mapActive.svg new file mode 100644 index 0000000..282eb92 --- /dev/null +++ b/src/pages/Index/tabs/mapActive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/tabs/my.svg b/src/pages/Index/tabs/my.svg new file mode 100644 index 0000000..3fc3ba8 --- /dev/null +++ b/src/pages/Index/tabs/my.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/tabs/myActive.svg b/src/pages/Index/tabs/myActive.svg new file mode 100644 index 0000000..87bddfb --- /dev/null +++ b/src/pages/Index/tabs/myActive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Index/up.png b/src/pages/Index/up.png new file mode 100644 index 0000000000000000000000000000000000000000..a10e018463bb75fdca69cb08cbf3b2749c9dd52b GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^LO{&J!3HGrh2HJ~QjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPE3|+a&gKCrbgi7d4XDh@)5S4F zLv-zgjb4WXMB1v0Uke>?$e&;stq>U#ExY7xM7n6qD`pP8UkrCe%;Oj61qsMlsVOcf z{LbhSb7zUl$N!Hx<1!y5@wd$R{r~>Y;v(z0rc-}utM?_d|66OYSb^i-?TXcBPi)HB ztaI9OUT)>HE4O|e>%C-h_r&Kve2lim0h*=jx8D0)Tc7#rO}N>i4NfO|1&jFJH5qK# zSE0>a!a1Y0dgdb=vA0${hmF4lisU{lZP{Qr!~Bc-mDj(v3N{2w2pgvFxbs+QN}byC z&JA1te$MusB=acys{Vmki@weM)|y$9Y)z}KoKSkxV7vMj$Ds`xUEW+06-Tlk?0Tnu zKCRP?;j@cuV)&fYcvi;;dovjHx8=Tn6la%VCTeS7o$@ey=3l<19}FLFZdx<%dF6Uv l#$|48I_W9bw*0?d&ln)lzAt)FJt!s^JYD@<);T3K0RVDEujc>& literal 0 HcmV?d00001 diff --git a/src/pages/Keyboard/Keyboard.js b/src/pages/Keyboard/Keyboard.js new file mode 100644 index 0000000..6835679 --- /dev/null +++ b/src/pages/Keyboard/Keyboard.js @@ -0,0 +1,104 @@ +import React from "react"; +import "./Keyboard.scss"; +const N1 = "1234567890"; +const N2 = "QWERTYUIOP"; +const N3 = "ASDFGHJKL"; +const N4 = "ZXCVBNM"; +const C1 = "京津渝沪冀晋辽吉黑苏"; +const C2 = "浙皖闽赣鲁豫鄂湘粤琼"; +const C3 = "川贵云陕甘青蒙桂宁新"; +const C4 = "藏使领警学港澳"; +const Keyboard = ({ + isNum, + onInput, + onBackspace, + onSetIsNum, + onClose, + onFinish, +}) => { + return ( +
    +
    +
    + 取消 +
    +
    + 完成 +
    +
    + {isNum ? ( +
    +
    + {N1.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    + {N2.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    + {N3.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    +
    onSetIsNum(false)}> + 字 +
    + {N4.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    +
    + ) : ( +
    +
    + {C1.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    + {C2.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    + {C3.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    +
    onSetIsNum(true)}> + ABC +
    + {C4.split("").map((key) => ( +
    onInput(key)}> + {key} +
    + ))} +
    +
    +
    + )} +
    +
    + ); +}; +export default Keyboard; diff --git a/src/pages/Keyboard/Keyboard.scss b/src/pages/Keyboard/Keyboard.scss new file mode 100644 index 0000000..58f4048 --- /dev/null +++ b/src/pages/Keyboard/Keyboard.scss @@ -0,0 +1,128 @@ +.keyboard { + position: absolute; + bottom: -98px; + left: 0; + right: 0; + display: flex; + flex-direction: column; + width: 100vw; + height: 294px; + z-index: 10; + .bar { + display: flex; + flex: 0 0 40px; + justify-content: space-between; + line-height: 40px; + background: #ffffff; + box-shadow: 0px -1px 12px rgba(0, 0, 0, 0.05); + .btn1 { + position: relative; + flex: 0 0 80px; + text-align: center; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: normal; + font-size: 16px; + color: #4f4f4f; + &::after { + content: ""; + position: absolute; + top: 14px; + right: 0; + width: 1px; + height: 14px; + background: #e0e0e0; + } + } + .btn2 { + position: relative; + flex: 0 0 80px; + text-align: center; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: bold; + font-size: 16px; + color: #437af7; + &::after { + content: ""; + position: absolute; + top: 14px; + left: 0; + width: 1px; + height: 14px; + background: #e0e0e0; + } + } + } + .safe { + flex: 0 0 34px; + background: #d1d5db; + } + .plane { + flex: 1; + background: #d1d5db; + .row { + display: flex; + width: 100vw; + justify-content: center; + padding-top: 12px; + } + .key { + width: 8.5333vw; + height: 40px; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 40px; + text-align: center; + color: #333333; + background: #ffffff; + box-shadow: 0px 1px 0px #898a8d; + border-radius: 4px; + &.bold { + font-weight: bold; + } + &:active { + background: #0166b3; + box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2); + color: #ffffff; + } + } + .key + .key { + margin-left: 1.0667vw; + } + .key1 { + width: 13.3333vw; + height: 40px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + color: #fff; + box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2); + border-radius: 4px; + font-family: Noto IKEA Simplified Chinese; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 40px; + text-align: center; + } + .key1 + .key { + margin-left: 1.0667vw; + } + .key2 { + width: 13.3333vw; + height: 40px; + background: #adb3bc; + color: #fff; + box-shadow: 0px 2px 1px rgba(0, 0, 0, 0.2); + border-radius: 4px; + background-image: url(./backspace.png); + background-repeat: no-repeat; + background-size: 20px; + background-position: center; + } + .key + .key2 { + margin-left: 1.0667vw; + } + } +} diff --git a/src/pages/Keyboard/backspace.png b/src/pages/Keyboard/backspace.png new file mode 100644 index 0000000000000000000000000000000000000000..48f92add1f3e7f83245c457126dd8d572c3e11ad GIT binary patch literal 502 zcmVoDI)bx7(g{*fK*9ubJ_B)n@JUaK;~2m2 ze1`!ll}Z*`rK8fhutudFm`9>Ptn?Hi4HzqgXi8$XGS$>Ri(0|dXr{$* zy&;E8E;UCQ+=Cx2$0TJgYB1Dh{*adkB+_8|&yVIi4phXFxIP-Oru7E=Mw+<+bPHk` zgfZm~*kYZzK5|YX!5}y426QV4nS94egBotsJ?Lu9w$xd;QTL!*3H7qTGMJ;Pxv=`+ zN$J%&ZopgmvNHEZ?Qf1+EUW75#P%e57EjKxp2gBpUlH4O+Nf { + const [coupons, setCoupons] = useState([]); + const [receiving, setReceiving] = useState(false); + const getList = async () => { + try { + const { code, data, msg } = await post( + "/Api/Coupon/ShopDetailCouponList", + { + paging: 0, + memberID, + shopCode: shop.code, + } + ); + if (code !== "200") + window.weui.toast(msg, { + className: "toast", + }); + else setCoupons(data); + } catch (error) { + console.warn(error); + } + }; + useEffect(() => { + getList(); + }, []); + const receive = async (coupon) => { + setReceiving(true); + try { + const { code, data, msg } = await post("/Api/Coupon/ShopCouponReceive", { + couponCode: coupon.code, + memberID, + }); + window.weui.toast(msg, { + className: "toast", + }); + if (code === "200") { + getList(); + } + } catch (error) { + console.warn(error); + } finally { + setReceiving(false); + } + }; + return ( +
    +
    +
    { + onBack && onBack(); + }} + >
    + {shop.name} +
    +
    + {coupons.map((coupon, i) => ( +
    +
    + +
    +
    +
    +
    {coupon.title}
    +
    = coupon.detailReceiveCount + ? "disabled" + : "") + } + onClick={() => { + if ( + coupon.detailReceived >= coupon.detailReceiveCount || + receiving + ) + return; + receive(coupon); + }} + > + {coupon.detailReceived >= coupon.detailReceiveCount + ? "已领取" + : "领券"} +
    +
    +
    +
    使用期限
    +
    + {coupon.beginTime}至{coupon.endTime} +
    +
    { + coupon.isOpen = !coupon.isOpen; + setCoupons([...coupons]); + }} + > + 查看详情 +
    +
    +
    + {!!coupon.isOpen && ( +
    +
    使用规则
    +
    {coupon.couponRules}
    +
    + )} +
    +
    + ))} +
    +
    + ); +}; +export default ShopCoupons; diff --git a/src/pages/ShopCoupons/ShopCoupons.scss b/src/pages/ShopCoupons/ShopCoupons.scss new file mode 100644 index 0000000..bcf8d64 --- /dev/null +++ b/src/pages/ShopCoupons/ShopCoupons.scss @@ -0,0 +1,144 @@ +.ShopCoupons { + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background: #f3f4f8; + display: flex; + flex-direction: column; + .header { + flex: 0 0 43px; + display: flex; + padding: 9px 16px 10px 18px; + justify-content: space-between; + font-weight: 600; + font-size: 20px; + line-height: 25px; + color: #323337; + white-space: nowrap; + align-items: center; + .back { + width: 24px; + height: 24px; + background: center / cover no-repeat url(./back.svg); + } + } + .list { + flex: 1; + overflow-x: hidden; + overflow-y: auto; + padding: 0 10px; + * { + display: flex; + } + .item { + background: #ffffff; + border: 1px solid #edeff3; + box-shadow: 2px 6px 8px rgba(104, 110, 127, 0.08); + border-radius: 18px; + padding: 16px; + .left { + flex: 0 0 40px; + .avatar { + width: 40px; + height: 40px; + padding: 5px; + border: 1px solid #edeff3; + box-shadow: 2px 6px 8px rgba(104, 110, 127, 0.08); + border-radius: 38px; + object-fit: cover; + } + } + .right { + flex: 1; + flex-direction: column; + .r1 { + padding-left: 10px; + height: 40px; + justify-content: space-between; + flex: 1; + align-items: center; + .content { + display: block; + width: calc(100vw - 192px); + font-size: 20px; + color: #323337; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .btn { + flex: 0 0 90px; + width: 90px; + height: 38px; + background: linear-gradient(180deg, #508af7 0%, #5ea5f9 100%); + box-shadow: 0px 6px 12px rgba(93, 172, 249, 0.2); + border-radius: 10px; + align-items: center; + justify-content: center; + font-size: 14px; + color: #ffffff; + &.disabled { + background: #f3f4f8; + box-shadow: none; + color: #a1a5b3; + } + &:active { + opacity: 0.7; + } + } + } + .r2 { + margin-left: 10px; + margin-top: 18px; + border-top: 1px solid #edeff3; + padding-top: 6px; + font-size: 12px; + line-height: 18px; + color: #474a56; + flex-direction: column; + .desc { + margin-top: 10px; + font-size: 13px; + height: 18px; + color: #437af7; + align-items: center; + .icon { + margin-left: 2px; + width: 16px; + height: 16px; + background: center / cover no-repeat url(./arrow.svg); + transition: all 0.25s ease-in-out; + margin-left: 2px; + &.open { + transform: rotate(90deg); + } + } + } + } + .r3 { + flex-direction: column; + background: #f9f9fb; + border-radius: 8px; + padding: 10px; + .title { + font-size: 13px; + line-height: 18px; + color: #7a7e8d; + margin-bottom: 4px; + } + .content { + font-size: 12px; + line-height: 16px; + color: #a1a5b3; + opacity: 0.8; + } + } + } + } + .item + .item { + margin-top: 8px; + } + } +} diff --git a/src/pages/ShopCoupons/arrow.svg b/src/pages/ShopCoupons/arrow.svg new file mode 100644 index 0000000..3100163 --- /dev/null +++ b/src/pages/ShopCoupons/arrow.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/pages/ShopCoupons/back.svg b/src/pages/ShopCoupons/back.svg new file mode 100644 index 0000000..b6e3bf7 --- /dev/null +++ b/src/pages/ShopCoupons/back.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/pages/Shops/Shops.js b/src/pages/Shops/Shops.js new file mode 100644 index 0000000..2757633 --- /dev/null +++ b/src/pages/Shops/Shops.js @@ -0,0 +1,62 @@ +import React, { useState, useEffect } from "react"; +import Modal from "react-modal"; +import "./Shops.scss"; +import ShopList from "../../components/ShopList/ShopList.js"; +import search from "./search.png"; +import close from "./close.png"; +import back from "./back.png"; +import ShopsWithFilter from "../../components/ShopsWithFilter/ShopsWithFilter"; +const Shops = ({ mall, isOpen, onRequestClose, onClick, onClose }) => { + const [q, setQ] = useState(""); + const [resetShopsWithFilter, setResetShopsWithFilter] = useState(false); + useEffect(() => { + setResetShopsWithFilter(true); + }, [q]); + return ( + onRequestClose()} + > +
    + onClose()} /> + setQ(e.target.value)} + placeholder="查找店铺" + /> + 搜索图标 + {q && ( + 关闭 { + setQ(""); + }} + > + )} +
    + {!q && ( + setResetShopsWithFilter(false)} + wingHeight="calc(100vh - 157px)" + > + )} + + {q && ( +
    + +
    + )} +
    + ); +}; + +export default Shops; diff --git a/src/pages/Shops/Shops.scss b/src/pages/Shops/Shops.scss new file mode 100644 index 0000000..92d0c1a --- /dev/null +++ b/src/pages/Shops/Shops.scss @@ -0,0 +1,88 @@ +.shops { + width: 100vw; + height: 100vh; + background: #f5f5f5; + position: relative; + font-family: SourceHanSansCN-Regular, SourceHanSansCN; + outline: none; + .header { + position: relative; + display: flex; + width: 100vw; + padding: 16px 10px 0 10px; + align-items: center; + .back { + flex: 0 0 60px; + height: 60px; + } + .input { + flex: 1; + width: calc(100vw - 20px - 60px - 14px); + margin-left: 14px; + background: #fff; + padding: 0 48px 0 60px; + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #323337; + border-radius: 10px; + box-sizing: border-box; + height: 60px; + border: none; + outline: none; + &::placeholder { + font-family: PingFang SC; + font-style: normal; + font-weight: 600; + font-size: 16px; + color: #c9cbd1; + } + } + .search { + position: absolute; + top: 30px; + left: 98px; + width: 32px; + height: 32px; + pointer-events: none; + } + .close { + position: absolute; + width: 36px; + height: 36px; + top: 28px; + right: 22px; + } + } + .wings { + display: flex; + width: 100vw; + height: calc(100vh - 156px); + border-top: 1px solid #edeff3; + margin-top: 8px; + .left { + width: 96px; + flex: 0 0 96px; + height: calc(100vh - 157px); + background: #edeff3; + overflow-x: hidden; + overflow-y: auto; + } + .right { + flex: 1; + height: calc(100vh - 157px); + background: #f3f4f8; + overflow-x: hidden; + overflow-y: auto; + } + } + .search-list { + width: 100vw; + height: calc(100vh - 98px); + margin-top: 6px; + overflow-x: hidden; + overflow-y: auto; + } +} diff --git a/src/pages/Shops/back.png b/src/pages/Shops/back.png new file mode 100644 index 0000000000000000000000000000000000000000..158751dd66c6eeec5738805b79033742c3e34a59 GIT binary patch literal 1394 zcma)6dpOez7@lLxTpP{h45xC25+yZ5b;{f}B6mij&RAI_t65g$cTyZ2Gu8@;N$g~E z$)(AvMM^uYQZBj6VHIXXqP4T0^Z$9yAMg8q@Av-oJiO$~6AW&Vd=GUVT z5D21%b9D}+s>~MeJQW@Ue=5$RO9BT}p~!U}whgwgaV#g(SXM=luD|)EOHs$oDTRmV zlN+Kax0>`a(meC%^ydc_onX6AF{QJhc0CuE=>+A(9{%)-AjEN*wj(~Q@quDdfkW@$ zi%U`*KbMfDG&Doi&Pb~;+3|K4?`#~iA#b{}hRbT=H5K{6pCp3V#4oj;s5Dl?1@nS0 z_3uw)HF7yKBMp&-o(WczAicWDH)OZla6wHJlcam!EW00HUKtl;9%-}Y%ZXwR8o19^ z_XKx}+|Xo5rOQGKQXPK%g0(J*Bl)(HVKz{r0v73asJj7pPeeLC&FC%509e~Ncg_2E=ES->f zYs2gJ&%R$rt7^c-aN#Iva;lRXtRu3V7DF|*Ln6Z;^2ky_W=cM(^G%sc zji$yNSkY3qHGFt*gZ%oCC*;?;t_1V`$&rjyvEcI;;>Na4)DW~OtQkAUzw3Q&jf;lp z8Uk6d5%1c9U9S3AYgo+#qS%OhTFU^8PzsTTd}NDIr4SnDtmvZt45!yd)xWkmtXa!J z_!DW^t`tn;Dg)gazB0hnehzES9)sNNwXviMtIvwm!{%eA4M@WmpkecIU4>6&p&zg6 zHjK62`Y>LbOS~Tqw&`b7oj#b%I5TXhcW*2|=Uod`*5Rt)Swy%+=c56GleoZ_=SiKc zI0vfbiXG?R!j1c>B5@zOeHUyS{;FeYnX&r0=$A1>FZ3p-3H@u0#|N>s+Ua}a+f9dm z`5LhIhsGj8O;Pclp1%Y{W8J3BRz2kD_twCcR0 zH#=7)C$muXAkCPZVvxMwnnX}LWlycii)byH4sX6L9+AbsKvENRK1&Q>e=bX zTf{+&4o4HH6MOzoxBe~PwXp}Vz*Ts*w-}t1UTOz7(R8jL0SXx4X)+)dM%CV7{SHGW z`@y@2(f;93M4kMZSwA}|1gf`)5Vj$`J{fLf8a;71ypzA|Rj_o+uhphF%cZiC%T!Nk z3B2wuE2O``cTFN_z3ipS+C3(JwpDO-YW|?Op1b*K{H+g^q@kY4dmdpVwSMdEwBzt& zt<2EyZBln$R8ek^Vx3Ok-CS)EclVXT(lh%*A2w98vKWLILX&M7%ikm2)ehoh+4rfQ zJqytBkKB73*;S^|R>B{DW*5DU#T>C1IQAOdlhH-B5SCZX1TZpqUS@*`L);N9c>|tp g?8VqTTA(@)ZoM&DMYKrtR=!9O&dtY_hlv9I0nC|{!2kdN literal 0 HcmV?d00001 diff --git a/src/pages/Shops/close.png b/src/pages/Shops/close.png new file mode 100644 index 0000000000000000000000000000000000000000..f5222942469fbf1cd2296889560c77f16de7cc7b GIT binary patch literal 1663 zcmV-_27vjAP) z8%G$xznNWQJNO?`R1Q@u=hj0}$rAv|sa2%XORpI90U%Eh-XP=wD&Uw?sFbRw3iAY^ z&84a;;ik%=RVD1T9eeS5C-aS2VlTV)?s~@SKR*eu*9+|Y^vySacL_`o##o`*Y!(^S zHwe%oV>bVSb^MF~6bH@)s1P7k{;EnSymT_(WFtf6(u)?jv%a3R+qe<6*&lAD_*l< znA;(LHJqSE<2@$gGl)46N2EX~ds)LWgdngW9ytdL=rfpcC@%w+CFuEqau7z&Jjm(C z2Kz}qbMJ7}c_RfGO>>(t_7dh1#!#$o*=UqOwAc`!>&c~r2BiG=yo?{m*8hW!O>5@C_>$w!`o8qN0QB1BI=*xT-0 zCm*h?;3VBg?o=_+-&rs@2$or2y54giABdn?8)GS;YITwi`lDzdf-DP43oHjIxT9zw zf)+9NcrXw}w-IDCTGFG(G)?&X?K`N|>L45EZ!4gnC;5E(4Z8D!&%W(|WPUt)0X3s1 z=keE%U~TOSkiqY7{(zr<`Bl8m=W_7F?)Q*PCP5m##fInjQbZ6YXOO)5AR@>37&)(a zf!^?fjZ42Aq-GfK?|=V;WHz1NwGhK3CMfll=e%4}MM2@qCN z+;R|fLkZaHFd>3Ung%%tA$E~>6iGqs#+eXKVskTt*^2a1UZ zVqlaUhd3pnn^+=fSU*SR0C!vnuDlXLE_j1qgb5L}6X@4Zk~QfTkSb-2RA52`l@oRB zCL0Fyf)Z+1U;>04K1_oobVG?v&p|O!$5ydRBH9JPxmP`5;$)4IT^uq7o-!ugqL9s` z2)$YVxc~*o8kNTsNoD-jYvw7Of@EqnL+Yq}m?T^ylMMlSj6a1S%S=kY5v1y|SUB$3 z%1@GlWgqBtx*|6VK{wT`3=+X*pZ?VbSp!eEq}EP2YPp7Nx3T)#`Tc?vHlx zopQxr=yuo^%yFy6S58G4{p27+=cGkOXY4zeR~XrKw_0vSPTFHWvH_mJyg^|?a?L$2CU%qm_YoAG8m&3!t9DgtaIorS5!;s=L5SbIM{A6b$tK;002ov JPDHLkV1n+f`TYO@ literal 0 HcmV?d00001 diff --git a/src/pages/Shops/search.png b/src/pages/Shops/search.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2e02771db7cf159f86e500cb378364241a6248 GIT binary patch literal 1570 zcmV+-2Hp9IP)R*0SiSPnJ|MBW|%`H(S$a3n#@y51*J z3s8QuRpCu7Fnyi?)cOul{k;0W-~IxGdH!K&IT*I2oPGap{sgzya0*EWO?SjlV)ZuD?Cg zK$SE6{4r_JaV!Qk-;>`2{LQA5o^vIFl>p_}+xrPK-{fJ&0A;SM}l2>5(H{z3>>TIgd7u_CM4C+3TsO$RrF?hw#Jj2SuSOCrEkpBpz z@o99It^#;OCEYo%%)TFkzeX*u7RqP3J|rkDE^ihf1&IQv+2^6o==#)*^lR|fY*ZH- zL~>TwCxn;E3K9kIVoZy7`$`rYo(Z+pg&jg{+-*msLK-VbUIOgRbu_W*yE^L9A|cX# zz8DcRU`eb1OTpH({*F%-xM$i+L1zU71$9#e3z95g>TZLY{o2ZWrtYaJF;E>JFVXJhBYB_Z^Uk*{k%$B|Dk zNJ!9qAKzvl&)OS)G6X~POF+V@rZu#HxV{FPV%l)K5V)R|Ms#qrY%alx82?t0=y zNO&r@*FjE5S%-U~Exu;<6_L2G4%HH3(|{MKqfCM#TgNT#7uhe790N*TopA ztHhFv7P3KkdS~MEv$(9Zx*?K4vMHPCsZP+epveKvh;xz~EAzW?545kx1bgb=Hnl@e zN@bN00!H_c?9x&Ov)$OO)qG<;fVKi`sZt&Nbh~T_h zTu}-F&eD!Qyzzx zLFZqgc<{jZ_0umWKNNmEWz+r=H&BCLU!Btm^WX$f+!i5e@DCp4!o!duLxv>qFJ5N0 Uc1G+8y#N3J07*qoM6N<$f<`6aGynhq literal 0 HcmV?d00001 diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/src/reportWebVitals.js @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/src/setupTests.js b/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..cf54b6d --- /dev/null +++ b/yarn.lock @@ -0,0 +1,12655 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@apollo/client@^3.3.11": + version "3.3.11" + resolved "https://registry.npm.taobao.org/@apollo/client/download/@apollo/client-3.3.11.tgz#125051405e83dc899d471d43b79fd6045d92a802" + integrity sha1-ElBRQF6D3ImdRx1Dt5/WBF2SqAI= + dependencies: + "@graphql-typed-document-node/core" "^3.0.0" + "@types/zen-observable" "^0.8.0" + "@wry/context" "^0.5.2" + "@wry/equality" "^0.3.0" + fast-json-stable-stringify "^2.0.0" + graphql-tag "^2.12.0" + hoist-non-react-statics "^3.3.2" + optimism "^0.14.0" + prop-types "^15.7.2" + symbol-observable "^2.0.0" + ts-invariant "^0.6.0" + tslib "^1.10.0" + zen-observable "^0.8.14" + +"@babel/code-frame@7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz?cache=0&sync_timestamp=1612314861216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz?cache=0&sync_timestamp=1612314861216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz?cache=0&sync_timestamp=1612314861216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha1-3PyCa+72XnXFDiHTg319lXmN1lg= + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.0", "@babel/compat-data@^7.13.5": + version "7.13.6" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.13.6.tgz#11972d07db4c2317afdbf41d6feb3a730301ef4e" + integrity sha1-EZctB9tMIxev2/Qdb+s6cwMB704= + +"@babel/core@7.12.3": + version "7.12.3" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha1-G0NohOHjv/b7EyjcArIIdZ3pKtg= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": + version "7.13.1" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.13.1.tgz#7ddd027176debe40f13bb88bac0c21218c5b1ecf" + integrity sha1-fd0CcXbevkDxO7iLrAwhIYxbHs8= + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "7.0.0" + source-map "^0.5.0" + +"@babel/generator@^7.12.1", "@babel/generator@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.13.0.tgz#bd00d4394ca22f220390c56a0b5b85568ec1ec0c" + integrity sha1-vQDUOUyiLyIDkMVqC1uFVo7B7Aw= + dependencies: + "@babel/types" "^7.13.0" + 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.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz?cache=0&sync_timestamp=1612314819975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-binary-assignment-operator-visitor%2Fdownload%2F%40babel%2Fhelper-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.12.1", "@babel/helper-compilation-targets@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.0.tgz#c9cf29b82a76fd637f0faa35544c4ace60a155a1" + integrity sha1-yc8puCp2/WN/D6o1VExKzmChVaE= + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "7.0.0" + +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.13.0.tgz?cache=0&sync_timestamp=1614034243442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.13.0.tgz#28d04ad9cfbd1ed1d8b988c9ea7b945263365846" + integrity sha1-KNBK2c+9HtHYuYjJ6nuUUmM2WEY= + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@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?cache=0&sync_timestamp=1613661220666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-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.1.2": + version "0.1.2" + resolved "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.1.2.tgz?cache=0&sync_timestamp=1614086558092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.1.2.tgz#619f01afe1deda460676c25c463b42eaefdb71a2" + integrity sha1-YZ8Br+He2kYGdsJcRjtC6u/bcaI= + 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=1614035445198&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": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha1-k61lbbPDwiMlWf17LD29y+DrN3o= + dependencies: + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" + +"@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.12.13": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.0.tgz?cache=0&sync_timestamp=1614034242956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8" + integrity sha1-XViC6FW1xe2pHgytwmxueiyFk9g= + dependencies: + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helper-member-expression-to-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.0.tgz#6aa4bb678e0f8c22f58cdb79451d30494461b091" + integrity sha1-aqS7Z44PjCL1jNt5RR0wSURhsJE= + dependencies: + "@babel/types" "^7.13.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha1-7GfkQE9BdQRj5FXMMgP2oy6T/LA= + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.12.13", "@babel/helper-module-transforms@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" + integrity sha1-QutL2O6mi6tGdRISw1e/7YtA9vE= + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + lodash "^4.17.19" + +"@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?cache=0&sync_timestamp=1614034264835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-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.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz?cache=0&sync_timestamp=1614034243906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-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.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.0.tgz?cache=0&sync_timestamp=1614035446847&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.0.tgz#6034b7b51943094cb41627848cb219cb02be1d24" + integrity sha1-YDS3tRlDCUy0FieEjLIZywK+HSQ= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/helper-simple-access@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.12.13.tgz?cache=0&sync_timestamp=1612314716964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" + integrity sha1-hHi8xcrPaqFnKyUcHS3eXM1hpsQ= + dependencies: + "@babel/types" "^7.12.13" + +"@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?cache=0&sync_timestamp=1602800117050&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-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": + version "7.12.11" + resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0= + +"@babel/helper-validator-option@^7.12.1", "@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?cache=0&sync_timestamp=1613661216816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-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=1614034242975&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.12.1", "@babel/helpers@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.13.0.tgz?cache=0&sync_timestamp=1614034267542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" + integrity sha1-dkeuVzd7TwQIv0+KevAcQuQbrcA= + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.12.13.tgz?cache=0&sync_timestamp=1612314632360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha1-irU4OT4ANwsmJxsB+gj38n8ueVw= + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.3", "@babel/parser@^7.13.0", "@babel/parser@^7.7.0": + version "7.13.4" + resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.13.4.tgz#340211b0da94a351a6f10e63671fa727333d13ab" + integrity sha1-NAIRsNqUo1Gm8Q5jZx+nJzM9E6s= + +"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.13.5": + version "7.13.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.13.5.tgz#69e3fbb9958949b09036e27b26eba1aafa1ba3db" + integrity sha1-aeP7uZWJSbCQNuJ7Juuhqvobo9s= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha1-oIL/VB8qKaSCEGW4rdk0bAwW5d4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-class-properties@^7.12.1", "@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#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-decorators@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" + integrity sha1-WScUOf7UFFRWxBBnRQVDruMy0V8= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.12.1" + +"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.12.17": + version "7.12.17" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.12.17.tgz?cache=0&sync_timestamp=1613661220187&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.12.17.tgz#e0ebd8db65acc37eac518fa17bead2174e224512" + integrity sha1-4OvY22Wsw36sUY+he+rSF04iRRI= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha1-OTvkekrNA/oq9uPN6bBuM94bRG0= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" + integrity sha1-zteIii25Kj1SCi4160If23/Mm10= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.12.13.tgz?cache=0&sync_timestamp=1612314832453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" + integrity sha1-V1tdmgjYKZ7rTbZDDabhblzxQ1A= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha1-PtT/8xwBXn8/FGfxkNvlRc17BGw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.13.0.tgz#1a96fdf2c43109cfe5568513c5379015a23f5380" + integrity sha1-Gpb98sQxCc/lVoUTxTeQFaI/U4A= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.1.tgz?cache=0&sync_timestamp=1612314835872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha1-DixndMTOSL5BIRm01pOsd392haY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.12.13.tgz?cache=0&sync_timestamp=1612314835872&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha1-vZ2jGI54e1EgtPnUZagmHOZ+0ds= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.13.0.tgz#8f19ad247bb96bd5ad2d4107e6eddfe0a789937b" + integrity sha1-jxmtJHu5a9WtLUEH5u3f4KeJk3s= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.13.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" + integrity sha1-RkBSCv5XcorxS00VdLqETyY7yuU= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha1-zOEiID/IoyeUKW/Dd8be2vQ2N5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.13.0.tgz#75b41ce0d883d19e8fe635fc3f846be3b1664f4d" + integrity sha1-dbQc4NiD0Z6P5jX8P4Rr47FmT00= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.12.1", "@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#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha1-BL1MbUD25rv6L1fi2AlLrZAO94c= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + 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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-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-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-bigint/download/@babel/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha1-TJpvZp9dDN8bkKFnHpoUa+UwDOo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + 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?cache=0&sync_timestamp=1612314829085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-decorators@^7.12.1": + 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": + 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.12.1": + 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-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-import-meta/download/@babel/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha1-7mATSMNw+jNNIge+FYd3SWUh/VE= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@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?cache=0&sync_timestamp=1612314757691&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-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", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz?cache=0&sync_timestamp=1593522984333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-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.npm.taobao.org/@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.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.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.npm.taobao.org/@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-top-level-await@^7.12.1", "@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?cache=0&sync_timestamp=1612314828740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-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.npm.taobao.org/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.12.13.tgz?cache=0&sync_timestamp=1612314757993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-typescript%2Fdownload%2F%40babel%2Fplugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" + integrity sha1-nf8RHKZBVM7w9NxSz4Q9nxLORHQ= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@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.12.1", "@babel/plugin-transform-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@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.1", "@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz?cache=0&sync_timestamp=1612314818063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-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.12.1", "@babel/plugin-transform-block-scoping@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" + integrity sha1-825VB20G9B39eFV+oDnBtYFkLmE= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b" + integrity sha1-AmUVUHXEKRi/TTpAUxNBdq2bUzs= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.13.0": + 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#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha1-hFxui5u1U3ax+guS7wvcjqBmRO0= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963" + integrity sha1-xdzicAFNTh67HYBhFmlMErcCiWM= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": + 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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-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.1", "@babel/plugin-transform-duplicate-keys@^7.12.13": + 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.1", "@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-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.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + integrity sha1-hDDez6frKupUFO1KP6bhZSt9d8Q= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.12.1" + +"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@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.1", "@babel/plugin-transform-function-name@^7.12.13": + 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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-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.1", "@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-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.1", "@babel/plugin-transform-member-expression-literals@^7.12.13": + 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&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.12.1", "@babel/plugin-transform-modules-amd@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3" + integrity sha1-GfUR1g49h1PMWm1Od106UYSGbMM= + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.13.0.tgz#276932693a20d12c9776093fdc99c0d9995e34c6" + integrity sha1-J2kyaTog0SyXdgk/3JnA2ZleNMY= + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" + integrity sha1-NRk385LH8HST/HmyEYIB1QQEo8U= + dependencies: + "@babel/helper-hoist-variables" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b" + integrity sha1-ij2WqX0ZlwW5/QIVgAgq+BwG5ws= + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + 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&sync_timestamp=1612314837042&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.1", "@babel/plugin-transform-new-target@^7.12.13": + 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#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.12.13": + 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&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.12.1", "@babel/plugin-transform-parameters@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" + integrity sha1-j6dgPjCX+cC3yhpIIbwvtS6eUAc= + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + +"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@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.12.1": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.12.13.tgz?cache=0&sync_timestamp=1612314726114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-constant-elements%2Fdownload%2F%40babel%2Fplugin-transform-react-constant-elements-7.12.13.tgz#f8ee56888545d53d80f766b3cc1563ab2c241f92" + integrity sha1-+O5WiIVF1T2A92azzBVjqywkH5I= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-display-name@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha1-HLzQw7HWZIxVN0oi/JtrflNBwA0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" + integrity sha1-wo7/13GydvRkdBHJcz27LS2pVL0= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.12.12": + version "7.12.17" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.12.17.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-development%2Fdownload%2F%40babel%2Fplugin-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.12.1": + 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#422d99d122d592acab9c35ea22a6cfd9bf189f60" + integrity sha1-Qi2Z0SLVkqyrnDXqIqbP2b8Yn2A= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.12.13.tgz?cache=0&sync_timestamp=1612314880295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-source%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-source-7.12.13.tgz#051d76126bee5c9a6aa3ba37be2f6c1698856bcb" + integrity sha1-BR12EmvuXJpqo7o3vi9sFpiFa8s= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.13", "@babel/plugin-transform-react-jsx@^7.12.17": + version "7.12.17" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.12.17.tgz?cache=0&sync_timestamp=1613661620031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-7.12.17.tgz#dd2c1299f5e26de584939892de3cfc1807a38f24" + integrity sha1-3SwSmfXibeWEk5iS3jz8GAejjyQ= + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/types" "^7.12.17" + +"@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#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.12.1", "@babel/plugin-transform-regenerator@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.12.13.tgz?cache=0&sync_timestamp=1612314717561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" + integrity sha1-tii8ychSYKwa6wW0W94lIQGUovU= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.12.13": + 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.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" + integrity sha1-BLeSBX60YDif9qQZjjd2FOoee6U= + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.12.13": + 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&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.12.1", "@babel/plugin-transform-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-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.1", "@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@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.12.1", "@babel/plugin-transform-template-literals@^7.13.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@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.1", "@babel/plugin-transform-typeof-symbol@^7.12.13": + 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#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha1-eF3Weh8upXnZwr5yLejITLhfWn8= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-typescript@^7.12.1": + 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.1", "@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.1", "@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-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.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha1-nH5cqCoZ78hlOEu0mJFI0u5desI= + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@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.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.1" + core-js-compat "^3.6.2" + semver "^5.5.0" + +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.8.4": + version "7.13.5" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.13.5.tgz#68b3bbc821a97fcdbf4bd0f6895b83d07f84f33e" + integrity sha1-aLO7yCGpf82/S9D2iVuD0H+E8z4= + dependencies: + "@babel/compat-data" "^7.13.5" + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-proposal-async-generator-functions" "^7.13.5" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-dynamic-import" "^7.12.17" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.0" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.13.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.13.0" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@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.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.12.13" + "@babel/plugin-transform-classes" "^7.13.0" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.0" + "@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.13.0" + "@babel/plugin-transform-modules-commonjs" "^7.13.0" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.13.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.13.0" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@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.3" + "@babel/types" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.1.4" + babel-plugin-polyfill-corejs3 "^0.1.3" + babel-plugin-polyfill-regenerator "^0.1.2" + core-js-compat "^3.9.0" + semver "7.0.0" + +"@babel/preset-modules@^0.1.3": + 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.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" + integrity sha1-fwIrE/VbbdgvAPFtHFma5imFNYw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.1" + "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-react@^7.12.5": + version "7.12.13" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.12.13.tgz#5f911b2eb24277fa686820d5bd81cad9a0602a0a" + integrity sha1-X5EbLrJCd/poaCDVvYHK2aBgKgo= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-react-display-name" "^7.12.13" + "@babel/plugin-transform-react-jsx" "^7.12.13" + "@babel/plugin-transform-react-jsx-development" "^7.12.12" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-typescript@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.12.1.tgz?cache=0&sync_timestamp=1614034252500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-typescript%2Fdownload%2F%40babel%2Fpreset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + integrity sha1-hkgLSDu5f3UDbohk/kBMx4LMMRs= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.12.1" + +"@babel/runtime-corejs3@^7.10.2": + version "7.13.7" + resolved "https://registry.npm.taobao.org/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.13.7.tgz?cache=0&sync_timestamp=1614169319474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime-corejs3%2Fdownload%2F%40babel%2Fruntime-corejs3-7.13.7.tgz#f47f882b62961c1ada113dbafc717c69c18a9b09" + integrity sha1-9H+IK2KWHBraET26/HF8acGKmwk= + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@7.12.1": + version "7.12.1" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha1-tBFqa2cR0BCy2tO3tuQ78bmVR0A= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.13.7" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.13.7.tgz#d494e39d198ee9ca04f4dcb76d25d9d7a1dc961a" + integrity sha1-1JTjnRmO6coE9Ny3bSXZ16Hclho= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4", "@babel/template@^7.12.13", "@babel/template@^7.3.3": + 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.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.7.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.13.0.tgz?cache=0&sync_timestamp=1614034259562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" + integrity sha1-bZV1JHX4bufe0GU23jCaZfyJZsw= + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.17", "@babel/types@^7.12.6", "@babel/types@^7.13.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.13.0" + resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.13.0.tgz?cache=0&sync_timestamp=1614034253440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" + integrity sha1-dEJNKBbwFxtBAPCrNOmjdO/ff4A= + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npm.taobao.org/@bcoe/v8-coverage/download/@bcoe/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha1-daLotRy3WKdVPWgEpZMteqznXDk= + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.npm.taobao.org/@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@^10.1.0": + version "10.1.0" + resolved "https://registry.npm.taobao.org/@csstools/normalize.css/download/@csstools/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" + integrity sha1-8JULuhiBlRLUL3GX5WxRiqSRzxg= + +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.npm.taobao.org/@eslint/eslintrc/download/@eslint/eslintrc-0.3.0.tgz?cache=0&sync_timestamp=1610749823437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha1-1zbWlj1wA7ZRTmMkvsnGAqw0Axg= + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.20" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@graphql-typed-document-node/core@^3.0.0": + version "3.1.0" + resolved "https://registry.npm.taobao.org/@graphql-typed-document-node/core/download/@graphql-typed-document-node/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950" + integrity sha1-Du5jc+EUGL/gtWOPZU33pMpqOVA= + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@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.npm.taobao.org/@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.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1609087073681&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.1.0": + version "15.1.1" + resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-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" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npm.taobao.org/@istanbuljs/load-nyc-config/download/@istanbuljs/load-nyc-config-1.1.0.tgz?cache=0&sync_timestamp=1589989527634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40istanbuljs%2Fload-nyc-config%2Fdownload%2F%40istanbuljs%2Fload-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0= + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.3.tgz?cache=0&sync_timestamp=1613227459974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40istanbuljs%2Fschema%2Fdownload%2F%40istanbuljs%2Fschema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg= + +"@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha1-TgS8RkAUNYsDq0k3gF7jagrrmPI= + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + +"@jest/core@^26.6.0", "@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha1-djn8s4M9dIpGVq2lS94ZMFHkX60= + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^26.6.0", "@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha1-ujZMxy4iHnnMjwqZVVv111d8+Sw= + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + +"@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha1-RZwym89wzuSvTX4/PmeEgSNTWq0= + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +"@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/globals/download/@jest/globals-26.6.2.tgz?cache=0&sync_timestamp=1613689868311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fglobals%2Fdownload%2F%40jest%2Fglobals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha1-W2E7eKGqJlWukI66Y4zJaiDfcgo= + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + +"@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-26.6.2.tgz?cache=0&sync_timestamp=1613689844714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha1-H1GLmWN6Xxgwe9Ps+SdfaIKmZ/Y= + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + +"@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha1-Ka9eHi4yTK/MyTbyGDCfVKtp1TU= + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^26.6.0", "@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha1-VdpYti3xNFdsyVR276X3lJ4/Xxg= + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha1-mOikUQCGOIbQdCBej/3Fp+tYKxc= + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + +"@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-26.6.2.tgz?cache=0&sync_timestamp=1613689812453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha1-WsV8X6GtF7Kq6D5z5FgTiU3PLks= + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^26.6.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" + +"@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=1609074440839&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.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha1-o/LdYbq0O424+hCKEhz//kxnZlU= + +"@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=1609077069715&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" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@npmcli/move-file/download/@npmcli/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha1-GoLD43L3yuklPrZtclQ9a4aFxnQ= + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@pmmmwh/react-refresh-webpack-plugin@0.4.3": + version "0.4.3" + resolved "https://registry.npm.taobao.org/@pmmmwh/react-refresh-webpack-plugin/download/@pmmmwh/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" + integrity sha1-HuxGBZbSAMAja/GVsHil0d+Jt2Y= + dependencies: + ansi-html "^0.0.7" + error-stack-parser "^2.0.6" + html-entities "^1.2.1" + native-url "^0.2.6" + schema-utils "^2.6.5" + source-map "^0.7.3" + +"@rollup/plugin-node-resolve@^7.1.1": + version "7.1.3" + resolved "https://registry.npm.taobao.org/@rollup/plugin-node-resolve/download/@rollup/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" + integrity sha1-gN44Tt+9e/yRARZJEPhgeBUaPso= + dependencies: + "@rollup/pluginutils" "^3.0.8" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.14.2" + +"@rollup/plugin-replace@^2.3.1": + version "2.4.1" + resolved "https://registry.npm.taobao.org/@rollup/plugin-replace/download/@rollup/plugin-replace-2.4.1.tgz#c411b5ab72809fb1bfc8b487d8d02eef661460d3" + integrity sha1-xBG1q3KAn7G/yLSH2NAu72YUYNM= + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.npm.taobao.org/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz?cache=0&sync_timestamp=1603767613737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40rollup%2Fpluginutils%2Fdownload%2F%40rollup%2Fpluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s= + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@sinonjs/commons@^1.7.0": + version "1.8.2" + resolved "https://registry.npm.taobao.org/@sinonjs/commons/download/@sinonjs/commons-1.8.2.tgz?cache=0&sync_timestamp=1610537379624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sinonjs%2Fcommons%2Fdownload%2F%40sinonjs%2Fcommons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" + integrity sha1-hY9cS0jYB3j95LnVQfJ+3A1WSIs= + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.npm.taobao.org/@sinonjs/fake-timers/download/@sinonjs/fake-timers-6.0.1.tgz?cache=0&sync_timestamp=1610984536323&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sinonjs%2Ffake-timers%2Fdownload%2F%40sinonjs%2Ffake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha1-KTZ0/MsyYqx4LHqt/eyoaxDHXEA= + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@surma/rollup-plugin-off-main-thread@^1.1.1": + version "1.4.2" + resolved "https://registry.npm.taobao.org/@surma/rollup-plugin-off-main-thread/download/@surma/rollup-plugin-off-main-thread-1.4.2.tgz?cache=0&sync_timestamp=1614180817531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40surma%2Frollup-plugin-off-main-thread%2Fdownload%2F%40surma%2Frollup-plugin-off-main-thread-1.4.2.tgz#e6786b6af5799f82f7ab3a82e53f6182d2b91a58" + integrity sha1-5nhravV5n4L3qzqC5T9hgtK5Glg= + dependencies: + ejs "^2.6.1" + magic-string "^0.25.0" + +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha1-ge9hlHuyaOudUFI0RvnGOPs1WQY= + +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha1-ayx3DJXIdGVP1eHV70dbeKCpYu8= + +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha1-JWIaiRXtetcNps6j0KbbwuqTPv0= + +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha1-CyIfxX+fzRDpH+IZ4s0N0DFFqJc= + +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha1-E5tUbdDDGGtuXbT+/CbLC66nKdc= + +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha1-ZUP2lSZjKhM85cq6uWXe6uoiNKA= + +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha1-AL+aenPxytOUjNqx+N+3dHUPjIA= + +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha1-WDpeKhk+IU2i86/rC56NMlASa0o= + +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-preset/download/@svgr/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha1-ivVPPgqK3XseKw/NWogsVTk98yc= + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/core/download/@svgr/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha1-gugmuHFdcQgxIP6PJJLsfXh0pXk= + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha1-XuUqnCUz9z5j+PIrd5+TzUMqVGE= + dependencies: + "@babel/types" "^7.12.6" + +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/plugin-jsx/download/@svgr/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha1-GqjNeYodtxc6wENGbXtSI2s2kAA= + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/plugin-svgo/download/@svgr/plugin-svgo-5.5.0.tgz?cache=0&sync_timestamp=1605436036624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40svgr%2Fplugin-svgo%2Fdownload%2F%40svgr%2Fplugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha1-AtpV2FMgVJMk4gHHsuU79DH8wkY= + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@5.5.0": + version "5.5.0" + resolved "https://registry.npm.taobao.org/@svgr/webpack/download/@svgr/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha1-quhY7lefX6jObDFm71bGobOBtkA= + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + +"@testing-library/dom@^7.28.1": + version "7.29.6" + resolved "https://registry.npm.taobao.org/@testing-library/dom/download/@testing-library/dom-7.29.6.tgz#eb37844fb431186db7960a7ff6749ea65a19617c" + integrity sha1-6zeET7QxGG23lgp/9nSeploZYXw= + 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/jest-dom@^5.11.4": + version "5.11.9" + resolved "https://registry.npm.taobao.org/@testing-library/jest-dom/download/@testing-library/jest-dom-5.11.9.tgz#e6b3cd687021f89f261bd53cbe367041fbd3e975" + integrity sha1-5rPNaHAh+J8mG9U8vjZwQfvT6XU= + dependencies: + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^4.2.2" + chalk "^3.0.0" + css "^3.0.0" + css.escape "^1.5.1" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@^11.1.0": + version "11.2.5" + resolved "https://registry.npm.taobao.org/@testing-library/react/download/@testing-library/react-11.2.5.tgz?cache=0&sync_timestamp=1612284545706&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40testing-library%2Freact%2Fdownload%2F%40testing-library%2Freact-11.2.5.tgz#ae1c36a66c7790ddb6662c416c27863d87818eb9" + integrity sha1-rhw2pmx3kN22ZixBbCeGPYeBjrk= + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^7.28.1" + +"@testing-library/user-event@^12.1.10": + version "12.7.3" + resolved "https://registry.npm.taobao.org/@testing-library/user-event/download/@testing-library/user-event-12.7.3.tgz?cache=0&sync_timestamp=1614085625584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40testing-library%2Fuser-event%2Fdownload%2F%40testing-library%2Fuser-event-12.7.3.tgz#ef674ccb91794e52123b3532c336485d16f453b3" + integrity sha1-72dMy5F5TlISOzUywzZIXRb0U7M= + dependencies: + "@babel/runtime" "^7.12.5" + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha1-M2utwb7sudrMOL6izzKt9ieoQho= + +"@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?cache=0&sync_timestamp=1613378060984&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Faria-query%2Fdownload%2F%40types%2Faria-query-4.2.1.tgz#78b5433344e2f92e8b306c06a5622c50c245bf6b" + integrity sha1-eLVDM0Ti+S6LMGwGpWIsUMJFv2s= + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.1.12" + resolved "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.12.tgz?cache=0&sync_timestamp=1613378094807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__core%2Fdownload%2F%40types%2Fbabel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha1-TY6eUesmVVKn5PH/IhmrYTO9+y0= + 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.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.2.tgz?cache=0&sync_timestamp=1613378094989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.4.0.tgz?cache=0&sync_timestamp=1613378095212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.4", "@types/babel__traverse@^7.0.6": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.11.0.tgz?cache=0&sync_timestamp=1613378095528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbabel__traverse%2Fdownload%2F%40types%2Fbabel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha1-uaHvpjUgG6m8hQMjqHk+4tNsBKA= + dependencies: + "@babel/types" "^7.3.0" + +"@types/eslint@^7.2.6": + version "7.2.6" + resolved "https://registry.npm.taobao.org/@types/eslint/download/@types/eslint-7.2.6.tgz?cache=0&sync_timestamp=1613378492990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Feslint%2Fdownload%2F%40types%2Feslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" + integrity sha1-Xpr/VVqXVZbAOpi1ns0QPezHDDw= + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "0.0.46" + resolved "https://registry.npm.taobao.org/@types/estree/download/@types/estree-0.0.46.tgz?cache=0&sync_timestamp=1613378493125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" + integrity sha1-D7a/u+q9ejCIBQSZM2nEvx3qsf4= + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.npm.taobao.org/@types/estree/download/@types/estree-0.0.39.tgz?cache=0&sync_timestamp=1613378493125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Festree%2Fdownload%2F%40types%2Festree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8= + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&sync_timestamp=1613378590724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.npm.taobao.org/@types/graceful-fs/download/@types/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha1-If+6DZjaQ1DbZIkfkqnl2zzbThU= + dependencies: + "@types/node" "*" + +"@types/html-minifier-terser@^5.0.0": + version "5.1.1" + resolved "https://registry.npm.taobao.org/@types/html-minifier-terser/download/@types/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" + integrity sha1-PJ7pgPGhDWAhrmYyyj55yi7E+1A= + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.npm.taobao.org/@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=1613379032402&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@^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=1613379032303&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@*": + version "26.0.20" + resolved "https://registry.npm.taobao.org/@types/jest/download/@types/jest-26.0.20.tgz?cache=0&sync_timestamp=1613379426410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjest%2Fdownload%2F%40types%2Fjest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha1-zS8nAuz2noa1huH1Ijpg5FQFYwc= + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": + version "7.0.7" + resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz?cache=0&sync_timestamp=1613379017372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0= + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0= + +"@types/node@*", "@types/node@>=6": + version "14.14.31" + resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.31.tgz?cache=0&sync_timestamp=1613758114120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha1-cihr0z0TeqDRUtR+x8F2JWPTQFU= + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@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/prettier@^2.0.0": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@types/prettier/download/@types/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd" + integrity sha1-N04xZF1Yyxigez7Njp3t5N6yzM0= + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.npm.taobao.org/@types/resolve/download/@types/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha1-8mB00jjgJlnjI84aE9BB7uKA4ZQ= + dependencies: + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk= + +"@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-2.0.0.tgz?cache=0&sync_timestamp=1613384607609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fstack-utils%2Fdownload%2F%40types%2Fstack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha1-cDZkC04hzC8lmugmzoQ9J32tjP8= + +"@types/tapable@*", "@types/tapable@^1.0.5": + version "1.0.6" + resolved "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" + integrity sha1-qcpLcKGLJwzLK8Cqr+/R1Ia36nQ= + +"@types/testing-library__jest-dom@^5.9.1": + version "5.9.5" + resolved "https://registry.npm.taobao.org/@types/testing-library__jest-dom/download/@types/testing-library__jest-dom-5.9.5.tgz?cache=0&sync_timestamp=1613385554150&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftesting-library__jest-dom%2Fdownload%2F%40types%2Ftesting-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0" + integrity sha1-W/Jcka0tezjyZLEideXJKmbYSbA= + dependencies: + "@types/jest" "*" + +"@types/uglify-js@*": + version "3.12.0" + resolved "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.12.0.tgz#2bb061c269441620d46b946350c8f16d52ef37c5" + integrity sha1-K7BhwmlEFiDUa5RjUMjxbVLvN8U= + dependencies: + source-map "^0.6.1" + +"@types/ungap__global-this@^0.3.1": + version "0.3.1" + resolved "https://registry.npm.taobao.org/@types/ungap__global-this/download/@types/ungap__global-this-0.3.1.tgz#18ce9f657da556037a29d50604335614ce703f4c" + integrity sha1-GM6fZX2lVgN6KdUGBDNWFM5wP0w= + +"@types/webpack-sources@*": + version "2.1.0" + resolved "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-2.1.0.tgz?cache=0&sync_timestamp=1613384741414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" + integrity sha1-iIKwvWLR4M5i8YPQ0Bty5ugujBA= + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4.41.8": + version "4.41.26" + resolved "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.26.tgz?cache=0&sync_timestamp=1613384834206&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" + integrity sha1-J6MNfVMeFkifnHYHx0e+a8GkWe8= + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/yargs-parser@*": + version "20.2.0" + resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha1-3T5mmboyN/A0jNCF5GmHgCBIQvk= + +"@types/yargs@^15.0.0": + version "15.0.13" + resolved "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-15.0.13.tgz?cache=0&sync_timestamp=1613385096565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha1-NPf+yLOJ1/PB/QgCaldj4HLTxtw= + dependencies: + "@types/yargs-parser" "*" + +"@types/zen-observable@^0.8.0": + version "0.8.2" + resolved "https://registry.npm.taobao.org/@types/zen-observable/download/@types/zen-observable-0.8.2.tgz?cache=0&sync_timestamp=1613384918146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fzen-observable%2Fdownload%2F%40types%2Fzen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" + integrity sha1-gIyfp+RRcnTtVV+hWPLeS09GjnE= + +"@typescript-eslint/eslint-plugin@^4.5.0": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61" + integrity sha1-mBsmtAdsYqWlWHP77z/pj4M2DGE= + dependencies: + "@typescript-eslint/experimental-utils" "4.15.2" + "@typescript-eslint/scope-manager" "4.15.2" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.15.2", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" + integrity sha1-Xv0SNVvVtTXhgxKC5s9GW5pxzzY= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.15.2" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/typescript-estree" "4.15.2" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/experimental-utils@^3.10.1": + version "3.10.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" + integrity sha1-4Xn/yBqA68ri6gTgMy+LJRNFpoY= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.5.0": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e" + integrity sha1-yARHQyHvdqOVWuwDZkgI8Nbnhy4= + dependencies: + "@typescript-eslint/scope-manager" "4.15.2" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/typescript-estree" "4.15.2" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.15.2": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.15.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" + integrity sha1-VyW9plaZWWCuHQBL/RzXAyDzf08= + dependencies: + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/visitor-keys" "4.15.2" + +"@typescript-eslint/types@3.10.1": + version "3.10.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-3.10.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" + integrity sha1-HXRj+nwy2KI6tQioA8ov4m51hyc= + +"@typescript-eslint/types@4.15.2": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.15.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" + integrity sha1-BKzzotyAAaiJhSkXRCQecy7yLGA= + +"@typescript-eslint/typescript-estree@3.10.1": + version "3.10.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-3.10.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" + integrity sha1-/QBhzDit1PrUUTbWVECFafNluFM= + dependencies: + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/visitor-keys" "3.10.1" + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/typescript-estree@4.15.2": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.15.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" + integrity sha1-wveh6U80KNIp1ez/Pq1lge6bYvo= + dependencies: + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/visitor-keys" "4.15.2" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@3.10.1": + version "3.10.1" + resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-3.10.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" + integrity sha1-zUJ0dz4+tjsuhwrGAidEh+zR6TE= + dependencies: + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/visitor-keys@4.15.2": + version "4.15.2" + resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.15.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" + integrity sha1-PRx5ec51v2rPlpEQm9DWtXBhkrk= + dependencies: + "@typescript-eslint/types" "4.15.2" + eslint-visitor-keys "^2.0.0" + +"@ungap/global-this@^0.4.2": + version "0.4.4" + resolved "https://registry.npm.taobao.org/@ungap/global-this/download/@ungap/global-this-0.4.4.tgz#8a1b2cfcd3e26e079a847daba879308c924dd695" + integrity sha1-ihss/NPibgeahH2rqHkwjJJN1pU= + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1610041205837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ= + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1610044909971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q= + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1610041208312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI= + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1610041207802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA= + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1610041206663&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc= + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1610041389208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg= + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc= + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz?cache=0&sync_timestamp=1610041207935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-bytecode%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A= + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1610043135816&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1610041205525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1610041205334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1610041205627&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas= + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1610043137884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1610041206776&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041206212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@wry/context@^0.4.0": + version "0.4.4" + resolved "https://registry.npm.taobao.org/@wry/context/download/@wry/context-0.4.4.tgz?cache=0&sync_timestamp=1612897061266&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40wry%2Fcontext%2Fdownload%2F%40wry%2Fcontext-0.4.4.tgz#e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8" + integrity sha1-5Q9fodbPqr8pd9H9pa6RcX+IFfg= + dependencies: + "@types/node" ">=6" + tslib "^1.9.3" + +"@wry/context@^0.5.2": + version "0.5.4" + resolved "https://registry.npm.taobao.org/@wry/context/download/@wry/context-0.5.4.tgz?cache=0&sync_timestamp=1612897061266&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40wry%2Fcontext%2Fdownload%2F%40wry%2Fcontext-0.5.4.tgz#b6c28038872e0a0e1ff14eb40b5bf4cab2ab4e06" + integrity sha1-tsKAOIcuCg4f8U60C1v0yrKrTgY= + dependencies: + tslib "^1.14.1" + +"@wry/equality@^0.1.2": + version "0.1.11" + resolved "https://registry.npm.taobao.org/@wry/equality/download/@wry/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" + integrity sha1-NcsVbkqWaVqoGp7MTQN4e8F/F5A= + dependencies: + tslib "^1.9.3" + +"@wry/equality@^0.3.0": + version "0.3.3" + resolved "https://registry.npm.taobao.org/@wry/equality/download/@wry/equality-0.3.3.tgz#1ec8f9af01d40a2eb00d055d9a3173315126c648" + integrity sha1-Hsj5rwHUCi6wDQVdmjFzMVEmxkg= + dependencies: + tslib "^1.14.1" + +"@wry/trie@^0.2.1": + version "0.2.2" + resolved "https://registry.npm.taobao.org/@wry/trie/download/@wry/trie-0.2.2.tgz#99f20f0fcbbcda17006069b155c826cbabfc402f" + integrity sha1-mfIPD8u82hcAYGmxVcgmy6v8QC8= + dependencies: + tslib "^1.14.1" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@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.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= + +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= + +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@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha1-Rs3Tnw+P8IqHZhm1X1rIptx3C0U= + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns= + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1611560672540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1611561275462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1611561275462&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.npm.taobao.org/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@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-3.0.0.tgz?cache=0&sync_timestamp=1603701201126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fadjust-sourcemap-loader%2Fdownload%2Fadjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" + integrity sha1-WuEvtbexxYXoC7taY+wWOhpF5h4= + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +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.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz?cache=0&sync_timestamp=1608067779648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-errors%2Fdownload%2Fajv-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.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1608062556009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-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, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npm.taobao.org/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" + +ajv@^7.0.2: + version "7.1.1" + resolved "https://registry.npm.taobao.org/ajv/download/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" + integrity sha1-Hms3pFQCH6mUFxPzi5UvwcjTKoQ= + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +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-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7, ansi-html@^0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-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.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1611325836307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-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.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611325836307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= + dependencies: + color-convert "^2.0.1" + +antd-mobile@^2.3.4: + version "2.3.4" + resolved "https://registry.npm.taobao.org/antd-mobile/download/antd-mobile-2.3.4.tgz#8f584707b30343d102f3ca10fdaf677e2a5d1cc8" + integrity sha1-j1hHB7MDQ9EC88oQ/a9nfipdHMg= + dependencies: + array-tree-filter "~2.1.0" + babel-runtime "6.x" + classnames "^2.2.1" + normalize.css "^7.0.0" + rc-checkbox "~2.0.0" + rc-collapse "~1.9.1" + rc-slider "~8.2.0" + rc-swipeout "~2.0.0" + rmc-calendar "^1.0.0" + rmc-cascader "~5.0.0" + rmc-date-picker "^6.0.8" + rmc-dialog "^1.0.1" + rmc-drawer "^0.4.11" + rmc-feedback "^2.0.0" + rmc-input-number "^1.0.0" + rmc-list-view "^0.11.0" + rmc-notification "~1.0.0" + rmc-nuka-carousel "~3.0.0" + rmc-picker "~5.0.0" + rmc-pull-to-refresh "~1.0.1" + rmc-steps "~1.0.0" + rmc-tabs "~1.2.0" + rmc-tooltip "~1.0.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3, anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-cache-inmemory@^1.6.6: + version "1.6.6" + resolved "https://registry.npm.taobao.org/apollo-cache-inmemory/download/apollo-cache-inmemory-1.6.6.tgz#56d1f2a463a6b9db32e9fa990af16d2a008206fd" + integrity sha1-VtHypGOmudsy6fqZCvFtKgCCBv0= + dependencies: + apollo-cache "^1.3.5" + apollo-utilities "^1.3.4" + optimism "^0.10.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +apollo-cache@1.3.5, apollo-cache@^1.3.5: + version "1.3.5" + resolved "https://registry.npm.taobao.org/apollo-cache/download/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" + integrity sha1-nb6/yNvo/n+XulaKIkvKLF2B9GE= + dependencies: + apollo-utilities "^1.3.4" + tslib "^1.10.0" + +apollo-client@^2.6.10: + version "2.6.10" + resolved "https://registry.npm.taobao.org/apollo-client/download/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" + integrity sha1-hmNwR7UdlAyOqncaTOGwLfFr6mo= + dependencies: + "@types/zen-observable" "^0.8.0" + apollo-cache "1.3.5" + apollo-link "^1.0.0" + apollo-utilities "1.3.4" + symbol-observable "^1.0.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + zen-observable "^0.8.0" + +apollo-link-http-common@^0.2.16: + version "0.2.16" + resolved "https://registry.npm.taobao.org/apollo-link-http-common/download/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" + integrity sha1-dWdJ2vxzJ5LIygkj+aQFZLfFnsw= + dependencies: + apollo-link "^1.2.14" + ts-invariant "^0.4.0" + tslib "^1.9.3" + +apollo-link-http@^1.5.17: + version "1.5.17" + resolved "https://registry.npm.taobao.org/apollo-link-http/download/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" + integrity sha1-SZ6fFxG/aUSX8CxRrxLYLeXY2Lo= + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link@^1.0.0, apollo-link@^1.2.14: + version "1.2.14" + resolved "https://registry.npm.taobao.org/apollo-link/download/apollo-link-1.2.14.tgz?cache=0&sync_timestamp=1600349127401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fapollo-link%2Fdownload%2Fapollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" + integrity sha1-P+2ktH+eu6f0Fgvvi5d7pyW2hNk= + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: + version "1.3.4" + resolved "https://registry.npm.taobao.org/apollo-utilities/download/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" + integrity sha1-YSnkOOi+IBtsVbDxPOSdLHF1yc8= + dependencies: + "@wry/equality" "^0.1.2" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +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@^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.npm.taobao.org/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.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.1.1, array-includes@^3.1.2: + version "3.1.3" + resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.3.tgz?cache=0&sync_timestamp=1613858415172&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.x, array-tree-filter@~2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/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#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#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flat/download/array.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.3: + version "1.2.4" + resolved "https://registry.npm.taobao.org/array.prototype.flatmap/download/array.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@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/arrify/download/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha1-yWVekzHgq81YjSp8rX6ZVvZnAfo= + +asap@~2.0.3, 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.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npm.taobao.org/assert/download/assert-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: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= + +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-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + +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@^2.6.2: + version "2.6.3" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.6.1: + version "9.8.6" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1611941597360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-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.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101244098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= + +axe-core@^4.0.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/axe-core/download/axe-core-4.1.2.tgz#7cf783331320098bfbef620df3b3c770147bc224" + integrity sha1-fPeDMxMgCYv772IN87PHcBR7wiQ= + +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz?cache=0&sync_timestamp=1608611162952&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg= + dependencies: + follow-redirects "^1.10.0" + +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1611946213770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.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@^26.6.0, babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha1-2H0lywA3V3oMifguV1XF0pPAEFY= + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1606424647115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha1-xhHVESvVIJq+i5+oTD5NolJ18cM= + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha1-gYW9AwNI0lTG192XQ1Xmoosh5i0= + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0: + version "2.8.0" + resolved "https://registry.npm.taobao.org/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz?cache=0&sync_timestamp=1608220618351&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.7: + 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#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha1-FWzVXT8SKKV2V3Q0CTevyDmAZ90= + +babel-plugin-polyfill-corejs2@^0.1.4: + version "0.1.6" + resolved "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.1.6.tgz?cache=0&sync_timestamp=1614191930413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.1.6.tgz#947a1227efa1a14ce09ac5fafc66ce8e039071e2" + integrity sha1-lHoSJ++hoUzgmsX6/GbOjgOQceI= + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-define-polyfill-provider" "^0.1.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.1.3: + version "0.1.4" + resolved "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.1.4.tgz?cache=0&sync_timestamp=1614086524256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.1.4.tgz#2ae290200e953bade30907b7a3bebcb696e6c59d" + integrity sha1-KuKQIA6VO63jCQe3o768tpbmxZ0= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.2" + core-js-compat "^3.8.1" + +babel-plugin-polyfill-regenerator@^0.1.2: + version "0.1.3" + resolved "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.1.3.tgz#350f857225fc640ae1ec78d1536afcbb457db841" + integrity sha1-NQ+FciX8ZArh7HjRU2r8u0V9uEE= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.2" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-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.npm.taobao.org/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-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/babel-preset-current-node-syntax/download/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha1-tDmSObibKgEfndvj5PQB/EDP9zs= + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@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-top-level-await" "^7.8.3" + +babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha1-dHhysRcd8DIlJCZYaIHWLTF5j+4= + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-react-app@^10.0.0: + version "10.0.0" + resolved "https://registry.npm.taobao.org/babel-preset-react-app/download/babel-preset-react-app-10.0.0.tgz?cache=0&sync_timestamp=1603462277156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-react-app%2Fdownload%2Fbabel-preset-react-app-10.0.0.tgz#689b60edc705f8a70ce87f47ab0e560a317d7045" + integrity sha1-aJtg7ccF+KcM6H9Hqw5WCjF9cEU= + dependencies: + "@babel/core" "7.12.3" + "@babel/plugin-proposal-class-properties" "7.12.1" + "@babel/plugin-proposal-decorators" "7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.12.1" + "@babel/plugin-proposal-numeric-separator" "7.12.1" + "@babel/plugin-proposal-optional-chaining" "7.12.1" + "@babel/plugin-transform-flow-strip-types" "7.12.1" + "@babel/plugin-transform-react-display-name" "7.12.1" + "@babel/plugin-transform-runtime" "7.12.1" + "@babel/preset-env" "7.12.1" + "@babel/preset-react" "7.12.1" + "@babel/preset-typescript" "7.12.1" + "@babel/runtime" "7.12.1" + 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.npm.taobao.org/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.0" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.npm.taobao.org/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@^7.0.2: + version "7.0.2" + resolved "https://registry.npm.taobao.org/bfj/download/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" + integrity sha1-GYjOdvOt2awpE/2LpHqtnmUb+7I= + dependencies: + bluebird "^3.5.5" + check-types "^11.1.1" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299322955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299322955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1602657218976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.11.9" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg= + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npm.taobao.org/body-parser/download/body-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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1614010709807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-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.npm.taobao.org/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.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz?cache=0&sync_timestamp=1605194257215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-rsa%2Fdownload%2Fbrowserify-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.npm.taobao.org/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.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@4.14.2: + version "4.14.2" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" + integrity sha1-GzzsRYobqHWIzF6b5i8ZttSIE84= + dependencies: + caniuse-lite "^1.0.30001125" + electron-to-chromium "^1.3.564" + escalade "^3.0.2" + node-releases "^1.1.61" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.6.2, browserslist@^4.6.4: + version "4.16.3" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha1-NAqkaUDX24eHSFZ8XeokpI3fNxc= + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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?cache=0&sync_timestamp=1606098175437&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha1-RdXbmefuXmvE82LgCL+RerUEmIc= + +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#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@^15.0.5: + version "15.0.5" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" + integrity sha1-aRYoM9opFw1nMjNGQ8YOAF9fF9A= + dependencies: + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.0" + tar "^6.0.2" + 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.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610402896029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/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@^4.1.1: + version "4.1.2" + resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.2.tgz?cache=0&sync_timestamp=1606867311564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha1-lygHKpVPgFIoIlpt7qazhGHhvVo= + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921799543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603921799543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk= + +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.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001181: + version "1.0.30001192" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001192.tgz?cache=0&sync_timestamp=1614231639129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40" + integrity sha1-uEjrwKsjDPMT0ZSkd1owFV1QrkA= + +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.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz?cache=0&sync_timestamp=1614018570698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcase-sensitive-paths-webpack-plugin%2Fdownload%2Fcase-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc= + +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.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1591687042638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.1.1: + version "1.1.3" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-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.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1591687042638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687042638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/char-regex/download/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha1-10Q1giYhf5ge1Y9Hmx1rzClUXc8= + +check-types@^11.1.1: + version "11.1.2" + resolved "https://registry.npm.taobao.org/check-types/download/check-types-11.1.2.tgz?cache=0&sync_timestamp=1579455903027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" + integrity sha1-hqfBK/VTn2Mk6w5wyoiWwOOPPi8= + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610719375974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610719375974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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: + version "1.1.4" + resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/chownr/download/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4= + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= + dependencies: + tslib "^1.9.0" + +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.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/cjs-module-lexer/download/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha1-QYb8yg6uF1lwruhwuf4tbPjVZV8= + +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" + +classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.4, classnames@^2.2.5, 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.3: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1613658013617&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.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1605702305638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1604880017635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-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" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1604880017635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +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= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/collect-v8-coverage/download/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha1-zCyOlPwYu9/+ZNZTRXDIpnOyf1k= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha1-3VHNJc/ulT0Tj+QAI3LMPQ5QTLY= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.3" + resolved "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4= + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs= + +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.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1613373913701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1613373913701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg= + +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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npm.taobao.org/compression/download/compression-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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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: + version "1.0.10" + resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.10.tgz?cache=0&sync_timestamp=1603464252731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfusing-browser-globals%2Fdownload%2Fconfusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha1-MNHn89G4grJexJM9HRraw1PSClk= + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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= + +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.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.6.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" + +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= + +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-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/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= + +core-js-compat@^3.6.2, core-js-compat@^3.8.1, core-js-compat@^3.9.0: + version "3.9.0" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.9.0.tgz?cache=0&sync_timestamp=1613668838540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.9.0.tgz#29da39385f16b71e1915565aa0385c4e0963ad56" + integrity sha1-Kdo5OF8Wtx4ZFVZaoDhcTgljrVY= + dependencies: + browserslist "^4.16.3" + semver "7.0.0" + +core-js-pure@^3.0.0: + version "3.9.0" + resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.9.0.tgz?cache=0&sync_timestamp=1613668838517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-pure%2Fdownload%2Fcore-js-pure-3.9.0.tgz#326cc74e1fef8b7443a6a793ddb0adfcd81f9efb" + integrity sha1-MmzHTh/vi3RDpqeT3bCt/Ngfnvs= + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz?cache=0&sync_timestamp=1613668840564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1613668840564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= + +core-js@^3.6.5: + version "3.9.0" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.9.0.tgz?cache=0&sync_timestamp=1613668840564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" + integrity sha1-eQsbsRVToicrNuJiXHF52zRUkvg= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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" + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha1-75tE13OVnK5j3ezRIt4jhTtg+NM= + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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" + +create-react-class@^15.6.0: + version "15.7.0" + resolved "https://registry.npm.taobao.org/create-react-class/download/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e" + integrity sha1-dJnXyi5pu1HRP69ZvQTwxlodbB4= + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + +cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + 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" + +cross-spawn@^6.0.0: + 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" + +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" + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz?cache=0&sync_timestamp=1613125784146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-random-string%2Fdownload%2Fcrypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +css-animation@1.x, css-animation@^1.3.2: + 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.npm.taobao.org/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.npm.taobao.org/css-declaration-sorter/download/css-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.npm.taobao.org/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@4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-4.3.0.tgz?cache=0&sync_timestamp=1612791037806&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e" + integrity sha1-yIivZLKlsuhUYscsD0qFx+Lggh4= + dependencies: + camelcase "^6.0.0" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^2.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.3" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.1" + semver "^7.3.2" + +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.npm.taobao.org/css-select/download/css-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.npm.taobao.org/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.2" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" + integrity sha1-muOTtdr9fa6KYiR1yux409j717U= + 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#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: + version "2.2.4" + resolved "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz?cache=0&sync_timestamp=1593663585785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss%2Fdownload%2Fcss-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" + +css@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/css/download/css-3.0.0.tgz?cache=0&sync_timestamp=1593663585785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss%2Fdownload%2Fcss-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha1-REek1Y/dAzZ8UWyp9krjZc7kql0= + dependencies: + inherits "^2.0.4" + source-map "^0.6.1" + source-map-resolve "^0.6.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.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= + 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.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.10" + resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + 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#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk= + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha1-WmbPk9LQtmHYC/akT7ZfXC5OChA= + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= + +cssstyle@^2.2.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha1-/2ZaDdvcMYZLCWR/NBY0Q9kLCFI= + dependencies: + cssom "~0.3.6" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha1-FDwWQcs9hcYMMjKeJoma3qhwF5E= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha1-FWSFpyljqXD11YIar2Qr7yvy25s= + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566551397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.6: + version "3.2.7" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566551397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566551397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4= + dependencies: + ms "2.1.2" + +decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348638646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.npm.taobao.org/decimal.js/download/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha1-I4rnsPDHk9PjzqQQEIs1osAUJqM= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/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?cache=0&sync_timestamp=1608580825991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdedent%2Fdownload%2Fdedent-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=1606860101281&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, deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha1-RNLqNnm49NT/ujPwPYZfwee/SVU= + +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=1610365816953&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.npm.taobao.org/define-properties/download/define-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@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076936089&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +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= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= + +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@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha1-SLqZFX3hkjQS7tQdtrbUqpynwLE= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npm.taobao.org/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@^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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +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.x, dom-align@^1.7.0: + version "1.12.0" + resolved "https://registry.npm.taobao.org/dom-align/download/dom-align-1.12.0.tgz#56fb7156df0b91099830364d2d48f88963f5a29c" + integrity sha1-VvtxVt8LkQmYMDZNLUj4iWP1opw= + +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.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1607193036175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1604239910191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-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=1606866004215&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: + version "2.1.0" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.1.0.tgz?cache=0&sync_timestamp=1606866004215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" + integrity sha1-qFHAgKbRw9lDRK7RUdmfZp7fWF4= + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/domexception/download/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha1-+0Su+6eT4VdLCvau0oAdBXUp8wQ= + dependencies: + webidl-conversions "^5.0.0" + +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=1606872237350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1607393052726&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.4.tgz?cache=0&sync_timestamp=1606867255091&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-case%2Fdownload%2Fdot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha1-mytnDQCkMWZ6inW6Kc0bmICc51E= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/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#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha1-l+YZJZradQ7qPk6j4mvO6lQksWo= + +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.npm.taobao.org/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.npm.taobao.org/ejs/download/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.649: + version "1.3.673" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.673.tgz?cache=0&sync_timestamp=1614136450445&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.673.tgz#b4f81c930b388f962b7eba20d0483299aaa40913" + integrity sha1-tPgckws4j5Yrfrog0EgymaqkCRM= + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz?cache=0&sync_timestamp=1612290896983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-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" + +emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.npm.taobao.org/emittery/download/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha1-JVlZCOE68PVnSrQZOW4vs5TN+oI= + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1611911681737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1611911681737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emoji-regex@^9.0.0: + version "9.2.1" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-9.2.1.tgz?cache=0&sync_timestamp=1611911681737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-9.2.1.tgz#c9b25604256bb3428964bead3ab63069d736f7ee" + integrity sha1-ybJWBCVrs0KJZL6tOrYwadc29+4= + +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= + +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.npm.taobao.org/encoding/download/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha1-VldK/deR9UqOmyeFwFgqLSYhD6k= + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.3.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1610568624565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz?cache=0&sync_timestamp=1593693195602&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenquirer%2Fdownload%2Fenquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= + dependencies: + ansi-colors "^4.1.1" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1611535322406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-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?cache=0&sync_timestamp=1611535322406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= + +env-paths@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" + integrity sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM= + +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.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha1-WpmnB716TFinl5AtSNgoA+3mqtg= + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.2: + version "1.17.7" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: + version "1.18.0-next.2" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" + integrity sha1-CIEBpV8FQfWV5+BXGZ4n3cjzpcI= + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.1" + is-regex "^1.1.1" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.3" + string.prototype.trimstart "^1.0.3" + +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.npm.taobao.org/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.npm.taobao.org/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.0.2, escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567261690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-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@2.0.0, escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.14.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-react-app@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/eslint-config-react-app/download/eslint-config-react-app-6.0.0.tgz#ccff9fc8e36b322902844cbd79197982be355a0e" + integrity sha1-zP+fyONrMikChEy9eRl5gr41Wg4= + dependencies: + confusing-browser-globals "^1.0.10" + +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-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y= + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@^5.2.0: + version "5.3.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-flowtype/download/eslint-plugin-flowtype-5.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-flowtype%2Fdownload%2Feslint-plugin-flowtype-5.3.1.tgz#df6227e28c61d967b825c1327a27818bbb2ad325" + integrity sha1-32In4oxh2We4JcEyeieBi7sq0yU= + dependencies: + lodash "^4.17.15" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.22.1: + version "2.22.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" + integrity sha1-CJbH5qDPRBCaLZe5WQPCu2iddwI= + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-jest@^24.1.0: + version "24.1.5" + resolved "https://registry.npm.taobao.org/eslint-plugin-jest/download/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" + integrity sha1-HoZqnw3qxYfQo9XXzv6ZgVpYDeI= + dependencies: + "@typescript-eslint/experimental-utils" "^4.0.1" + +eslint-plugin-jsx-a11y@^6.3.1: + 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-react-hooks@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-4.2.0.tgz?cache=0&sync_timestamp=1614184407178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react-hooks%2Fdownload%2Feslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" + integrity sha1-jCKcJo1GiVYzTJQ7tF/IYCgPVVY= + +eslint-plugin-react@^7.21.5: + version "7.22.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.22.0.tgz?cache=0&sync_timestamp=1609302383239&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react%2Fdownload%2Feslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" + integrity sha1-PRxULR0xacRUIcEhXZRw40Fwcmk= + dependencies: + array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.4.1 || ^3.0.0" + object.entries "^1.1.2" + object.fromentries "^2.0.2" + object.values "^1.1.1" + prop-types "^15.7.2" + resolve "^1.18.1" + string.prototype.matchall "^4.0.2" + +eslint-plugin-testing-library@^3.9.2: + version "3.10.1" + resolved "https://registry.npm.taobao.org/eslint-plugin-testing-library/download/eslint-plugin-testing-library-3.10.1.tgz#4dd02306d601c3238fdabf1d1dbc5f2a8e85d531" + integrity sha1-TdAjBtYBwyOP2r8dHbxfKo6F1TE= + dependencies: + "@typescript-eslint/experimental-utils" "^3.10.1" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/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, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha1-If3I+82ceVzAMh8FY3AglXUVEag= + +eslint-webpack-plugin@^2.5.2: + version "2.5.2" + resolved "https://registry.npm.taobao.org/eslint-webpack-plugin/download/eslint-webpack-plugin-2.5.2.tgz#4ee17577d6392bf72048080a1678d6237183db81" + integrity sha1-TuF1d9Y5K/cgSAgKFnjWI3GD24E= + dependencies: + "@types/eslint" "^7.2.6" + arrify "^2.0.1" + jest-worker "^26.6.2" + micromatch "^4.0.2" + schema-utils "^3.0.0" + +eslint@^7.11.0: + version "7.20.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" + integrity sha1-2wfEyk7aLiMW56pXrH/JHsVQvcc= + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.3.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.0" + 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" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.20" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npm.taobao.org/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1607143957865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y= + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.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.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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= + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/estree-walker/download/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I= + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/estree-walker/download/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/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&sync_timestamp=1598517724259&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.2.0" + resolved "https://registry.npm.taobao.org/events/download/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k= + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/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.4" + resolved "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha1-OgGM61JsxvbfK7UEsr/o46STTsU= + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1606970920652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-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@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-4.1.0.tgz?cache=0&sync_timestamp=1606970920652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha1-TlSRrRVy8vF6d9OIxshXE1sihHo= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exenv@^1.2.0: + version "1.2.2" + resolved "https://registry.npm.taobao.org/exenv/download/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/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@^26.6.0, expect@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/expect/download/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha1-xrmWvya/P+GLZ7LQ9R/JgbqTRBc= + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.npm.taobao.org/express/download/express-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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/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-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.5.tgz?cache=0&sync_timestamp=1610876507758&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, fast-json-stable-stringify@^2.1.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, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz?cache=0&sync_timestamp=1595428000133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-levenshtein%2Fdownload%2Ffast-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?cache=0&sync_timestamp=1614183553351&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha1-u5+5VaBxMKkY62PB9RYcwypdCFg= + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + 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" + +fbjs@^0.8.3: + version "0.8.17" + resolved "https://registry.npm.taobao.org/fbjs/download/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +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= + +file-entry-cache@^6.0.0: + version "6.0.1" + resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= + dependencies: + flat-cache "^3.0.4" + +file-loader@6.1.1: + version "6.1.1" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-6.1.1.tgz#a6f29dfb3f5933a1c350b2dbaa20ac5be0539baa" + integrity sha1-pvKd+z9ZM6HDULLbqiCsW+BTm6o= + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.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@6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/filesize/download/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" + integrity sha1-6Bvap4DiRR1xTXHA16TzI403rQA= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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@^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.3.1: + 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-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/find-up/download/find-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.npm.taobao.org/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE= + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-3.1.1.tgz?cache=0&sync_timestamp=1611059419064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk= + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/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" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.13.2" + resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147" + integrity sha1-3XPI7/wScoulz0JZ12DqX7g+MUc= + +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= + +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@4.1.6: + version "4.1.6" + resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-4.1.6.tgz?cache=0&sync_timestamp=1610240843134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" + integrity sha1-UFXHA/6883+gZAXUAMEiuQUWf8U= + dependencies: + "@babel/code-frame" "^7.5.5" + chalk "^2.4.1" + 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.npm.taobao.org/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.0: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1611075656220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-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@^8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1611075656220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-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-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.1.0.tgz?cache=0&sync_timestamp=1611075656220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0= + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.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.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1612536422255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536422255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-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.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko= + dependencies: + globule "^1.0.0" + +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@^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.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-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.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/get-package-type/download/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro= + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +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.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/glob-parent/download/glob-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.1" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: + version "7.1.6" + resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + 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.npm.taobao.org/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#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#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@11.0.1: + version "11.0.1" + resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha1-mivxB6Bo8//qvEmtcCx57ejP01c= + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha1-GvU4t2ajtUDr+1ijKy4tWJcyHYM= + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/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" + +globule@^1.0.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ= + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +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.3, graceful-fs@^4.2.4: + version "4.2.6" + resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4= + +graphql-tag@^2.12.0: + version "2.12.1" + resolved "https://registry.npm.taobao.org/graphql-tag/download/graphql-tag-2.12.1.tgz?cache=0&sync_timestamp=1613154962603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraphql-tag%2Fdownload%2Fgraphql-tag-2.12.1.tgz#b065ef885e4800e4afd0842811b718a205f4aa58" + integrity sha1-sGXviF5IAOSv0IQoEbcYogX0qlg= + dependencies: + tslib "^1.14.1" + +graphql@^15.5.0: + version "15.5.0" + resolved "https://registry.npm.taobao.org/graphql/download/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" + integrity sha1-OdGUlNvmnR6nGZFbV4v5IDRKadU= + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523140245&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" + +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.npm.taobao.org/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.npm.taobao.org/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.1" + resolved "https://registry.npm.taobao.org/harmony-reflect/download/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" + integrity sha1-wQjU8rtFHv73o3hh/b2ucsm976k= + +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-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: + version "1.0.1" + resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.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.0: + 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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.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.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= + +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.npm.taobao.org/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-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha1-QqbcT9M/ACgRduiyN1nKTk+hhfM= + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^1.2.1, html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.npm.taobao.org/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=1613643553561&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= + +html-minifier-terser@^5.0.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/html-minifier-terser/download/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ= + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-webpack-plugin@4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.5.0.tgz?cache=0&sync_timestamp=1613744746759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" + integrity sha1-YlCXZQiGuX6l2uMxwyDjI49sEhw= + dependencies: + "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^3.10.1: + version "3.10.1" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1607394274032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npm.taobao.org/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?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-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?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-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?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-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?cache=0&sync_timestamp=1609540073700&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-parser-js%2Fdownload%2Fhttp-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k= + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.npm.taobao.org/http-proxy/download/http-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.npm.taobao.org/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.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha1-zhPRh1sMOmdL1qBLf3awGxtt7QE= + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&sync_timestamp=1605801266348&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.npm.taobao.org/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.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838364836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-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@^4.0.6: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc= + +immer@8.0.1: + version "8.0.1" + resolved "https://registry.npm.taobao.org/immer/download/immer-8.0.1.tgz?cache=0&sync_timestamp=1611143383267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimmer%2Fdownload%2Fimmer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" + integrity sha1-nHPbaD4rOXXEJPsFcq9YiYd65lY= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-cwd/download/import-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=1608469532269&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, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469532269&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.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/import-local/download/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha1-qM/QQx0d5KIZlwPQA+PmI2T6bbY= + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.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@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-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.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.8.tgz?cache=0&sync_timestamp=1607907810942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fini%2Fdownload%2Fini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/internal-ip/download/internal-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.npm.taobao.org/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" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117404740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-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-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604432327227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.3" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.0.0, is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha1-lwN+89UiJNhRY/VZeytj2a/tmBo= + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.2" + resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + +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-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-docker/download/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha1-QSWojkTkUNOE4JBH7eca3C0UQVY= + +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-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM= + +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#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#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#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-module/download/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123314998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ= + +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-path-cwd@^2.0.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@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +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=1602541485176&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.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-potential-custom-element-name@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-potential-custom-element-name/download/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-regex@^1.0.4, is-regex@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.2.tgz?cache=0&sync_timestamp=1612217359034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha1-gcjr3k2xQvLPHFP8htakV4gmYlE= + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-regexp/download/is-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#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha1-venDJoDW+uBBKdasnZIc54FfeOM= + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + +is-typedarray@^1.0.0, 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-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE= + dependencies: + is-docker "^2.0.0" + +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?cache=0&sync_timestamp=1562592096220&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/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= + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz?cache=0&sync_timestamp=1600844329599&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisomorphic-fetch%2Fdownload%2Fisomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw= + +istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0= + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha1-dRj+UupE3jcvRgp2tezan/tz2KY= + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha1-dXQ85tlruG3H7kNSz2Nmoj8LGtk= + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha1-1ZMhDlAAaDdQywn8BkTktuJ/1Ts= + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-26.6.2.tgz?cache=0&sync_timestamp=1613687401231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha1-9hmEeeHMZvIvmuHiKsqgtCnAQtA= + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + +jest-circus@26.6.0: + version "26.6.0" + resolved "https://registry.npm.taobao.org/jest-circus/download/jest-circus-26.6.0.tgz#7d9647b2e7f921181869faae1f90a2629fd70705" + integrity sha1-fZZHsuf5IRgYafquH5CiYp/XBwU= + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.0" + "@jest/test-result" "^26.6.0" + "@jest/types" "^26.6.0" + "@types/babel__traverse" "^7.0.4" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^26.6.0" + is-generator-fn "^2.0.0" + jest-each "^26.6.0" + jest-matcher-utils "^26.6.0" + jest-message-util "^26.6.0" + jest-runner "^26.6.0" + jest-runtime "^26.6.0" + jest-snapshot "^26.6.0" + jest-util "^26.6.0" + pretty-format "^26.6.0" + stack-utils "^2.0.2" + throat "^5.0.0" + +jest-cli@^26.6.0: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha1-QxF8/vJLxM1pGhdKh5alMuE16So= + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + +jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha1-ZPQURO756wPcUdXFO3XIxx9kU0k= + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + +jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha1-GqdGi1LDpo19XF/c381eSb0WQ5Q= + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-26.0.0.tgz?cache=0&sync_timestamp=1607352701834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-docblock%2Fdownload%2Fjest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha1-Pi+iCJn8koyxO9D/aL03EaNoibU= + dependencies: + detect-newline "^3.0.0" + +jest-each@^26.6.0, jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-26.6.2.tgz?cache=0&sync_timestamp=1613688406031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-each%2Fdownload%2Fjest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha1-AlJkOKd6Z0AcimOC3+WZmVLBZ8s= + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + +jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha1-eNCf6c8BmjVwCbm34fEB0jvR2j4= + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + +jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha1-gk5Mf7SURkY1bxGsdbIpsANfKww= + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-26.3.0.tgz?cache=0&sync_timestamp=1607352755729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-get-type%2Fdownload%2Fjest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha1-6X3Dw/U8K0Bsp6+u1Ek7HQmRmeA= + +jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha1-3X5g/n3A6fkRoj15xf9/tcLK/qo= + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha1-rcPPkV3qy1ISyTufNUfNEpWPLt0= + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + +jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha1-dxfPEYuSI48uumUFTIoMnGU6ka8= + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-matcher-utils@^26.6.0, jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha1-jm/W6GPIstMaxkcu6yN7xZXlPno= + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + +jest-message-util@^26.6.0, jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-26.6.2.tgz?cache=0&sync_timestamp=1613687414172&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha1-WBc3RK1vwFBrXSEVC5vlbvABygc= + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + +jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha1-1stxKwQe1H/g2bb8NHS8ZUP+swI= + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= + +jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-26.0.0.tgz?cache=0&sync_timestamp=1607352728942&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-regex-util%2Fdownload%2Fjest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha1-0l5xhLNuOf1GbDvEG+CXHoIf7ig= + +jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha1-ZoCFnuXSLuXc2WH+SHH1n0x4T7Y= + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + +jest-resolve@26.6.0: + version "26.6.0" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-26.6.0.tgz#070fe7159af87b03e50f52ea5e17ee95bbee40e1" + integrity sha1-Bw/nFZr4ewPlD1LqXhfulbvuQOE= + dependencies: + "@jest/types" "^26.6.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.0" + read-pkg-up "^7.0.1" + resolve "^1.17.0" + slash "^3.0.0" + +jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha1-o6sVFyF/RptQTxtWYDxbtUH7tQc= + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + +jest-runner@^26.6.0, jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha1-LR/tPUbhDyM/0dvTv6o/6JJL4Vk= + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^26.6.0, jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha1-T2TvvPrDmDMbdLSzyC0n1AG4+is= + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + +jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-26.6.2.tgz?cache=0&sync_timestamp=1607352842215&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-serializer%2Fdownload%2Fjest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha1-0Tmq/UaVfTpEjzps2r4pGboHQtE= + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + +jest-snapshot@^26.6.0, jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha1-87CvGssiMxaFC9FOG+6pg3+znIQ= + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + +jest-util@^26.6.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha1-kHU12+TVpstMR6ybkm9q8pV2y8E= + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + +jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha1-I9OAlxWHFQRnNCkRw9e0rFerIOw= + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + +jest-watch-typeahead@0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/jest-watch-typeahead/download/jest-watch-typeahead-0.6.1.tgz#45221b86bb6710b7e97baaa1640ae24a07785e63" + integrity sha1-RSIbhrtnELfpe6qhZAriSgd4XmM= + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.0.0" + jest-regex-util "^26.0.0" + jest-watcher "^26.3.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + +jest-watcher@^26.3.0, jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha1-pbaDuPnWjbyx19rjIXLSzKBZKXU= + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/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-worker@^26.5.0, jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0= + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@26.6.0: + version "26.6.0" + resolved "https://registry.npm.taobao.org/jest/download/jest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" + integrity sha1-VGslodjIiFadu+k8rhMXSAhqSiU= + dependencies: + "@jest/core" "^26.6.0" + import-local "^3.0.2" + jest-cli "^26.6.0" + +js-base64@^2.1.8: + version "2.6.4" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ= + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +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=1609680068452&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.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha1-NgBb3i0Tb3Pu4agwxtReVUCO3ds= + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891242793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891242793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= + +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=1609553741994&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.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +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= + +json3@^3.3.3: + 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.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.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161822397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161822397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +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.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.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/kleur/download/kleur-3.0.3.tgz?cache=0&sync_timestamp=1611347148212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkleur%2Fdownload%2Fkleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + +klona@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz?cache=0&sync_timestamp=1600226608126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fklona%2Fdownload%2Fklona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" + integrity sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A= + +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" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.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.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +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" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-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@2.0.0, loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha1-5MrOW4FtQloWa18JfhDNErNgZLA= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-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._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/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.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/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.5.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.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5, lodash@~4.17.10: + version "4.17.21" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= + +loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606312222145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-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" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1606867384237&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha1-b6I3xj29xKgsoP2ILkci3F5jTig= + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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= + +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE= + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^2.0.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.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" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/mdn-data/download/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1610076659129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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.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.npm.taobao.org/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.2" + resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/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.46.0, "mime-db@>= 1.43.0 < 2": + version "1.46.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha1-Ymd0in95lZTePLyM3pHe80lmHO4= + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.29" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.29.tgz?cache=0&sync_timestamp=1613608475804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha1-HUq3faZLkfX3JInfKSNlY3VLsbI= + dependencies: + mime-db "1.46.0" + +mime@1.6.0: + 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@^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?cache=0&sync_timestamp=1603392178687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-create-react-context%2Fdownload%2Fmini-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.11.3: + version "0.11.3" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.11.3.tgz#15b0910a7f32e62ffde4a7430cfefbd700724ea6" + integrity sha1-FbCRCn8y5i/95KdDDP771wByTqY= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + 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.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE= + dependencies: + minipass "^3.0.0" + 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" + +mkdirp@^0.5.1, mkdirp@^0.5.3, 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?cache=0&sync_timestamp=1604053732604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1604053732604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha1-PrXtYmInVteaXw4qIh3+utdcL34= + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433856030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mutation-observer@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/mutation-observer/download/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0" + integrity sha1-QukiKxAbyoLlup1aes9KFMDyY9A= + +nan@^2.12.1, nan@^2.13.2: + version "2.14.2" + resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591700047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk= + +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.npm.taobao.org/nanoid/download/nanoid-3.1.20.tgz?cache=0&sync_timestamp=1606835818061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha1-utwmPGsdzxS3HvqoX2q0wdbPx4g= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npm.taobao.org/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-url@^0.2.6: + version "0.2.6" + resolved "https://registry.npm.taobao.org/native-url/download/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" + integrity sha1-yhJY9azhaccW/0Tsy922dOEDma4= + dependencies: + querystring "^0.2.0" + +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, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npm.taobao.org/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=1602353679182&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@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/no-case/download/no-case-3.0.4.tgz?cache=0&sync_timestamp=1606867284055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0= + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= + dependencies: + encoding "^0.1.11" + is-stream "^1.0.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#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= + +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-7.1.2.tgz?cache=0&sync_timestamp=1602898478735&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha1-IagQrrsYcSAlHDvOyXmvFYexiK4= + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/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@^8.0.0: + version "8.0.1" + resolved "https://registry.npm.taobao.org/node-notifier/download/node-notifier-8.0.1.tgz?cache=0&sync_timestamp=1608193044844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + integrity sha1-+G6Ju8kl8rBoeEsx84Kv3Gyla+E= + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + +node-releases@^1.1.61, node-releases@^1.1.70: + version "1.1.71" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha1-yxM0sXmJaxyJ7P3UtyX7e738fbs= + +node-sass@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-5.0.0.tgz?cache=0&sync_timestamp=1604150630345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-sass%2Fdownload%2Fnode-sass-5.0.0.tgz#4e8f39fbef3bac8d2dc72ebe3b539711883a78d2" + integrity sha1-To85++87rI0txy6+O1OXEYg6eNI= + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^7.0.3" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^7.1.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/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= + +normalize.css@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/normalize.css/download/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf" + integrity sha1-q/sd2CRwZ04DIrU86xqvQSk45L8= + +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@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= + dependencies: + path-key "^3.0.0" + +npmlog@^4.0.0, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz?cache=0&sync_timestamp=1606860690670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnth-check%2Fdownload%2Fnth-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.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz?cache=0&sync_timestamp=1572824577484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnwsapi%2Fdownload%2Fnwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/object-assign/download/object-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-inspect@^1.8.0, object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.9.0.tgz?cache=0&sync_timestamp=1606804226254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha1-yQUh104RJ7ZyZt7TOUrWEWmGUzo= + +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=1613858420069&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.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/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.1, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115183005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.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: + version "1.1.3" + resolved "https://registry.npm.taobao.org/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.2: + 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: + version "2.1.2" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860232478&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.1: + version "1.1.3" + resolved "https://registry.npm.taobao.org/object.values/download/object.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.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +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@^7.0.2: + version "7.4.2" + resolved "https://registry.npm.taobao.org/open/download/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE= + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optimism@^0.10.0: + version "0.10.3" + resolved "https://registry.npm.taobao.org/optimism/download/optimism-0.10.3.tgz#163268fdc741dea2fb50f300bedda80356445fd7" + integrity sha1-FjJo/cdB3qL7UPMAvt2oA1ZEX9c= + dependencies: + "@wry/context" "^0.4.0" + +optimism@^0.14.0: + version "0.14.0" + resolved "https://registry.npm.taobao.org/optimism/download/optimism-0.14.0.tgz#256fb079a3428585b40a3a8462f907e0abd2fc49" + integrity sha1-JW+weaNChYW0CjqEYvkH4KvS/Ek= + dependencies: + "@wry/context" "^0.5.2" + "@wry/trie" "^0.2.1" + +optimize-css-assets-webpack-plugin@5.0.4: + version "5.0.4" + resolved "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" + integrity sha1-hYg8ZSiqoC4wu62ZCMkpJrtS3JA= + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npm.taobao.org/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" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + 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.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-each-series/download/p-each-series-2.2.0.tgz?cache=0&sync_timestamp=1605737198937&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-each-series%2Fdownload%2Fp-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha1-EFqwNXznKyAqiouUkzZyZXteKpo= + +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-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606288333421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-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.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1606288333421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1606288333421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs= + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +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.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1610208924901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-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@^3.0.3: + version "3.0.4" + resolved "https://registry.npm.taobao.org/param-case/download/param-case-3.0.4.tgz?cache=0&sync_timestamp=1606867311360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU= + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +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.npm.taobao.org/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.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966676829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-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.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966676829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-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.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966676829&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-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@5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= + +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#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/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#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#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo= + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.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#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha1-y4cksPramEWWhW0abrr9NYRlS5Q= + 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.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +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@^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.npm.taobao.org/pinkie-promise/download/pinkie-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.npm.taobao.org/pirates/download/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= + dependencies: + node-modules-regexp "^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@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU= + dependencies: + find-up "^3.0.0" + +pnp-webpack-plugin@1.6.4: + version "1.6.4" + resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk= + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-browser-comments/download/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" + integrity sha1-EkjS2TX7cgU8jh9hqEpXKS2fZek= + dependencies: + postcss "^7" + +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=1609689191682&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.npm.taobao.org/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-color-functional-notation%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz?cache=0&sync_timestamp=1610465161268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-color-hex-alpha%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1613756060579&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1613756061167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz?cache=0&sync_timestamp=1612199037468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-media%2Fdownload%2Fpostcss-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=1610468137243&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=1610469205291&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.npm.taobao.org/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=1613756060984&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=1613756061362&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=1613756061581&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.2.1: + version "4.2.1" + resolved "https://registry.npm.taobao.org/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" + integrity sha1-khimUknzCJfeqxAzrO2FeFYqZpA= + dependencies: + postcss "^7.0.26" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz?cache=0&sync_timestamp=1586839653287&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-focus-visible%2Fdownload%2Fpostcss-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.npm.taobao.org/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.npm.taobao.org/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.2" + resolved "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" + integrity sha1-8BhWNpSzwWro6qvjxYWsYxljey0= + dependencies: + lodash.template "^4.5.0" + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/postcss-load-config/download/postcss-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.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz?cache=0&sync_timestamp=1612277672592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-loader%2Fdownload%2Fpostcss-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=1610466489993&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.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1613756062544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-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#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587625149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A= + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-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&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&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.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz?cache=0&sync_timestamp=1613756062174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-timing-functions%2Fdownload%2Fpostcss-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?cache=0&sync_timestamp=1613756062355&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-unicode%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-whitespace%2Fdownload%2Fpostcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@8.0.1: + version "8.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize/download/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" + integrity sha1-kOgKd2PX/fLaby8Pgr6DLOT2Z3Y= + dependencies: + "@csstools/normalize.css" "^10.1.0" + browserslist "^4.6.2" + postcss "^7.0.17" + postcss-browser-comments "^3.0.0" + sanitize.css "^10.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-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.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-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@5.0.2: + version "5.0.2" + resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-5.0.2.tgz#459dd27df6bc2ba64608824ba39e45dacf5e852d" + integrity sha1-RZ3Sffa8K6ZGCIJLo55F2s9ehS0= + dependencies: + postcss "^8.1.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#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#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.npm.taobao.org/postcss-selector-parser/download/postcss-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.npm.taobao.org/postcss-selector-parser/download/postcss-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.4" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM= + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= + dependencies: + is-svg "^3.0.0" + 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.npm.taobao.org/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: + version "3.3.1" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-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.npm.taobao.org/postcss-value-parser/download/postcss-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.npm.taobao.org/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.21: + version "7.0.21" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha1-BrsHgkwZwgIcXQVtWxDDW5iffhc= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha1-0r4AuZj38hHYonaXQHny6SuXDiQ= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^8.1.0: + version "8.2.6" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" + integrity sha1-XWmpdFQ7Rfh+RkvEw+OSqX1r6f4= + dependencies: + colorette "^1.2.1" + nanoid "^3.1.20" + source-map "^0.6.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +pretty-bytes@^5.3.0: + version "5.6.0" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz?cache=0&sync_timestamp=1613916344909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha1-NWJW9kOAR3PIL2RyP+eMksYr6us= + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/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@^26.0.0, pretty-format@^26.6.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-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#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= + dependencies: + asap "~2.0.3" + +promise@^8.1.0: + version "8.1.0" + resolved "https://registry.npm.taobao.org/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= + dependencies: + asap "~2.0.6" + +prompts@2.4.0, prompts@^2.0.1: + version "2.4.0" + resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" + integrity sha1-SqXeByOiMdHukSHED99mPfc/Ydc= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, 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#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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1610598174727&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1610598174727&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-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.npm.taobao.org/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#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha1-QNd2FbsJ0WkCqFw+OKqLXtdhwt0= + +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.2" + resolved "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" + integrity sha1-q/ZEkebs8POKZQJAPUzaBPNy39M= + +raf@^3.1.0, raf@^3.3.2, 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.npm.taobao.org/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.npm.taobao.org/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@^2.4.0: + version "2.4.5" + resolved "https://registry.npm.taobao.org/rc-align/download/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" + integrity sha1-yUGlhvWdEBfyOkKPC0aGY/txAqs= + dependencies: + babel-runtime "^6.26.0" + dom-align "^1.7.0" + prop-types "^15.5.8" + rc-util "^4.0.4" + +rc-animate@2.x, rc-animate@^2.4.4: + version "2.11.1" + resolved "https://registry.npm.taobao.org/rc-animate/download/rc-animate-2.11.1.tgz?cache=0&sync_timestamp=1601019794109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-animate%2Fdownload%2Frc-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-checkbox@~2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/rc-checkbox/download/rc-checkbox-2.0.3.tgz#436a9d508948e224980f0535ea738b48177a8f25" + integrity sha1-Q2qdUIlI4iSYDwU16nOLSBd6jyU= + dependencies: + babel-runtime "^6.23.0" + classnames "2.x" + prop-types "15.x" + rc-util "^4.0.4" + +rc-collapse@~1.9.1: + version "1.9.3" + resolved "https://registry.npm.taobao.org/rc-collapse/download/rc-collapse-1.9.3.tgz#d9741db06a823353e1fd1aec3ba4c0f9d8af4b26" + integrity sha1-2XQdsGqCM1Ph/RrsO6TA+divSyY= + dependencies: + classnames "2.x" + css-animation "1.x" + prop-types "^15.5.6" + rc-animate "2.x" + +rc-gesture@~0.0.18, rc-gesture@~0.0.22: + version "0.0.22" + resolved "https://registry.npm.taobao.org/rc-gesture/download/rc-gesture-0.0.22.tgz#fbcbdd5b46387a978b3ede48b42748e8ff77dddd" + integrity sha1-+8vdW0Y4epeLPt5ItCdI6P933d0= + dependencies: + babel-runtime "6.x" + +rc-slider@~8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/rc-slider/download/rc-slider-8.2.0.tgz#ae37d17144cad60e1da6eac0ee4ffcfea0b0a6e8" + integrity sha1-rjfRcUTK1g4dpurA7k/8/qCwpug= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + prop-types "^15.5.4" + rc-tooltip "^3.4.2" + rc-util "^4.0.4" + shallowequal "^1.0.1" + warning "^3.0.0" + +rc-swipeout@~2.0.0: + version "2.0.11" + resolved "https://registry.npm.taobao.org/rc-swipeout/download/rc-swipeout-2.0.11.tgz#dfad9c7b38a15ea0376e39cb3356e36fed7a4155" + integrity sha1-362cezihXqA3bjnLM1bjb+16QVU= + dependencies: + babel-runtime "6.x" + classnames "2.x" + rc-gesture "~0.0.22" + react-native-swipeout "^2.2.2" + +rc-tooltip@^3.4.2: + version "3.7.3" + resolved "https://registry.npm.taobao.org/rc-tooltip/download/rc-tooltip-3.7.3.tgz?cache=0&sync_timestamp=1610619159961&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-tooltip%2Fdownload%2Frc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" + integrity sha1-KArsavyqROjf8EgPuv+eh/wArsw= + dependencies: + babel-runtime "6.x" + prop-types "^15.5.8" + rc-trigger "^2.2.2" + +rc-trigger@^2.2.2: + version "2.6.5" + resolved "https://registry.npm.taobao.org/rc-trigger/download/rc-trigger-2.6.5.tgz?cache=0&sync_timestamp=1614070542951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frc-trigger%2Fdownload%2Frc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" + integrity sha1-FAqFfPKL0PoBua7LHialCnAOmIU= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + prop-types "15.x" + rc-align "^2.4.0" + rc-animate "2.x" + rc-util "^4.4.0" + react-lifecycles-compat "^3.0.4" + +rc-util@4.x, rc-util@^4.0.4, rc-util@^4.15.3, rc-util@^4.4.0: + version "4.21.1" + resolved "https://registry.npm.taobao.org/rc-util/download/rc-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" + +react-app-polyfill@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/react-app-polyfill/download/react-app-polyfill-2.0.0.tgz?cache=0&sync_timestamp=1603465145035&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-app-polyfill%2Fdownload%2Freact-app-polyfill-2.0.0.tgz#a0bea50f078b8a082970a9d853dc34b6dcc6a3cf" + integrity sha1-oL6lDweLiggpcKnYU9w0ttzGo88= + dependencies: + core-js "^3.6.5" + object-assign "^4.1.1" + promise "^8.1.0" + raf "^3.4.1" + regenerator-runtime "^0.13.7" + whatwg-fetch "^3.4.1" + +react-dev-utils@^11.0.3: + version "11.0.3" + resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-11.0.3.tgz?cache=0&sync_timestamp=1614018571884&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-11.0.3.tgz#b61ed499c7d74f447d4faddcc547e5e671e97c08" + integrity sha1-th7UmcfXT0R9T63cxUfl5nHpfAg= + dependencies: + "@babel/code-frame" "7.10.4" + address "1.1.2" + browserslist "4.14.2" + chalk "2.4.2" + cross-spawn "7.0.3" + detect-port-alt "1.1.6" + escape-string-regexp "2.0.0" + filesize "6.1.0" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "4.1.6" + global-modules "2.0.0" + globby "11.0.1" + gzip-size "5.1.1" + immer "8.0.1" + is-root "2.1.0" + loader-utils "2.0.0" + open "^7.0.2" + pkg-up "3.1.0" + prompts "2.4.0" + react-error-overlay "^6.0.9" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + strip-ansi "6.0.0" + text-table "0.2.0" + +react-dom@^17.0.1: + version "17.0.1" + resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-17.0.1.tgz?cache=0&sync_timestamp=1614184409378&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dom%2Fdownload%2Freact-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" + integrity sha1-HeJWBHTsnw4zQoVmLt5S28VCb8Y= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.1" + +react-error-overlay@^6.0.9: + version "6.0.9" + resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" + integrity sha1-PHQwEMk1lgjDdezWvHbzXZOZWwo= + +react-infinite-scroller@^1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/react-infinite-scroller/download/react-infinite-scroller-1.2.4.tgz#f67eaec4940a4ce6417bebdd6e3433bfc38826e9" + integrity sha1-9n6uxJQKTOZBe+vdbjQzv8OIJuk= + dependencies: + prop-types "^15.5.8" + +react-is@^16.12.0, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.npm.taobao.org/react-is/download/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha1-WzUxvXamRaTJ+25pPtNkGeMwEzk= + +react-lifecycles-compat@^3.0.0, 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#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-modal@^3.12.1: + version "3.12.1" + resolved "https://registry.npm.taobao.org/react-modal/download/react-modal-3.12.1.tgz#38c33f70d81c33d02ff1ed115530443a3dc2afd3" + integrity sha1-OMM/cNgcM9Av8e0RVTBEOj3Cr9M= + dependencies: + exenv "^1.2.0" + prop-types "^15.5.10" + react-lifecycles-compat "^3.0.0" + warning "^4.0.3" + +react-native-swipeout@^2.2.2: + version "2.3.6" + resolved "https://registry.npm.taobao.org/react-native-swipeout/download/react-native-swipeout-2.3.6.tgz#47dac8a835825cf3f2eef9e495574a3d9ab6d3fa" + integrity sha1-R9rIqDWCXPPy7vnklVdKPZq20/o= + dependencies: + create-react-class "^15.6.0" + prop-types "^15.5.10" + react-tween-state "^0.1.5" + +react-refresh@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/react-refresh/download/react-refresh-0.8.3.tgz?cache=0&sync_timestamp=1614183930570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-refresh%2Fdownload%2Freact-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" + integrity sha1-ch1GV2ctQAxePHXQY8SoX7LV1o8= + +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/react-router-dom/download/react-router-dom-5.2.0.tgz?cache=0&sync_timestamp=1592608787345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-router-dom%2Fdownload%2Freact-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@4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/react-scripts/download/react-scripts-4.0.3.tgz?cache=0&sync_timestamp=1614018572465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-scripts%2Fdownload%2Freact-scripts-4.0.3.tgz#b1cafed7c3fa603e7628ba0f187787964cb5d345" + integrity sha1-scr+18P6YD52KLoPGHeHlky100U= + dependencies: + "@babel/core" "7.12.3" + "@pmmmwh/react-refresh-webpack-plugin" "0.4.3" + "@svgr/webpack" "5.5.0" + "@typescript-eslint/eslint-plugin" "^4.5.0" + "@typescript-eslint/parser" "^4.5.0" + babel-eslint "^10.1.0" + babel-jest "^26.6.0" + babel-loader "8.1.0" + babel-plugin-named-asset-import "^0.3.7" + babel-preset-react-app "^10.0.0" + bfj "^7.0.2" + camelcase "^6.1.0" + case-sensitive-paths-webpack-plugin "2.3.0" + css-loader "4.3.0" + dotenv "8.2.0" + dotenv-expand "5.1.0" + eslint "^7.11.0" + eslint-config-react-app "^6.0.0" + eslint-plugin-flowtype "^5.2.0" + eslint-plugin-import "^2.22.1" + eslint-plugin-jest "^24.1.0" + eslint-plugin-jsx-a11y "^6.3.1" + eslint-plugin-react "^7.21.5" + eslint-plugin-react-hooks "^4.2.0" + eslint-plugin-testing-library "^3.9.2" + eslint-webpack-plugin "^2.5.2" + file-loader "6.1.1" + fs-extra "^9.0.1" + html-webpack-plugin "4.5.0" + identity-obj-proxy "3.0.0" + jest "26.6.0" + jest-circus "26.6.0" + jest-resolve "26.6.0" + jest-watch-typeahead "0.6.1" + mini-css-extract-plugin "0.11.3" + optimize-css-assets-webpack-plugin "5.0.4" + pnp-webpack-plugin "1.6.4" + postcss-flexbugs-fixes "4.2.1" + postcss-loader "3.0.0" + postcss-normalize "8.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "5.0.2" + prompts "2.4.0" + react-app-polyfill "^2.0.0" + react-dev-utils "^11.0.3" + react-refresh "^0.8.3" + resolve "1.18.1" + resolve-url-loader "^3.1.2" + sass-loader "^10.0.5" + semver "7.3.2" + style-loader "1.3.0" + terser-webpack-plugin "4.2.3" + ts-pnp "1.2.0" + url-loader "4.1.1" + webpack "4.44.2" + webpack-dev-server "3.11.1" + webpack-manifest-plugin "2.2.0" + workbox-webpack-plugin "5.1.4" + optionalDependencies: + fsevents "^2.1.3" + +react-tween-state@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/react-tween-state/download/react-tween-state-0.1.5.tgz#e98b066551efb93cb92dd1be14995c2e3deae339" + integrity sha1-6YsGZVHvuTy5LdG+FJlcLj3q4zk= + dependencies: + raf "^3.1.0" + tween-functions "^1.0.1" + +react@^17.0.1: + version "17.0.1" + resolved "https://registry.npm.taobao.org/react/download/react-17.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact%2Fdownload%2Freact-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" + integrity sha1-bgYAQWvVdXTj+G2S7bo9kAhyYSc= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&sync_timestamp=1609905367026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +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#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc= + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.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@^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.0.6, 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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4= + dependencies: + picomatch "^2.2.1" + +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@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/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#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: + version "0.13.7" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557271381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-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.npm.taobao.org/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.11: + version "2.2.11" + resolved "https://registry.npm.taobao.org/regex-parser/download/regex-parser-2.2.11.tgz?cache=0&sync_timestamp=1596989552822&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregex-parser%2Fdownload%2Fregex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + integrity sha1-OzfskEnhlHmAboeMq+fByoPM/lg= + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725698415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/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#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.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&sync_timestamp=1590335923060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.6.4: + version "0.6.7" + resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.7.tgz#c00164e1e6713c2e3ee641f1701c4b7aa0a7f86c" + integrity sha1-wAFk4eZxPC4+5kHxcBxLeqCn+Gw= + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + 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.npm.taobao.org/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=1609588551795&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.3" + resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + +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= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/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.8: + version "1.0.9" + resolved "https://registry.npm.taobao.org/request-promise-native/download/request-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.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= + +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= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha1-DwB18bslRHZs9zumpuKt/ryxPy0= + dependencies: + resolve-from "^5.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-pathname/download/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0= + +resolve-url-loader@^3.1.2: + version "3.1.2" + resolved "https://registry.npm.taobao.org/resolve-url-loader/download/resolve-url-loader-3.1.2.tgz?cache=0&sync_timestamp=1603188581258&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url-loader%2Fdownload%2Fresolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" + integrity sha1-I14sKOIuPkMrp6XU4wXFmljt/Ag= + dependencies: + adjust-sourcemap-loader "3.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.21" + 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.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz?cache=0&sync_timestamp=1585438700247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve-url%2Fdownload%2Fresolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.18.1: + version "1.18.1" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha1-AY/LLFsgfSpkJK7jYcWiZtqPQTA= + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1: + version "1.20.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +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= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-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.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rmc-align@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rmc-align/download/rmc-align-1.0.0.tgz#8d64ab484609a041ab424506012a15b7c5b933dd" + integrity sha1-jWSrSEYJoEGrQkUGASoVt8W5M90= + dependencies: + babel-runtime "6.x" + dom-align "1.x" + rc-util "4.x" + +rmc-calendar@^1.0.0: + version "1.1.4" + resolved "https://registry.npm.taobao.org/rmc-calendar/download/rmc-calendar-1.1.4.tgz#7db4990087877cd49a7772f4524d33b8016d3bd2" + integrity sha1-fbSZAIeHfNSad3L0Uk0zuAFtO9I= + dependencies: + babel-runtime "^6.26.0" + rc-animate "^2.4.4" + rmc-date-picker "^6.0.8" + +rmc-cascader@~5.0.0: + version "5.0.3" + resolved "https://registry.npm.taobao.org/rmc-cascader/download/rmc-cascader-5.0.3.tgz#c605b1eac6613e4c54aa6aed2cbae7f9c5a8c65f" + integrity sha1-xgWx6sZhPkxUqmrtLLrn+cWoxl8= + dependencies: + array-tree-filter "2.1.x" + babel-runtime "6.x" + rmc-picker "~5.0.0" + +rmc-date-picker@^6.0.8: + version "6.0.10" + resolved "https://registry.npm.taobao.org/rmc-date-picker/download/rmc-date-picker-6.0.10.tgz#34dc7dfd424248be2d43527421576247c31583f6" + integrity sha1-NNx9/UJCSL4tQ1J0IVdiR8MVg/Y= + dependencies: + babel-runtime "6.x" + rmc-picker "~5.0.0" + +rmc-dialog@^1.0.1, rmc-dialog@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/rmc-dialog/download/rmc-dialog-1.1.1.tgz#1d7fbc6b2cad5b0b53fbab71fe29636d76f78217" + integrity sha1-HX+8ayytWwtT+6tx/iljbXb3ghc= + dependencies: + babel-runtime "6.x" + rc-animate "2.x" + +rmc-drawer@^0.4.11: + version "0.4.11" + resolved "https://registry.npm.taobao.org/rmc-drawer/download/rmc-drawer-0.4.11.tgz#9a8c6125a4ccd37b916f32f7e8b477d11d413ee3" + integrity sha1-moxhJaTM03uRbzL36LR30R1BPuM= + dependencies: + babel-runtime "6.x" + classnames "^2.2.4" + prop-types "^15.5.10" + +rmc-feedback@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/rmc-feedback/download/rmc-feedback-2.0.0.tgz#cbc6cb3ae63c7a635eef0e25e4fbaf5ac366eeaa" + integrity sha1-y8bLOuY8emNe7w4l5PuvWsNm7qo= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + +rmc-input-number@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/rmc-input-number/download/rmc-input-number-1.0.5.tgz#42e02a27b0c3c366be9ff0ce19d818b71e406f8f" + integrity sha1-QuAqJ7DDw2a+n/DOGdgYtx5Ab48= + dependencies: + babel-runtime "6.x" + classnames "^2.2.0" + rmc-feedback "^2.0.0" + +rmc-list-view@^0.11.0: + version "0.11.5" + resolved "https://registry.npm.taobao.org/rmc-list-view/download/rmc-list-view-0.11.5.tgz#8e152a5dbec6aec45a8ccd1f33cb8ef140b93a1e" + integrity sha1-jhUqXb7GrsRajM0fM8uO8UC5Oh4= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + fbjs "^0.8.3" + prop-types "^15.5.8" + warning "^3.0.0" + zscroller "~0.4.0" + +rmc-notification@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rmc-notification/download/rmc-notification-1.0.0.tgz#1fcee98f99b9733f7ce63a91d7663a578743d075" + integrity sha1-H87pj5m5cz985jqR12Y6V4dD0HU= + dependencies: + babel-runtime "6.x" + classnames "2.x" + prop-types "^15.5.8" + rc-animate "2.x" + rc-util "^4.0.4" + +rmc-nuka-carousel@~3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/rmc-nuka-carousel/download/rmc-nuka-carousel-3.0.1.tgz#a2a997676b0f986354976dac39ec66d8701b4b71" + integrity sha1-oqmXZ2sPmGNUl22sOexm2HAbS3E= + dependencies: + exenv "^1.2.0" + raf "^3.3.2" + +rmc-picker@~5.0.0: + version "5.0.10" + resolved "https://registry.npm.taobao.org/rmc-picker/download/rmc-picker-5.0.10.tgz#9ca0acf45ad2c8afe9015a103a898436d825e18f" + integrity sha1-nKCs9FrSyK/pAVoQOomENtgl4Y8= + dependencies: + babel-runtime "6.x" + classnames "^2.2.6" + rmc-dialog "^1.1.1" + rmc-feedback "^2.0.0" + +rmc-pull-to-refresh@~1.0.1: + version "1.0.13" + resolved "https://registry.npm.taobao.org/rmc-pull-to-refresh/download/rmc-pull-to-refresh-1.0.13.tgz#8fc1bd36c9b09fcd50e8d8632f556b6a8462ef1a" + integrity sha1-j8G9Nsmwn81Q6NhjL1VraoRi7xo= + dependencies: + babel-runtime "6.x" + classnames "^2.2.5" + +rmc-steps@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rmc-steps/download/rmc-steps-1.0.1.tgz#b63a0f1ddd2826d03b1bcec85963077255e8f798" + integrity sha1-tjoPHd0oJtA7G87IWWMHclXo95g= + dependencies: + babel-runtime "^6.23.0" + classnames "^2.2.3" + +rmc-tabs@~1.2.0: + version "1.2.29" + resolved "https://registry.npm.taobao.org/rmc-tabs/download/rmc-tabs-1.2.29.tgz#dd2191525debbf8521e85aeb6d97670f652e4c83" + integrity sha1-3SGRUl3rv4Uh6FrrbZdnD2UuTIM= + dependencies: + babel-runtime "6.x" + rc-gesture "~0.0.18" + +rmc-tooltip@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rmc-tooltip/download/rmc-tooltip-1.0.1.tgz#5af16a3e8f764fa26d2b11932975bd88b1d848d2" + integrity sha1-WvFqPo92T6JtKxGTKXW9iLHYSNI= + dependencies: + babel-runtime "6.x" + rmc-trigger "1.x" + +rmc-trigger@1.x: + version "1.0.12" + resolved "https://registry.npm.taobao.org/rmc-trigger/download/rmc-trigger-1.0.12.tgz#34df10a16f1fc8f9e8b14d13d58cabe294ab7488" + integrity sha1-NN8QoW8fyPnosU0T1Yyr4pSrdIg= + dependencies: + babel-runtime "6.x" + rc-animate "2.x" + rc-util "4.x" + rmc-align "~1.0.0" + +rollup-plugin-babel@^4.3.3: + version "4.4.0" + resolved "https://registry.npm.taobao.org/rollup-plugin-babel/download/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" + integrity sha1-0VvSWUZqnRrMvbL+L/8XxS0DCss= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.8.1" + +rollup-plugin-terser@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/rollup-plugin-terser/download/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha1-jGUAYsIqhCbGQmhUiVdGO/mBtBM= + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" + +rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4= + dependencies: + estree-walker "^0.6.1" + +rollup@^1.31.1: + version "1.32.1" + resolved "https://registry.npm.taobao.org/rollup/download/rollup-1.32.1.tgz?cache=0&sync_timestamp=1614059480514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frollup%2Fdownload%2Frollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha1-RIDlLZ2eKuS0a6DZ3erzFjlA+cQ= + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npm.taobao.org/run-parallel/download/run-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" + +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#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#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/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.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.npm.taobao.org/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" + +sanitize.css@^10.0.0: + version "10.0.0" + resolved "https://registry.npm.taobao.org/sanitize.css/download/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" + integrity sha1-tcslR+lthimmCUdURmUkOx3DZXo= + +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug= + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + +sass-loader@^10.0.5: + version "10.1.1" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" + integrity sha1-Td1aPXY455SQZd1unHwEA39+Zj0= + dependencies: + klona "^2.0.4" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + semver "^7.3.2" + +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@^5.0.0: + version "5.0.1" + resolved "https://registry.npm.taobao.org/saxes/download/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha1-7rq5U/o7dgjb6U5drbFciI+maW0= + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.20.1: + version "0.20.1" + resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" + integrity sha1-2guQfiQCawEYHsvHXv3H8ntaAAw= + 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.6.5, schema-utils@^2.7.0, schema-utils@^2.7.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" + +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8= + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.8: + version "1.10.8" + resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186291720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA= + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1606854311104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1606854311104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@7.3.2: + version "7.3.2" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1606854311104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg= + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1606854311104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@^7.2.1, semver@^7.3.2: + version "7.3.4" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1606854311104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc= + 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@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npm.taobao.org/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#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, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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, setimmediate@^1.0.5: + 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" + +shallowequal@^1.0.1, 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.npm.taobao.org/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#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/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@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.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.npm.taobao.org/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.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add" + integrity sha1-L4/11LZZ4NCS96ugt8OGvSqiCt0= + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.4.7" + +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc= + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1609311065520&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-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.npm.taobao.org/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-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha1-PZ34fiNrU/FtAeWBUPx3EROOXtI= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: + version "0.5.19" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612210508484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-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.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.7.3, source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= + +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.npm.taobao.org/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha1-6oBL2UhXQC5pktBaOO8a41qatMQ= + +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.npm.taobao.org/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?cache=0&sync_timestamp=1589682217985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-expression-parse%2Fdownload%2Fspdx-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.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz?cache=0&sync_timestamp=1606610760991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-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.2: + 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.npm.taobao.org/sprintf-js/download/sprintf-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.1" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.0: + version "8.0.1" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8= + dependencies: + 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@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/stack-utils/download/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" + integrity sha1-zV8DASb/EWt4zLPAJ/4wJxO2Enc= + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha1-UkKUktY8YuuYmATBFVLj0i53kwM= + +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?cache=0&sync_timestamp=1609654066899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4= + dependencies: + readable-stream "^2.0.1" + +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#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-length@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/string-length/download/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha1-Spc78x73fE7bzq3WryYRmWmF+KE= + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/string-natural-compare/download/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha1-ekLVhHRFSWN1no6LeuY9ccHn/fQ= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/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@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.matchall@^4.0.2: + version "4.0.4" + resolved "https://registry.npm.taobao.org/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.1, string.prototype.trimend@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.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.1, string.prototype.trimstart@^1.0.3: + 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=1614127318238&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@6.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#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.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#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#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.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#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha1-nDUFwdtFvO3KPZz3oW9cWqOQGHg= + +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.npm.taobao.org/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.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.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.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" + integrity sha1-gotKOzt+eqWEfOe66eh0USEUJJ4= + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&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=1611394043517&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=1611394023277&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=1611394023277&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.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=1611394023277&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" + +supports-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/supports-hyperlinks/download/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha1-9mPfJSr183xdSbvX7u+p4Lnlnkc= + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +svg-parser@^2.0.2: + 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.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1614120628060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-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.2: + version "1.2.0" + resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz?cache=0&sync_timestamp=1604338205051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= + +symbol-observable@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-2.0.3.tgz?cache=0&sync_timestamp=1604338205051&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" + integrity sha1-W1IdPQekPDUQVfpDuDVbYtM/0Wo= + +symbol-tree@^3.2.4: + 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@^6.0.4: + version "6.0.7" + resolved "https://registry.npm.taobao.org/table/download/table-6.0.7.tgz?cache=0&sync_timestamp=1609732758667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha1-5FiX/7zBvPnoqHv0IPLJ5aelKjQ= + dependencies: + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1607088824436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +tar@^6.0.2: + version "6.1.0" + resolved "https://registry.npm.taobao.org/tar/download/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" + integrity sha1-0XJOm8wEuXexjVxXOzM6IgcimoM= + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/temp-dir/download/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + +tempy@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/tempy/download/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" + integrity sha1-b2xbKVaVoWEwmWrVqwGovXJui/g= + dependencies: + temp-dir "^1.0.0" + type-fest "^0.3.1" + unique-string "^1.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/terminal-link/download/terminal-link-2.1.1.tgz?cache=0&sync_timestamp=1609887924698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterminal-link%2Fdownload%2Fterminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha1-FKZKJ6s8Dfkz6lRvulXy0HjtyZQ= + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@4.2.3: + version "4.2.3" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-4.2.3.tgz?cache=0&sync_timestamp=1610194172880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" + integrity sha1-KNrvSoO9F8HbApcHCtwH/Iz8apo= + dependencies: + cacache "^15.0.5" + find-cache-dir "^3.3.1" + jest-worker "^26.5.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + source-map "^0.6.1" + terser "^5.3.4" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1610194172880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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, terser@^4.6.2, terser@^4.6.3: + version "4.8.0" + resolved "https://registry.npm.taobao.org/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" + +terser@^5.3.4: + version "5.6.0" + resolved "https://registry.npm.taobao.org/terser/download/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" + integrity sha1-E4zfIcXjEAsbPd/d9yCWL4i63NI= + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha1-BKhphmHYBepvopO2y55jrARO8V4= + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/throat/download/throat-5.0.0.tgz?cache=0&sync_timestamp=1611176753918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthroat%2Fdownload%2Fthroat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha1-xRmSNYA6rRh1SmZ9ZZtecs4Wdks= + +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" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793743551&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-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.npm.taobao.org/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.npm.taobao.org/tiny-warning/download/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q= + +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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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" + +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.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha1-nfT1fnOcJpMKAYGEiH9K233Kc7I= + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/tr46/download/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha1-Ayc1ht7xWVrgj+2zjXczzukdJHk= + dependencies: + punycode "^2.1.1" + +transitionEnd@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/transitionEnd/download/transitionEnd-1.0.2.tgz#1914db5b45a7efdc34a01af69285a3a693871633" + integrity sha1-GRTbW0Wn79w0oBr2koWjppOHFjM= + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0= + dependencies: + glob "^7.1.2" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= + +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://registry.npm.taobao.org/ts-invariant/download/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha1-l6UjUYaI+TqvrQGw6A64A+sqvYY= + dependencies: + tslib "^1.9.3" + +ts-invariant@^0.6.0: + version "0.6.1" + resolved "https://registry.npm.taobao.org/ts-invariant/download/ts-invariant-0.6.1.tgz#eb4c52b45daaca8367abbfd6cff998ea871d592d" + integrity sha1-60xStF2qyoNnq7/Wz/mY6ocdWS0= + dependencies: + "@types/ungap__global-this" "^0.3.1" + "@ungap/global-this" "^0.4.2" + tslib "^1.9.3" + +ts-pnp@1.2.0, ts-pnp@^1.1.6: + 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.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz?cache=0&sync_timestamp=1606090519879&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsconfig-paths%2Fdownload%2Ftsconfig-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.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1609887512458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tslib@^2.0.3: + version "2.1.0" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.1.0.tgz?cache=0&sync_timestamp=1609887512458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo= + +tsutils@^3.17.1: + version "3.20.0" + resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" + integrity sha1-6gPqRUYuFGtT1wzgiT3kU/8k9pg= + 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.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tween-functions@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/tween-functions/download/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" + integrity sha1-GuOlDnxguz3vd06scHrLynO7w/8= + +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.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npm.taobao.org/type-detect/download/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw= + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1614017094998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= + +type-fest@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz?cache=0&sync_timestamp=1614017094998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1614017094998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1614017094998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-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.npm.taobao.org/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#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.3.0.tgz#ada7c045f07ead08abf9e2edd29be1a0c0661132" + integrity sha1-rafARfB+rQir+eLt0pvhoMBmETI= + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npm.taobao.org/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= + dependencies: + is-typedarray "^1.0.0" + +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= + +ua-parser-js@^0.7.18: + version "0.7.24" + resolved "https://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.24.tgz#8d3ecea46ed4f1f1d63ec25f17d8568105dc027c" + integrity sha1-jT7OpG7U8fHWPsJfF9hWgQXcAnw= + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/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.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= + +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.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/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, upath@^1.1.2, upath@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768535464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +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=1610237756396&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.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha1-KFBekFyuFYzwfJLKYi1/I35wpOI= + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.4.3, url-parse@^1.4.7: + version "1.5.1" + resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz?cache=0&sync_timestamp=1613659753482&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.npm.taobao.org/url/download/url-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.npm.taobao.org/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.npm.taobao.org/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=1610159819836&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.0.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159819836&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.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460077975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-8.3.2.tgz?cache=0&sync_timestamp=1607460077975&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha1-gNW1ztJxu5r2xEXyGhoExgbO++I= + +v8-compile-cache@^2.0.3: + version "2.2.0" + resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.2.0.tgz?cache=0&sync_timestamp=1603909625582&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha1-lHHvo++RKNL3xqfKOcTda1BVsTI= + +v8-to-istanbul@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/v8-to-istanbul/download/v8-to-istanbul-7.1.0.tgz?cache=0&sync_timestamp=1608597950522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-to-istanbul%2Fdownload%2Fv8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" + integrity sha1-W5XO9FwPgyF+x5+Px+4ci0hq7gc= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/value-equal/download/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw= + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vconsole@^3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/vconsole/download/vconsole-3.4.0.tgz#2cf2ffaa86cd7ab736997a22b63d05627c6ab567" + integrity sha1-LPL/qobNerc2mXoitj0FYnxqtWc= + dependencies: + mutation-observer "^1.0.3" + transitionEnd "^1.0.2" + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha1-PnEEoFt1FGzGD1ZDgLf2g6zxAgo= + dependencies: + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/warning/download/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= + dependencies: + loose-envify "^1.0.0" + +warning@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/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.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989128919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz?cache=0&sync_timestamp=1612715822561&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" + +web-vitals@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/web-vitals/download/web-vitals-1.1.0.tgz#7f410d9a1f7a1cd5d952806b45776204b47dc274" + integrity sha1-f0ENmh96HNXZUoBrRXdiBLR9wnQ= + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha1-rlnIoAsSFUOirMZcBDT1ew/BGv8= + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha1-kRG01+qArNQPUnDWZmIa+ni2lRQ= + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1610718915176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-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.11.1: + version "3.11.1" + resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.11.1.tgz?cache=0&sync_timestamp=1610550002396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.1.tgz#c74028bf5ba8885aaf230e48a20e8936ab8511f0" + integrity sha1-x0Aov1uoiFqvIw5Iog6JNquFEfA= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.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#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/webpack-manifest-plugin/download/webpack-manifest-plugin-2.2.0.tgz?cache=0&sync_timestamp=1606923555411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-manifest-plugin%2Fdownload%2Fwebpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" + integrity sha1-GcpptDWwuux+KfvpD7QBXeLeTxY= + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" + +webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965301737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-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.44.2: + version "4.44.2" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.44.2.tgz?cache=0&sync_timestamp=1614198308254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha1-a/4rCvBVyLLR6Q7SzZNj+EEma3I= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.3.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.3" + 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.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npm.taobao.org/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.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@>=0.10.0, whatwg-fetch@^3.4.1: + version "3.6.1" + resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.6.1.tgz?cache=0&sync_timestamp=1613670531545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-fetch%2Fdownload%2Fwhatwg-fetch-3.6.1.tgz#93bc4005af6c2cc30ba3e42ec3125947c8f54ed3" + integrity sha1-k7xABa9sLMMLo+QuwxJZR8j1TtM= + +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@^8.0.0: + version "8.4.0" + resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha1-UPuWFbBUaVkdKyvW367SlC7XKDc= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +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.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +workbox-background-sync@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-5.1.4.tgz?cache=0&sync_timestamp=1614022117142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-background-sync%2Fdownload%2Fworkbox-background-sync-5.1.4.tgz#5ae0bbd455f4e9c319e8d827c055bb86c894fd12" + integrity sha1-WuC71FX06cMZ6NgnwFW7hsiU/RI= + dependencies: + workbox-core "^5.1.4" + +workbox-broadcast-update@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-5.1.4.tgz?cache=0&sync_timestamp=1614022118242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-broadcast-update%2Fdownload%2Fworkbox-broadcast-update-5.1.4.tgz#0eeb89170ddca7f6914fa3523fb14462891f2cfc" + integrity sha1-DuuJFw3cp/aRT6NSP7FEYokfLPw= + dependencies: + workbox-core "^5.1.4" + +workbox-build@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-build/download/workbox-build-5.1.4.tgz?cache=0&sync_timestamp=1614022118868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-build%2Fdownload%2Fworkbox-build-5.1.4.tgz#23d17ed5c32060c363030c8823b39d0eabf4c8c7" + integrity sha1-I9F+1cMgYMNjAwyII7OdDqv0yMc= + dependencies: + "@babel/core" "^7.8.4" + "@babel/preset-env" "^7.8.4" + "@babel/runtime" "^7.8.4" + "@hapi/joi" "^15.1.0" + "@rollup/plugin-node-resolve" "^7.1.1" + "@rollup/plugin-replace" "^2.3.1" + "@surma/rollup-plugin-off-main-thread" "^1.1.1" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^8.1.0" + glob "^7.1.6" + lodash.template "^4.5.0" + pretty-bytes "^5.3.0" + rollup "^1.31.1" + rollup-plugin-babel "^4.3.3" + rollup-plugin-terser "^5.3.1" + source-map "^0.7.3" + source-map-url "^0.4.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + tempy "^0.3.0" + upath "^1.2.0" + workbox-background-sync "^5.1.4" + workbox-broadcast-update "^5.1.4" + workbox-cacheable-response "^5.1.4" + workbox-core "^5.1.4" + workbox-expiration "^5.1.4" + workbox-google-analytics "^5.1.4" + workbox-navigation-preload "^5.1.4" + workbox-precaching "^5.1.4" + workbox-range-requests "^5.1.4" + workbox-routing "^5.1.4" + workbox-strategies "^5.1.4" + workbox-streams "^5.1.4" + workbox-sw "^5.1.4" + workbox-window "^5.1.4" + +workbox-cacheable-response@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-5.1.4.tgz?cache=0&sync_timestamp=1614022116964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-cacheable-response%2Fdownload%2Fworkbox-cacheable-response-5.1.4.tgz#9ff26e1366214bdd05cf5a43da9305b274078a54" + integrity sha1-n/JuE2YhS90Fz1pD2pMFsnQHilQ= + dependencies: + workbox-core "^5.1.4" + +workbox-core@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-core/download/workbox-core-5.1.4.tgz?cache=0&sync_timestamp=1614022116649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-core%2Fdownload%2Fworkbox-core-5.1.4.tgz#8bbfb2362ecdff30e25d123c82c79ac65d9264f4" + integrity sha1-i7+yNi7N/zDiXRI8gseaxl2SZPQ= + +workbox-expiration@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-5.1.4.tgz?cache=0&sync_timestamp=1614022116792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-expiration%2Fdownload%2Fworkbox-expiration-5.1.4.tgz#92b5df461e8126114943a3b15c55e4ecb920b163" + integrity sha1-krXfRh6BJhFJQ6OxXFXk7LkgsWM= + dependencies: + workbox-core "^5.1.4" + +workbox-google-analytics@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-5.1.4.tgz?cache=0&sync_timestamp=1614022117307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-google-analytics%2Fdownload%2Fworkbox-google-analytics-5.1.4.tgz#b3376806b1ac7d7df8418304d379707195fa8517" + integrity sha1-szdoBrGsfX34QYME03lwcZX6hRc= + dependencies: + workbox-background-sync "^5.1.4" + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + workbox-strategies "^5.1.4" + +workbox-navigation-preload@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-5.1.4.tgz?cache=0&sync_timestamp=1614022117960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-navigation-preload%2Fdownload%2Fworkbox-navigation-preload-5.1.4.tgz#30d1b720d26a05efc5fa11503e5cc1ed5a78902a" + integrity sha1-MNG3INJqBe/F+hFQPlzB7Vp4kCo= + dependencies: + workbox-core "^5.1.4" + +workbox-precaching@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-5.1.4.tgz?cache=0&sync_timestamp=1614022117494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-precaching%2Fdownload%2Fworkbox-precaching-5.1.4.tgz#874f7ebdd750dd3e04249efae9a1b3f48285fe6b" + integrity sha1-h09+vddQ3T4EJJ766aGz9IKF/ms= + dependencies: + workbox-core "^5.1.4" + +workbox-range-requests@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-5.1.4.tgz#7066a12c121df65bf76fdf2b0868016aa2bab859" + integrity sha1-cGahLBId9lv3b98rCGgBaqK6uFk= + dependencies: + workbox-core "^5.1.4" + +workbox-routing@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-5.1.4.tgz?cache=0&sync_timestamp=1614022118410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-routing%2Fdownload%2Fworkbox-routing-5.1.4.tgz#3e8cd86bd3b6573488d1a2ce7385e547b547e970" + integrity sha1-PozYa9O2VzSI0aLOc4XlR7VH6XA= + dependencies: + workbox-core "^5.1.4" + +workbox-strategies@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-5.1.4.tgz?cache=0&sync_timestamp=1614022118566&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-strategies%2Fdownload%2Fworkbox-strategies-5.1.4.tgz#96b1418ccdfde5354612914964074d466c52d08c" + integrity sha1-lrFBjM395TVGEpFJZAdNRmxS0Iw= + dependencies: + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + +workbox-streams@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-5.1.4.tgz?cache=0&sync_timestamp=1614022117804&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-streams%2Fdownload%2Fworkbox-streams-5.1.4.tgz#05754e5e3667bdc078df2c9315b3f41210d8cac0" + integrity sha1-BXVOXjZnvcB43yyTFbP0EhDYysA= + dependencies: + workbox-core "^5.1.4" + workbox-routing "^5.1.4" + +workbox-sw@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-5.1.4.tgz?cache=0&sync_timestamp=1614022116500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-sw%2Fdownload%2Fworkbox-sw-5.1.4.tgz#2bb34c9f7381f90d84cef644816d45150011d3db" + integrity sha1-K7NMn3OB+Q2EzvZEgW1FFQAR09s= + +workbox-webpack-plugin@5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-5.1.4.tgz?cache=0&sync_timestamp=1614022055423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-webpack-plugin%2Fdownload%2Fworkbox-webpack-plugin-5.1.4.tgz#7bfe8c16e40fe9ed8937080ac7ae9c8bde01e79c" + integrity sha1-e/6MFuQP6e2JNwgKx66ci94B55w= + dependencies: + "@babel/runtime" "^7.5.5" + fast-json-stable-stringify "^2.0.0" + source-map-url "^0.4.0" + upath "^1.1.2" + webpack-sources "^1.3.0" + workbox-build "^5.1.4" + +workbox-window@^5.1.4: + version "5.1.4" + resolved "https://registry.npm.taobao.org/workbox-window/download/workbox-window-5.1.4.tgz?cache=0&sync_timestamp=1614022118097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkbox-window%2Fdownload%2Fworkbox-window-5.1.4.tgz#2740f7dea7f93b99326179a62f1cc0ca2c93c863" + integrity sha1-J0D33qf5O5kyYXmmLxzAyiyTyGM= + dependencies: + workbox-core "^5.1.4" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/worker-farm/download/worker-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@^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" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^6.2.1: + version "6.2.1" + resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= + dependencies: + async-limiter "~1.0.0" + +ws@^7.2.3: + version "7.4.3" + resolved "https://registry.npm.taobao.org/ws/download/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" + integrity sha1-H5ZD3jSlQ7jtsSS9y8RXrlWm5c0= + +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.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= + +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@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1609798892990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q= + +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.10.0, yaml@^1.7.2: + version "1.10.0" + resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4= + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1613962129986&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1613962129986&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-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" + +yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg= + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.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 "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/yocto-queue/download/yocto-queue-0.1.0.tgz?cache=0&sync_timestamp=1606290212047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyocto-queue%2Fdownload%2Fyocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= + +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://registry.npm.taobao.org/zen-observable-ts/download/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" + integrity sha1-hdADH7veHro80H07qQ2iQSFfQh0= + dependencies: + tslib "^1.9.3" + zen-observable "^0.8.0" + +zen-observable@^0.8.0, zen-observable@^0.8.14: + version "0.8.15" + resolved "https://registry.npm.taobao.org/zen-observable/download/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha1-lkFcUS2OP/2SCv04iWBOMLnqrBU= + +zscroller@~0.4.0: + version "0.4.8" + resolved "https://registry.npm.taobao.org/zscroller/download/zscroller-0.4.8.tgz#69eed68690808eedf81f9714014356b36cdd20f4" + integrity sha1-ae7WhpCAju34H5cUAUNWs2zdIPQ= + dependencies: + babel-runtime "6.x"