From 5ed7c95c64ab0b57ab54a0cf3f6c8b3277a22dd5 Mon Sep 17 00:00:00 2001 From: ila Date: Sat, 22 Aug 2026 11:17:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=20go-admin=20MVP-1?= =?UTF-8?q?=20=E8=BF=90=E8=90=A5=E7=95=8C=E9=9D=A2=20(#24)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin-ui/.editorconfig | 14 + admin-ui/.eslintignore | 4 + admin-ui/.eslintrc.js | 203 + admin-ui/.gitignore | 33 + admin-ui/.npmrc | 3 + admin-ui/babel.config.js | 13 + admin-ui/build/index.js | 35 + admin-ui/index.html | 217 + admin-ui/jest.config.js | 26 + admin-ui/jsconfig.json | 9 + admin-ui/package.json | 131 + admin-ui/pnpm-lock.yaml | 15127 ++++++++++++++++ admin-ui/postcss.config.js | 5 + admin-ui/public/favicon.ico | Bin 0 -> 3628 bytes admin-ui/scripts/k8s/default.conf | 56 + admin-ui/scripts/k8s/deploy.yml | 51 + admin-ui/scripts/k8s/prerun.sh | 3 + admin-ui/src/App.vue | 23 + admin-ui/src/api/admin/dict/data.js | 62 + admin-ui/src/api/admin/dict/type.js | 62 + admin-ui/src/api/admin/sys-api.js | 46 + admin-ui/src/api/admin/sys-config.js | 68 + admin-ui/src/api/admin/sys-dept.js | 60 + admin-ui/src/api/admin/sys-login-log.js | 28 + admin-ui/src/api/admin/sys-menu.js | 61 + admin-ui/src/api/admin/sys-opera-log.js | 28 + admin-ui/src/api/admin/sys-post.js | 46 + admin-ui/src/api/admin/sys-role.js | 88 + admin-ui/src/api/admin/sys-user.js | 135 + admin-ui/src/api/chorus/index.js | 27 + admin-ui/src/api/job/sys-job.js | 62 + admin-ui/src/api/login.js | 17 + admin-ui/src/api/monitor/server.js | 9 + admin-ui/src/api/remote-search.js | 17 + admin-ui/src/api/schedule.js | 43 + admin-ui/src/api/table.js | 20 + admin-ui/src/api/tools/gen.js | 103 + admin-ui/src/api/user.js | 36 + admin-ui/src/api/ws.js | 9 + admin-ui/src/assets/401_images/401.gif | Bin 0 -> 164227 bytes admin-ui/src/assets/404_images/404.png | Bin 0 -> 98071 bytes admin-ui/src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes .../custom-theme/fonts/element-icons.ttf | Bin 0 -> 11028 bytes .../custom-theme/fonts/element-icons.woff | Bin 0 -> 6124 bytes admin-ui/src/assets/custom-theme/index.css | 1 + admin-ui/src/assets/dark.svg | 39 + admin-ui/src/assets/icons/12-01.png | Bin 0 -> 5803 bytes admin-ui/src/assets/icons/AU-01.png | Bin 0 -> 4392 bytes admin-ui/src/assets/icons/Access.png | Bin 0 -> 9540 bytes admin-ui/src/assets/icons/AndroidStudio.png | Bin 0 -> 18002 bytes admin-ui/src/assets/icons/Awesome.png | Bin 0 -> 12866 bytes admin-ui/src/assets/icons/AwesomeVue.png | Bin 0 -> 18311 bytes admin-ui/src/assets/icons/Clion-01-01.png | Bin 0 -> 14936 bytes admin-ui/src/assets/icons/Dm-01-01.png | Bin 0 -> 2317 bytes admin-ui/src/assets/icons/Edge-01.png | Bin 0 -> 17851 bytes admin-ui/src/assets/icons/Excel.png | Bin 0 -> 6001 bytes admin-ui/src/assets/icons/Ic-01.png | Bin 0 -> 4359 bytes admin-ui/src/assets/icons/Idea.png | Bin 0 -> 13018 bytes admin-ui/src/assets/icons/Link.png | Bin 0 -> 5251 bytes admin-ui/src/assets/icons/OneDrive.png | Bin 0 -> 8313 bytes admin-ui/src/assets/icons/OneNote.png | Bin 0 -> 4817 bytes admin-ui/src/assets/icons/PDFbeifen.png | Bin 0 -> 5272 bytes admin-ui/src/assets/icons/Phpstorm-01.png | Bin 0 -> 13873 bytes admin-ui/src/assets/icons/PictureUnknow.png | Bin 0 -> 4681 bytes .../src/assets/icons/Pictureloadingfailed.png | Bin 0 -> 5584 bytes admin-ui/src/assets/icons/Pl-01.png | Bin 0 -> 3043 bytes admin-ui/src/assets/icons/Pn-01.png | Bin 0 -> 3896 bytes admin-ui/src/assets/icons/PowerPoint.png | Bin 0 -> 8713 bytes admin-ui/src/assets/icons/PowerShell.png | Bin 0 -> 12383 bytes admin-ui/src/assets/icons/Pycharm.png | Bin 0 -> 14542 bytes admin-ui/src/assets/icons/Typora.png | Bin 0 -> 10340 bytes admin-ui/src/assets/icons/UTools.png | Bin 0 -> 10287 bytes admin-ui/src/assets/icons/Unknow.png | Bin 0 -> 5028 bytes admin-ui/src/assets/icons/Visio.png | Bin 0 -> 7847 bytes admin-ui/src/assets/icons/VisualStudio.png | Bin 0 -> 14959 bytes admin-ui/src/assets/icons/Web.png | Bin 0 -> 7998 bytes admin-ui/src/assets/icons/Webstorm.png | Bin 0 -> 16234 bytes admin-ui/src/assets/icons/Windows.png | Bin 0 -> 8300 bytes .../assets/icons/WindowsTerminal_PRE-01.png | Bin 0 -> 6972 bytes admin-ui/src/assets/icons/Word.png | Bin 0 -> 5714 bytes admin-ui/src/assets/icons/Wordbeifen.png | Bin 0 -> 5664 bytes admin-ui/src/assets/icons/Zip.png | Bin 0 -> 4452 bytes admin-ui/src/assets/icons/adobe-01-01-01.png | Bin 0 -> 7168 bytes admin-ui/src/assets/icons/bianxingjingang.png | Bin 0 -> 24075 bytes .../src/assets/icons/bianxingjingang1.png | Bin 0 -> 27364 bytes admin-ui/src/assets/icons/chayue2.png | Bin 0 -> 6963 bytes admin-ui/src/assets/icons/daiyue.png | Bin 0 -> 10512 bytes admin-ui/src/assets/icons/excelbeifen.png | Bin 0 -> 5662 bytes admin-ui/src/assets/icons/fl-01-01.png | Bin 0 -> 4318 bytes admin-ui/src/assets/icons/nasa.png | Bin 0 -> 26819 bytes admin-ui/src/assets/icons/pf-01.png | Bin 0 -> 3573 bytes admin-ui/src/assets/icons/picture.png | Bin 0 -> 8674 bytes admin-ui/src/assets/icons/pptbeifen.png | Bin 0 -> 4344 bytes admin-ui/src/assets/icons/rar.png | Bin 0 -> 4036 bytes .../src/assets/icons/tubiaozhizuomo3-01.png | Bin 0 -> 3717 bytes .../src/assets/icons/tubiaozhizuomoban-01.png | Bin 0 -> 7755 bytes .../assets/icons/tubiaozhizuomoban10-01.png | Bin 0 -> 4288 bytes .../src/assets/icons/tubiaozhizuomoban11.png | Bin 0 -> 5099 bytes .../assets/icons/tubiaozhizuomoban2-01-01.png | Bin 0 -> 3622 bytes .../assets/icons/tubiaozhizuomoban4-01.png | Bin 0 -> 8535 bytes .../assets/icons/tubiaozhizuomoban5-01.png | Bin 0 -> 6314 bytes .../assets/icons/tubiaozhizuomoban6-01.png | Bin 0 -> 3580 bytes .../assets/icons/tubiaozhizuomoban7-01-01.png | Bin 0 -> 3991 bytes .../assets/icons/tubiaozhizuomoban8-01.png | Bin 0 -> 2515 bytes .../assets/icons/tubiaozhizuomoban9-01.png | Bin 0 -> 6378 bytes admin-ui/src/assets/icons/txtbeifen.png | Bin 0 -> 5227 bytes admin-ui/src/assets/icons/video.png | Bin 0 -> 3884 bytes admin-ui/src/assets/icons/video2.png | Bin 0 -> 5747 bytes admin-ui/src/assets/icons/voice.png | Bin 0 -> 5143 bytes admin-ui/src/assets/icons/wendang.png | Bin 0 -> 4361 bytes admin-ui/src/assets/icons/wenjianjia.png | Bin 0 -> 3499 bytes admin-ui/src/assets/light.svg | 39 + admin-ui/src/assets/login.png | Bin 0 -> 30551 bytes admin-ui/src/assets/logo/logo.png | Bin 0 -> 7211 bytes admin-ui/src/assets/particles.json | 110 + admin-ui/src/components/Bar.vue | 58 + admin-ui/src/components/Breadcrumb/index.vue | 82 + admin-ui/src/components/Cell/index.vue | 93 + admin-ui/src/components/ChartCard/index.vue | 150 + admin-ui/src/components/Charts/Keyboard.vue | 155 + admin-ui/src/components/Charts/LineMarker.vue | 227 + admin-ui/src/components/Charts/MixChart.vue | 271 + .../src/components/Charts/mixins/resize.js | 34 + admin-ui/src/components/ErrorLog/index.vue | 78 + .../src/components/FormGenParser/Parser.vue | 193 + .../src/components/FormGenRender/render.js | 122 + .../FormGenRender/slots/el-button.js | 5 + .../FormGenRender/slots/el-checkbox-group.js | 13 + .../FormGenRender/slots/el-input.js | 8 + .../FormGenRender/slots/el-radio-group.js | 13 + .../FormGenRender/slots/el-select.js | 9 + .../FormGenRender/slots/el-upload.js | 17 + .../src/components/GithubCorner/index.vue | 54 + .../src/components/Go-Admin/Doc/index.vue | 21 + .../src/components/Go-Admin/Donate/index.vue | 21 + .../src/components/Go-Admin/Git/index.vue | 21 + admin-ui/src/components/Hamburger/index.vue | 45 + .../src/components/HeaderSearch/index.vue | 180 + admin-ui/src/components/IconSelect/index.vue | 71 + .../src/components/IconSelect/requireIcons.js | 10 + .../src/components/ImageCropper/index.vue | 1778 ++ .../ImageCropper/utils/data2blob.js | 19 + .../ImageCropper/utils/effectRipple.js | 39 + .../components/ImageCropper/utils/language.js | 232 + .../components/ImageCropper/utils/mimes.js | 7 + admin-ui/src/components/MDinput/index.vue | 360 + admin-ui/src/components/MiniArea/index.vue | 60 + admin-ui/src/components/MiniBar/index.vue | 58 + .../src/components/MiniProgress/index.vue | 66 + admin-ui/src/components/Pagination/index.vue | 102 + admin-ui/src/components/PanThumb/index.vue | 142 + admin-ui/src/components/RankList/index.vue | 106 + admin-ui/src/components/RightPanel/index.vue | 145 + admin-ui/src/components/Screenfull/index.vue | 60 + .../src/components/Share/DropdownMenu.vue | 100 + admin-ui/src/components/SvgIcon/index.vue | 60 + admin-ui/src/components/ThemePicker/index.vue | 174 + admin-ui/src/components/TopNav/index.vue | 150 + admin-ui/src/components/Trend/index.vue | 62 + .../src/components/Upload/SingleImage.vue | 135 + .../src/components/Upload/SingleImage2.vue | 131 + .../src/components/Upload/SingleImage3.vue | 158 + admin-ui/src/components/layout.vue | 26 + admin-ui/src/directive/el-drag-dialog/drag.js | 77 + .../src/directive/el-drag-dialog/index.js | 13 + admin-ui/src/directive/el-table/adaptive.js | 41 + admin-ui/src/directive/el-table/index.js | 13 + admin-ui/src/directive/permission/index.js | 17 + .../src/directive/permission/permisaction.js | 23 + .../src/directive/permission/permission.js | 22 + admin-ui/src/directive/sticky.js | 91 + admin-ui/src/directive/waves/index.js | 13 + admin-ui/src/directive/waves/waves.css | 26 + admin-ui/src/directive/waves/waves.js | 72 + admin-ui/src/filters/index.js | 68 + admin-ui/src/icons/index.js | 7 + admin-ui/src/icons/svg/404.svg | 1 + admin-ui/src/icons/svg/access.svg | 1 + admin-ui/src/icons/svg/add-db.svg | 1 + admin-ui/src/icons/svg/add-doc.svg | 1 + admin-ui/src/icons/svg/alarm-settings.svg | 1 + admin-ui/src/icons/svg/api-ctl.svg | 1 + admin-ui/src/icons/svg/api-doc.svg | 1 + admin-ui/src/icons/svg/api-gateway.svg | 1 + admin-ui/src/icons/svg/api-monitor.svg | 1 + admin-ui/src/icons/svg/api-server.svg | 1 + admin-ui/src/icons/svg/api-test.svg | 1 + admin-ui/src/icons/svg/app-group-fill.svg | 1 + admin-ui/src/icons/svg/archived.svg | 1 + admin-ui/src/icons/svg/base-info.svg | 1 + admin-ui/src/icons/svg/batch-update.svg | 1 + admin-ui/src/icons/svg/bug.svg | 1 + admin-ui/src/icons/svg/build.svg | 1 + admin-ui/src/icons/svg/calendar.svg | 44 + admin-ui/src/icons/svg/cascader.svg | 1 + admin-ui/src/icons/svg/chart.svg | 1 + admin-ui/src/icons/svg/checkbox.svg | 1 + admin-ui/src/icons/svg/clipboard.svg | 1 + admin-ui/src/icons/svg/code.svg | 1 + admin-ui/src/icons/svg/color.svg | 1 + admin-ui/src/icons/svg/component.svg | 1 + admin-ui/src/icons/svg/dashboard.svg | 1 + admin-ui/src/icons/svg/date-range.svg | 1 + admin-ui/src/icons/svg/date.svg | 1 + admin-ui/src/icons/svg/db.svg | 1 + admin-ui/src/icons/svg/del.svg | 1 + admin-ui/src/icons/svg/dev-tools.svg | 1 + admin-ui/src/icons/svg/dict.svg | 1 + admin-ui/src/icons/svg/doc.svg | 1 + admin-ui/src/icons/svg/documentation.svg | 1 + admin-ui/src/icons/svg/download.svg | 1 + admin-ui/src/icons/svg/drag copy.svg | 1 + admin-ui/src/icons/svg/drag.svg | 1 + admin-ui/src/icons/svg/druid.svg | 1 + admin-ui/src/icons/svg/edit.svg | 1 + admin-ui/src/icons/svg/education.svg | 1 + admin-ui/src/icons/svg/email.svg | 1 + admin-ui/src/icons/svg/err-list.svg | 1 + admin-ui/src/icons/svg/example.svg | 1 + admin-ui/src/icons/svg/excel.svg | 1 + admin-ui/src/icons/svg/exit-fullscreen.svg | 1 + admin-ui/src/icons/svg/eye-open.svg | 1 + admin-ui/src/icons/svg/eye.svg | 1 + admin-ui/src/icons/svg/form.svg | 1 + admin-ui/src/icons/svg/fullscreen.svg | 1 + admin-ui/src/icons/svg/github.svg | 1 + admin-ui/src/icons/svg/guide.svg | 1 + admin-ui/src/icons/svg/heart.svg | 1 + admin-ui/src/icons/svg/http-err.svg | 1 + admin-ui/src/icons/svg/icon.svg | 1 + admin-ui/src/icons/svg/info-setting.svg | 1 + admin-ui/src/icons/svg/input.svg | 1 + admin-ui/src/icons/svg/intel.svg | 1 + admin-ui/src/icons/svg/international.svg | 1 + admin-ui/src/icons/svg/job.svg | 1 + admin-ui/src/icons/svg/json-push.svg | 1 + admin-ui/src/icons/svg/language.svg | 1 + admin-ui/src/icons/svg/link.svg | 1 + admin-ui/src/icons/svg/list.svg | 1 + admin-ui/src/icons/svg/lock.svg | 1 + admin-ui/src/icons/svg/log.svg | 1 + admin-ui/src/icons/svg/logininfor.svg | 1 + admin-ui/src/icons/svg/map.svg | 1 + admin-ui/src/icons/svg/message.svg | 1 + admin-ui/src/icons/svg/money.svg | 1 + admin-ui/src/icons/svg/monitor.svg | 2 + admin-ui/src/icons/svg/nested.svg | 1 + admin-ui/src/icons/svg/network.svg | 131 + admin-ui/src/icons/svg/next-page.svg | 1 + admin-ui/src/icons/svg/number.svg | 1 + admin-ui/src/icons/svg/online.svg | 1 + admin-ui/src/icons/svg/operators.svg | 1 + admin-ui/src/icons/svg/pass.svg | 68 + admin-ui/src/icons/svg/password.svg | 1 + admin-ui/src/icons/svg/pdf.svg | 1 + admin-ui/src/icons/svg/people.svg | 1 + admin-ui/src/icons/svg/peoples.svg | 1 + admin-ui/src/icons/svg/phone.svg | 1 + admin-ui/src/icons/svg/post.svg | 1 + admin-ui/src/icons/svg/project-group.svg | 1 + admin-ui/src/icons/svg/project-manage.svg | 1 + admin-ui/src/icons/svg/pwd.svg | 1 + admin-ui/src/icons/svg/qq.svg | 1 + admin-ui/src/icons/svg/question.svg | 1 + admin-ui/src/icons/svg/radio.svg | 1 + admin-ui/src/icons/svg/rate.svg | 1 + admin-ui/src/icons/svg/return-code-doc.svg | 1 + admin-ui/src/icons/svg/return-code.svg | 1 + admin-ui/src/icons/svg/root-addr.svg | 1 + admin-ui/src/icons/svg/row.svg | 1 + admin-ui/src/icons/svg/safety.svg | 1 + admin-ui/src/icons/svg/scene.svg | 1 + admin-ui/src/icons/svg/search.svg | 1 + admin-ui/src/icons/svg/select.svg | 1 + admin-ui/src/icons/svg/server.svg | 1 + admin-ui/src/icons/svg/shopping.svg | 1 + admin-ui/src/icons/svg/signature.svg | 1 + admin-ui/src/icons/svg/size.svg | 1 + admin-ui/src/icons/svg/skill.svg | 1 + admin-ui/src/icons/svg/slider.svg | 1 + admin-ui/src/icons/svg/star.svg | 1 + admin-ui/src/icons/svg/statistics.svg | 1 + admin-ui/src/icons/svg/swagger.svg | 1 + admin-ui/src/icons/svg/switch.svg | 1 + admin-ui/src/icons/svg/system-tools.svg | 1 + admin-ui/src/icons/svg/system.svg | 2 + admin-ui/src/icons/svg/tab.svg | 1 + admin-ui/src/icons/svg/table.svg | 1 + admin-ui/src/icons/svg/textarea.svg | 1 + admin-ui/src/icons/svg/theme.svg | 1 + admin-ui/src/icons/svg/time-avg.svg | 1 + admin-ui/src/icons/svg/time-range.svg | 1 + admin-ui/src/icons/svg/time.svg | 1 + admin-ui/src/icons/svg/tool.svg | 1 + admin-ui/src/icons/svg/tree-table.svg | 1 + admin-ui/src/icons/svg/tree.svg | 1 + admin-ui/src/icons/svg/upload.svg | 1 + admin-ui/src/icons/svg/user-info.svg | 1 + admin-ui/src/icons/svg/user.svg | 1 + admin-ui/src/icons/svg/validCode.svg | 1 + admin-ui/src/icons/svg/vip.svg | 76 + admin-ui/src/icons/svg/webhock.svg | 1 + admin-ui/src/icons/svg/wechat.svg | 1 + admin-ui/src/icons/svg/zip.svg | 1 + admin-ui/src/icons/svgo.yml | 22 + admin-ui/src/layout/BasicLayout.vue | 18 + admin-ui/src/layout/components/AppMain.vue | 47 + admin-ui/src/layout/components/Navbar.vue | 198 + .../src/layout/components/Settings/index.vue | 212 + .../layout/components/Sidebar/FixiOSBug.js | 26 + .../src/layout/components/Sidebar/Item.vue | 31 + .../src/layout/components/Sidebar/Link.vue | 27 + .../src/layout/components/Sidebar/Logo.vue | 109 + .../layout/components/Sidebar/SidebarItem.vue | 92 + .../src/layout/components/Sidebar/index.vue | 67 + .../layout/components/TagsView/ScrollPane.vue | 83 + .../layout/components/TagsView/TagsView.vue | 172 + .../src/layout/components/TagsView/index.vue | 411 + admin-ui/src/layout/components/index.js | 5 + admin-ui/src/layout/index.vue | 106 + admin-ui/src/layout/mixin/ResizeHandler.js | 45 + admin-ui/src/main.js | 105 + admin-ui/src/permission.js | 74 + admin-ui/src/router/index.js | 126 + admin-ui/src/settings.js | 43 + admin-ui/src/store/getters.js | 20 + admin-ui/src/store/index.js | 22 + admin-ui/src/store/modules/app.js | 56 + admin-ui/src/store/modules/errorLog.js | 28 + admin-ui/src/store/modules/permission.js | 186 + admin-ui/src/store/modules/settings.js | 37 + admin-ui/src/store/modules/system.js | 32 + admin-ui/src/store/modules/tagsView.js | 162 + admin-ui/src/store/modules/user.js | 153 + admin-ui/src/styles/admin.css | 213 + admin-ui/src/styles/admin.min.css | 1 + admin-ui/src/styles/admin.scss | 204 + admin-ui/src/styles/btn.scss | 99 + admin-ui/src/styles/element-plus.scss | 576 + admin-ui/src/styles/element-theme.css | 0 admin-ui/src/styles/element-theme.js | 0 .../src/styles/element-variables.module.scss | 29 + admin-ui/src/styles/element-variables.scss | 30 + admin-ui/src/styles/index.scss | 196 + admin-ui/src/styles/mixin.scss | 66 + admin-ui/src/styles/sidebar.scss | 263 + admin-ui/src/styles/transition.scss | 48 + admin-ui/src/styles/variables.css | 13 + admin-ui/src/styles/variables.min.css | 1 + admin-ui/src/styles/variables.module.scss | 0 admin-ui/src/styles/variables.scss | 43 + admin-ui/src/utils/auth.js | 15 + admin-ui/src/utils/costum.js | 106 + admin-ui/src/utils/dialog.js | 75 + admin-ui/src/utils/error-log.js | 38 + admin-ui/src/utils/eventbus.js | 2 + admin-ui/src/utils/generator/config.js | 423 + admin-ui/src/utils/generator/css.js | 18 + .../src/utils/generator/drawingDefalut.js | 29 + admin-ui/src/utils/generator/html.js | 400 + admin-ui/src/utils/generator/icon.json | 1 + admin-ui/src/utils/generator/index.js | 158 + admin-ui/src/utils/generator/js.js | 236 + admin-ui/src/utils/generator/render.js | 121 + admin-ui/src/utils/get-page-title.js | 10 + admin-ui/src/utils/index.js | 368 + admin-ui/src/utils/open-window.js | 25 + admin-ui/src/utils/permission.js | 25 + admin-ui/src/utils/request.js | 121 + admin-ui/src/utils/scroll-to.js | 58 + admin-ui/src/utils/storage.js | 23 + admin-ui/src/utils/validate.js | 87 + admin-ui/src/utils/zipdownload.js | 49 + admin-ui/src/vendor/Export2Excel.js | 220 + admin-ui/src/vendor/Export2Zip.js | 24 + admin-ui/src/views/admin/dict/data.vue | 333 + admin-ui/src/views/admin/dict/index.vue | 322 + admin-ui/src/views/admin/sys-api/index.vue | 426 + admin-ui/src/views/admin/sys-config/index.vue | 432 + admin-ui/src/views/admin/sys-config/set.vue | 604 + admin-ui/src/views/admin/sys-dept/index.vue | 377 + .../src/views/admin/sys-login-log/index.vue | 287 + admin-ui/src/views/admin/sys-menu/index.vue | 634 + .../src/views/admin/sys-oper-log/index.vue | 314 + admin-ui/src/views/admin/sys-post/index.vue | 319 + admin-ui/src/views/admin/sys-role/index.vue | 552 + admin-ui/src/views/admin/sys-user/index.vue | 683 + .../src/views/chorus/generations/index.vue | 38 + admin-ui/src/views/chorus/health/index.vue | 44 + admin-ui/src/views/chorus/models/index.vue | 51 + admin-ui/src/views/chorus/providers/index.vue | 121 + admin-ui/src/views/chorus/routes/index.vue | 91 + admin-ui/src/views/chorus/shared.js | 15 + admin-ui/src/views/chorus/shared.scss | 56 + admin-ui/src/views/chorus/templates/index.vue | 42 + admin-ui/src/views/chorus/users/index.vue | 30 + .../dashboard/admin/components/BarChart.vue | 41 + .../dashboard/admin/components/LineChart.vue | 62 + .../dashboard/admin/components/PanelGroup.vue | 183 + .../dashboard/admin/components/PieChart.vue | 50 + .../admin/components/RaddarChart.vue | 51 + .../admin/components/TodoList/Todo.vue | 82 + .../admin/components/TodoList/index.scss | 320 + .../admin/components/TodoList/index.vue | 129 + .../admin/components/mixins/resize.js | 55 + admin-ui/src/views/dashboard/admin/index.vue | 154 + admin-ui/src/views/dashboard/editor/index.vue | 74 + admin-ui/src/views/dashboard/index.vue | 31 + admin-ui/src/views/dev-tools/build/index.vue | 36 + .../src/views/dev-tools/gen/basicInfoForm.vue | 109 + .../src/views/dev-tools/gen/editTable.vue | 348 + .../src/views/dev-tools/gen/genInfoForm.vue | 213 + .../src/views/dev-tools/gen/importTable.vue | 122 + admin-ui/src/views/dev-tools/gen/index.vue | 356 + .../src/views/dev-tools/swagger/index.vue | 38 + admin-ui/src/views/error-page/401.vue | 99 + admin-ui/src/views/error-page/404.vue | 228 + admin-ui/src/views/log/index.vue | 9 + admin-ui/src/views/login/auth-redirect.vue | 15 + .../views/login/components/SocialSignin.vue | 72 + admin-ui/src/views/login/index.vue | 698 + .../src/views/profile/components/Account.vue | 44 + .../src/views/profile/components/Activity.vue | 186 + .../src/views/profile/components/Timeline.vue | 44 + .../src/views/profile/components/UserCard.vue | 142 + admin-ui/src/views/profile/index.vue | 125 + admin-ui/src/views/profile/resetPwd.vue | 76 + admin-ui/src/views/profile/userAvatar.vue | 137 + admin-ui/src/views/profile/userInfo.vue | 80 + admin-ui/src/views/redirect/index.vue | 13 + admin-ui/src/views/schedule/index.vue | 503 + admin-ui/src/views/schedule/log.vue | 101 + admin-ui/src/views/sys-tools/monitor.vue | 197 + .../tests/e2e/navigation-validation.spec.ts | 500 + admin-ui/tests/e2e/sidebar-navigation.spec.ts | 452 + admin-ui/tests/unit/.eslintrc.js | 5 + admin-ui/tests/unit/chorus/shared.spec.js | 18 + .../tests/unit/components/Hamburger.spec.js | 16 + .../tests/unit/components/SvgIcon.spec.js | 22 + .../tests/unit/directive/permisaction.spec.js | 36 + .../tests/unit/directive/permission.spec.js | 36 + admin-ui/tests/unit/utils/formatTime.spec.js | 29 + admin-ui/tests/unit/utils/parseTime.spec.js | 27 + admin-ui/tests/unit/utils/validate.spec.js | 28 + admin-ui/vite.config.js | 0 admin-ui/vue.config.js | 161 + admin/app/admin/router/sys_router.go | 3 + admin/app/admin/router/sys_router_test.go | 5 + admin/app/chorus/router.go | 19 +- admin/app/chorus/service.go | 174 +- .../chorus/service_mysql_integration_test.go | 53 +- admin/app/chorus/types.go | 27 +- admin/cmd/server.go | 18 +- admin/cmd/server_test.go | 12 +- admin/common/database/casbin.go | 43 + admin/common/database/casbin_test.go | 45 + admin/common/database/initialize.go | 6 +- admin/go.mod | 4 +- internal/config/config.go | 5 +- internal/config/config_test.go | 4 +- migrations/000004_mvp1_admin_seed.down.sql | 9 +- ...05_provider_plaintext_credentials.down.sql | 47 + ...0005_provider_plaintext_credentials.up.sql | 68 + migrations/migrations_test.go | 17 + migrations/mysql_integration_test.go | 77 +- portal/main.go | 18 +- portal/worker/catalog.go | 29 +- portal/worker/mysql_integration_test.go | 17 +- 468 files changed, 44225 insertions(+), 146 deletions(-) create mode 100644 admin-ui/.editorconfig create mode 100644 admin-ui/.eslintignore create mode 100644 admin-ui/.eslintrc.js create mode 100644 admin-ui/.gitignore create mode 100644 admin-ui/.npmrc create mode 100644 admin-ui/babel.config.js create mode 100644 admin-ui/build/index.js create mode 100644 admin-ui/index.html create mode 100644 admin-ui/jest.config.js create mode 100644 admin-ui/jsconfig.json create mode 100644 admin-ui/package.json create mode 100644 admin-ui/pnpm-lock.yaml create mode 100644 admin-ui/postcss.config.js create mode 100644 admin-ui/public/favicon.ico create mode 100644 admin-ui/scripts/k8s/default.conf create mode 100644 admin-ui/scripts/k8s/deploy.yml create mode 100644 admin-ui/scripts/k8s/prerun.sh create mode 100644 admin-ui/src/App.vue create mode 100644 admin-ui/src/api/admin/dict/data.js create mode 100644 admin-ui/src/api/admin/dict/type.js create mode 100644 admin-ui/src/api/admin/sys-api.js create mode 100644 admin-ui/src/api/admin/sys-config.js create mode 100644 admin-ui/src/api/admin/sys-dept.js create mode 100644 admin-ui/src/api/admin/sys-login-log.js create mode 100644 admin-ui/src/api/admin/sys-menu.js create mode 100644 admin-ui/src/api/admin/sys-opera-log.js create mode 100644 admin-ui/src/api/admin/sys-post.js create mode 100644 admin-ui/src/api/admin/sys-role.js create mode 100644 admin-ui/src/api/admin/sys-user.js create mode 100644 admin-ui/src/api/chorus/index.js create mode 100644 admin-ui/src/api/job/sys-job.js create mode 100644 admin-ui/src/api/login.js create mode 100644 admin-ui/src/api/monitor/server.js create mode 100644 admin-ui/src/api/remote-search.js create mode 100644 admin-ui/src/api/schedule.js create mode 100644 admin-ui/src/api/table.js create mode 100644 admin-ui/src/api/tools/gen.js create mode 100644 admin-ui/src/api/user.js create mode 100644 admin-ui/src/api/ws.js create mode 100644 admin-ui/src/assets/401_images/401.gif create mode 100644 admin-ui/src/assets/404_images/404.png create mode 100644 admin-ui/src/assets/404_images/404_cloud.png create mode 100644 admin-ui/src/assets/custom-theme/fonts/element-icons.ttf create mode 100644 admin-ui/src/assets/custom-theme/fonts/element-icons.woff create mode 100644 admin-ui/src/assets/custom-theme/index.css create mode 100644 admin-ui/src/assets/dark.svg create mode 100644 admin-ui/src/assets/icons/12-01.png create mode 100644 admin-ui/src/assets/icons/AU-01.png create mode 100644 admin-ui/src/assets/icons/Access.png create mode 100644 admin-ui/src/assets/icons/AndroidStudio.png create mode 100644 admin-ui/src/assets/icons/Awesome.png create mode 100644 admin-ui/src/assets/icons/AwesomeVue.png create mode 100644 admin-ui/src/assets/icons/Clion-01-01.png create mode 100644 admin-ui/src/assets/icons/Dm-01-01.png create mode 100644 admin-ui/src/assets/icons/Edge-01.png create mode 100644 admin-ui/src/assets/icons/Excel.png create mode 100644 admin-ui/src/assets/icons/Ic-01.png create mode 100644 admin-ui/src/assets/icons/Idea.png create mode 100644 admin-ui/src/assets/icons/Link.png create mode 100644 admin-ui/src/assets/icons/OneDrive.png create mode 100644 admin-ui/src/assets/icons/OneNote.png create mode 100644 admin-ui/src/assets/icons/PDFbeifen.png create mode 100644 admin-ui/src/assets/icons/Phpstorm-01.png create mode 100644 admin-ui/src/assets/icons/PictureUnknow.png create mode 100644 admin-ui/src/assets/icons/Pictureloadingfailed.png create mode 100644 admin-ui/src/assets/icons/Pl-01.png create mode 100644 admin-ui/src/assets/icons/Pn-01.png create mode 100644 admin-ui/src/assets/icons/PowerPoint.png create mode 100644 admin-ui/src/assets/icons/PowerShell.png create mode 100644 admin-ui/src/assets/icons/Pycharm.png create mode 100644 admin-ui/src/assets/icons/Typora.png create mode 100644 admin-ui/src/assets/icons/UTools.png create mode 100644 admin-ui/src/assets/icons/Unknow.png create mode 100644 admin-ui/src/assets/icons/Visio.png create mode 100644 admin-ui/src/assets/icons/VisualStudio.png create mode 100644 admin-ui/src/assets/icons/Web.png create mode 100644 admin-ui/src/assets/icons/Webstorm.png create mode 100644 admin-ui/src/assets/icons/Windows.png create mode 100644 admin-ui/src/assets/icons/WindowsTerminal_PRE-01.png create mode 100644 admin-ui/src/assets/icons/Word.png create mode 100644 admin-ui/src/assets/icons/Wordbeifen.png create mode 100644 admin-ui/src/assets/icons/Zip.png create mode 100644 admin-ui/src/assets/icons/adobe-01-01-01.png create mode 100644 admin-ui/src/assets/icons/bianxingjingang.png create mode 100644 admin-ui/src/assets/icons/bianxingjingang1.png create mode 100644 admin-ui/src/assets/icons/chayue2.png create mode 100644 admin-ui/src/assets/icons/daiyue.png create mode 100644 admin-ui/src/assets/icons/excelbeifen.png create mode 100644 admin-ui/src/assets/icons/fl-01-01.png create mode 100644 admin-ui/src/assets/icons/nasa.png create mode 100644 admin-ui/src/assets/icons/pf-01.png create mode 100644 admin-ui/src/assets/icons/picture.png create mode 100644 admin-ui/src/assets/icons/pptbeifen.png create mode 100644 admin-ui/src/assets/icons/rar.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomo3-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban10-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban11.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban2-01-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban4-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban5-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban6-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban7-01-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban8-01.png create mode 100644 admin-ui/src/assets/icons/tubiaozhizuomoban9-01.png create mode 100644 admin-ui/src/assets/icons/txtbeifen.png create mode 100644 admin-ui/src/assets/icons/video.png create mode 100644 admin-ui/src/assets/icons/video2.png create mode 100644 admin-ui/src/assets/icons/voice.png create mode 100644 admin-ui/src/assets/icons/wendang.png create mode 100644 admin-ui/src/assets/icons/wenjianjia.png create mode 100644 admin-ui/src/assets/light.svg create mode 100644 admin-ui/src/assets/login.png create mode 100644 admin-ui/src/assets/logo/logo.png create mode 100644 admin-ui/src/assets/particles.json create mode 100644 admin-ui/src/components/Bar.vue create mode 100644 admin-ui/src/components/Breadcrumb/index.vue create mode 100644 admin-ui/src/components/Cell/index.vue create mode 100644 admin-ui/src/components/ChartCard/index.vue create mode 100644 admin-ui/src/components/Charts/Keyboard.vue create mode 100644 admin-ui/src/components/Charts/LineMarker.vue create mode 100644 admin-ui/src/components/Charts/MixChart.vue create mode 100644 admin-ui/src/components/Charts/mixins/resize.js create mode 100644 admin-ui/src/components/ErrorLog/index.vue create mode 100644 admin-ui/src/components/FormGenParser/Parser.vue create mode 100644 admin-ui/src/components/FormGenRender/render.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-button.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-checkbox-group.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-input.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-radio-group.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-select.js create mode 100644 admin-ui/src/components/FormGenRender/slots/el-upload.js create mode 100644 admin-ui/src/components/GithubCorner/index.vue create mode 100644 admin-ui/src/components/Go-Admin/Doc/index.vue create mode 100644 admin-ui/src/components/Go-Admin/Donate/index.vue create mode 100644 admin-ui/src/components/Go-Admin/Git/index.vue create mode 100644 admin-ui/src/components/Hamburger/index.vue create mode 100644 admin-ui/src/components/HeaderSearch/index.vue create mode 100644 admin-ui/src/components/IconSelect/index.vue create mode 100644 admin-ui/src/components/IconSelect/requireIcons.js create mode 100644 admin-ui/src/components/ImageCropper/index.vue create mode 100644 admin-ui/src/components/ImageCropper/utils/data2blob.js create mode 100644 admin-ui/src/components/ImageCropper/utils/effectRipple.js create mode 100644 admin-ui/src/components/ImageCropper/utils/language.js create mode 100644 admin-ui/src/components/ImageCropper/utils/mimes.js create mode 100644 admin-ui/src/components/MDinput/index.vue create mode 100644 admin-ui/src/components/MiniArea/index.vue create mode 100644 admin-ui/src/components/MiniBar/index.vue create mode 100644 admin-ui/src/components/MiniProgress/index.vue create mode 100644 admin-ui/src/components/Pagination/index.vue create mode 100644 admin-ui/src/components/PanThumb/index.vue create mode 100644 admin-ui/src/components/RankList/index.vue create mode 100644 admin-ui/src/components/RightPanel/index.vue create mode 100644 admin-ui/src/components/Screenfull/index.vue create mode 100644 admin-ui/src/components/Share/DropdownMenu.vue create mode 100644 admin-ui/src/components/SvgIcon/index.vue create mode 100644 admin-ui/src/components/ThemePicker/index.vue create mode 100644 admin-ui/src/components/TopNav/index.vue create mode 100644 admin-ui/src/components/Trend/index.vue create mode 100644 admin-ui/src/components/Upload/SingleImage.vue create mode 100644 admin-ui/src/components/Upload/SingleImage2.vue create mode 100644 admin-ui/src/components/Upload/SingleImage3.vue create mode 100644 admin-ui/src/components/layout.vue create mode 100644 admin-ui/src/directive/el-drag-dialog/drag.js create mode 100644 admin-ui/src/directive/el-drag-dialog/index.js create mode 100644 admin-ui/src/directive/el-table/adaptive.js create mode 100644 admin-ui/src/directive/el-table/index.js create mode 100644 admin-ui/src/directive/permission/index.js create mode 100644 admin-ui/src/directive/permission/permisaction.js create mode 100644 admin-ui/src/directive/permission/permission.js create mode 100644 admin-ui/src/directive/sticky.js create mode 100644 admin-ui/src/directive/waves/index.js create mode 100644 admin-ui/src/directive/waves/waves.css create mode 100644 admin-ui/src/directive/waves/waves.js create mode 100644 admin-ui/src/filters/index.js create mode 100644 admin-ui/src/icons/index.js create mode 100644 admin-ui/src/icons/svg/404.svg create mode 100644 admin-ui/src/icons/svg/access.svg create mode 100644 admin-ui/src/icons/svg/add-db.svg create mode 100644 admin-ui/src/icons/svg/add-doc.svg create mode 100644 admin-ui/src/icons/svg/alarm-settings.svg create mode 100644 admin-ui/src/icons/svg/api-ctl.svg create mode 100644 admin-ui/src/icons/svg/api-doc.svg create mode 100644 admin-ui/src/icons/svg/api-gateway.svg create mode 100644 admin-ui/src/icons/svg/api-monitor.svg create mode 100644 admin-ui/src/icons/svg/api-server.svg create mode 100644 admin-ui/src/icons/svg/api-test.svg create mode 100644 admin-ui/src/icons/svg/app-group-fill.svg create mode 100644 admin-ui/src/icons/svg/archived.svg create mode 100644 admin-ui/src/icons/svg/base-info.svg create mode 100644 admin-ui/src/icons/svg/batch-update.svg create mode 100644 admin-ui/src/icons/svg/bug.svg create mode 100644 admin-ui/src/icons/svg/build.svg create mode 100644 admin-ui/src/icons/svg/calendar.svg create mode 100644 admin-ui/src/icons/svg/cascader.svg create mode 100644 admin-ui/src/icons/svg/chart.svg create mode 100644 admin-ui/src/icons/svg/checkbox.svg create mode 100644 admin-ui/src/icons/svg/clipboard.svg create mode 100644 admin-ui/src/icons/svg/code.svg create mode 100644 admin-ui/src/icons/svg/color.svg create mode 100644 admin-ui/src/icons/svg/component.svg create mode 100644 admin-ui/src/icons/svg/dashboard.svg create mode 100644 admin-ui/src/icons/svg/date-range.svg create mode 100644 admin-ui/src/icons/svg/date.svg create mode 100644 admin-ui/src/icons/svg/db.svg create mode 100644 admin-ui/src/icons/svg/del.svg create mode 100644 admin-ui/src/icons/svg/dev-tools.svg create mode 100644 admin-ui/src/icons/svg/dict.svg create mode 100644 admin-ui/src/icons/svg/doc.svg create mode 100644 admin-ui/src/icons/svg/documentation.svg create mode 100644 admin-ui/src/icons/svg/download.svg create mode 100644 admin-ui/src/icons/svg/drag copy.svg create mode 100644 admin-ui/src/icons/svg/drag.svg create mode 100644 admin-ui/src/icons/svg/druid.svg create mode 100644 admin-ui/src/icons/svg/edit.svg create mode 100644 admin-ui/src/icons/svg/education.svg create mode 100644 admin-ui/src/icons/svg/email.svg create mode 100644 admin-ui/src/icons/svg/err-list.svg create mode 100644 admin-ui/src/icons/svg/example.svg create mode 100644 admin-ui/src/icons/svg/excel.svg create mode 100644 admin-ui/src/icons/svg/exit-fullscreen.svg create mode 100644 admin-ui/src/icons/svg/eye-open.svg create mode 100644 admin-ui/src/icons/svg/eye.svg create mode 100644 admin-ui/src/icons/svg/form.svg create mode 100644 admin-ui/src/icons/svg/fullscreen.svg create mode 100644 admin-ui/src/icons/svg/github.svg create mode 100644 admin-ui/src/icons/svg/guide.svg create mode 100644 admin-ui/src/icons/svg/heart.svg create mode 100644 admin-ui/src/icons/svg/http-err.svg create mode 100644 admin-ui/src/icons/svg/icon.svg create mode 100644 admin-ui/src/icons/svg/info-setting.svg create mode 100644 admin-ui/src/icons/svg/input.svg create mode 100644 admin-ui/src/icons/svg/intel.svg create mode 100644 admin-ui/src/icons/svg/international.svg create mode 100644 admin-ui/src/icons/svg/job.svg create mode 100644 admin-ui/src/icons/svg/json-push.svg create mode 100644 admin-ui/src/icons/svg/language.svg create mode 100644 admin-ui/src/icons/svg/link.svg create mode 100644 admin-ui/src/icons/svg/list.svg create mode 100644 admin-ui/src/icons/svg/lock.svg create mode 100644 admin-ui/src/icons/svg/log.svg create mode 100644 admin-ui/src/icons/svg/logininfor.svg create mode 100644 admin-ui/src/icons/svg/map.svg create mode 100644 admin-ui/src/icons/svg/message.svg create mode 100644 admin-ui/src/icons/svg/money.svg create mode 100644 admin-ui/src/icons/svg/monitor.svg create mode 100644 admin-ui/src/icons/svg/nested.svg create mode 100644 admin-ui/src/icons/svg/network.svg create mode 100644 admin-ui/src/icons/svg/next-page.svg create mode 100644 admin-ui/src/icons/svg/number.svg create mode 100644 admin-ui/src/icons/svg/online.svg create mode 100644 admin-ui/src/icons/svg/operators.svg create mode 100644 admin-ui/src/icons/svg/pass.svg create mode 100644 admin-ui/src/icons/svg/password.svg create mode 100644 admin-ui/src/icons/svg/pdf.svg create mode 100644 admin-ui/src/icons/svg/people.svg create mode 100644 admin-ui/src/icons/svg/peoples.svg create mode 100644 admin-ui/src/icons/svg/phone.svg create mode 100644 admin-ui/src/icons/svg/post.svg create mode 100644 admin-ui/src/icons/svg/project-group.svg create mode 100644 admin-ui/src/icons/svg/project-manage.svg create mode 100644 admin-ui/src/icons/svg/pwd.svg create mode 100644 admin-ui/src/icons/svg/qq.svg create mode 100644 admin-ui/src/icons/svg/question.svg create mode 100644 admin-ui/src/icons/svg/radio.svg create mode 100644 admin-ui/src/icons/svg/rate.svg create mode 100644 admin-ui/src/icons/svg/return-code-doc.svg create mode 100644 admin-ui/src/icons/svg/return-code.svg create mode 100644 admin-ui/src/icons/svg/root-addr.svg create mode 100644 admin-ui/src/icons/svg/row.svg create mode 100644 admin-ui/src/icons/svg/safety.svg create mode 100644 admin-ui/src/icons/svg/scene.svg create mode 100644 admin-ui/src/icons/svg/search.svg create mode 100644 admin-ui/src/icons/svg/select.svg create mode 100644 admin-ui/src/icons/svg/server.svg create mode 100644 admin-ui/src/icons/svg/shopping.svg create mode 100644 admin-ui/src/icons/svg/signature.svg create mode 100644 admin-ui/src/icons/svg/size.svg create mode 100644 admin-ui/src/icons/svg/skill.svg create mode 100644 admin-ui/src/icons/svg/slider.svg create mode 100644 admin-ui/src/icons/svg/star.svg create mode 100644 admin-ui/src/icons/svg/statistics.svg create mode 100644 admin-ui/src/icons/svg/swagger.svg create mode 100644 admin-ui/src/icons/svg/switch.svg create mode 100644 admin-ui/src/icons/svg/system-tools.svg create mode 100644 admin-ui/src/icons/svg/system.svg create mode 100644 admin-ui/src/icons/svg/tab.svg create mode 100644 admin-ui/src/icons/svg/table.svg create mode 100644 admin-ui/src/icons/svg/textarea.svg create mode 100644 admin-ui/src/icons/svg/theme.svg create mode 100644 admin-ui/src/icons/svg/time-avg.svg create mode 100644 admin-ui/src/icons/svg/time-range.svg create mode 100644 admin-ui/src/icons/svg/time.svg create mode 100644 admin-ui/src/icons/svg/tool.svg create mode 100644 admin-ui/src/icons/svg/tree-table.svg create mode 100644 admin-ui/src/icons/svg/tree.svg create mode 100644 admin-ui/src/icons/svg/upload.svg create mode 100644 admin-ui/src/icons/svg/user-info.svg create mode 100644 admin-ui/src/icons/svg/user.svg create mode 100644 admin-ui/src/icons/svg/validCode.svg create mode 100644 admin-ui/src/icons/svg/vip.svg create mode 100644 admin-ui/src/icons/svg/webhock.svg create mode 100644 admin-ui/src/icons/svg/wechat.svg create mode 100644 admin-ui/src/icons/svg/zip.svg create mode 100644 admin-ui/src/icons/svgo.yml create mode 100644 admin-ui/src/layout/BasicLayout.vue create mode 100644 admin-ui/src/layout/components/AppMain.vue create mode 100644 admin-ui/src/layout/components/Navbar.vue create mode 100644 admin-ui/src/layout/components/Settings/index.vue create mode 100644 admin-ui/src/layout/components/Sidebar/FixiOSBug.js create mode 100644 admin-ui/src/layout/components/Sidebar/Item.vue create mode 100644 admin-ui/src/layout/components/Sidebar/Link.vue create mode 100644 admin-ui/src/layout/components/Sidebar/Logo.vue create mode 100644 admin-ui/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 admin-ui/src/layout/components/Sidebar/index.vue create mode 100644 admin-ui/src/layout/components/TagsView/ScrollPane.vue create mode 100644 admin-ui/src/layout/components/TagsView/TagsView.vue create mode 100644 admin-ui/src/layout/components/TagsView/index.vue create mode 100644 admin-ui/src/layout/components/index.js create mode 100644 admin-ui/src/layout/index.vue create mode 100644 admin-ui/src/layout/mixin/ResizeHandler.js create mode 100644 admin-ui/src/main.js create mode 100644 admin-ui/src/permission.js create mode 100644 admin-ui/src/router/index.js create mode 100644 admin-ui/src/settings.js create mode 100644 admin-ui/src/store/getters.js create mode 100644 admin-ui/src/store/index.js create mode 100644 admin-ui/src/store/modules/app.js create mode 100644 admin-ui/src/store/modules/errorLog.js create mode 100644 admin-ui/src/store/modules/permission.js create mode 100644 admin-ui/src/store/modules/settings.js create mode 100644 admin-ui/src/store/modules/system.js create mode 100644 admin-ui/src/store/modules/tagsView.js create mode 100644 admin-ui/src/store/modules/user.js create mode 100644 admin-ui/src/styles/admin.css create mode 100644 admin-ui/src/styles/admin.min.css create mode 100644 admin-ui/src/styles/admin.scss create mode 100644 admin-ui/src/styles/btn.scss create mode 100644 admin-ui/src/styles/element-plus.scss create mode 100644 admin-ui/src/styles/element-theme.css create mode 100644 admin-ui/src/styles/element-theme.js create mode 100644 admin-ui/src/styles/element-variables.module.scss create mode 100644 admin-ui/src/styles/element-variables.scss create mode 100644 admin-ui/src/styles/index.scss create mode 100644 admin-ui/src/styles/mixin.scss create mode 100644 admin-ui/src/styles/sidebar.scss create mode 100644 admin-ui/src/styles/transition.scss create mode 100644 admin-ui/src/styles/variables.css create mode 100644 admin-ui/src/styles/variables.min.css create mode 100644 admin-ui/src/styles/variables.module.scss create mode 100644 admin-ui/src/styles/variables.scss create mode 100644 admin-ui/src/utils/auth.js create mode 100644 admin-ui/src/utils/costum.js create mode 100644 admin-ui/src/utils/dialog.js create mode 100644 admin-ui/src/utils/error-log.js create mode 100644 admin-ui/src/utils/eventbus.js create mode 100644 admin-ui/src/utils/generator/config.js create mode 100644 admin-ui/src/utils/generator/css.js create mode 100644 admin-ui/src/utils/generator/drawingDefalut.js create mode 100644 admin-ui/src/utils/generator/html.js create mode 100644 admin-ui/src/utils/generator/icon.json create mode 100644 admin-ui/src/utils/generator/index.js create mode 100644 admin-ui/src/utils/generator/js.js create mode 100644 admin-ui/src/utils/generator/render.js create mode 100644 admin-ui/src/utils/get-page-title.js create mode 100644 admin-ui/src/utils/index.js create mode 100644 admin-ui/src/utils/open-window.js create mode 100644 admin-ui/src/utils/permission.js create mode 100644 admin-ui/src/utils/request.js create mode 100644 admin-ui/src/utils/scroll-to.js create mode 100644 admin-ui/src/utils/storage.js create mode 100644 admin-ui/src/utils/validate.js create mode 100644 admin-ui/src/utils/zipdownload.js create mode 100644 admin-ui/src/vendor/Export2Excel.js create mode 100644 admin-ui/src/vendor/Export2Zip.js create mode 100644 admin-ui/src/views/admin/dict/data.vue create mode 100644 admin-ui/src/views/admin/dict/index.vue create mode 100644 admin-ui/src/views/admin/sys-api/index.vue create mode 100644 admin-ui/src/views/admin/sys-config/index.vue create mode 100644 admin-ui/src/views/admin/sys-config/set.vue create mode 100644 admin-ui/src/views/admin/sys-dept/index.vue create mode 100644 admin-ui/src/views/admin/sys-login-log/index.vue create mode 100644 admin-ui/src/views/admin/sys-menu/index.vue create mode 100644 admin-ui/src/views/admin/sys-oper-log/index.vue create mode 100644 admin-ui/src/views/admin/sys-post/index.vue create mode 100644 admin-ui/src/views/admin/sys-role/index.vue create mode 100644 admin-ui/src/views/admin/sys-user/index.vue create mode 100644 admin-ui/src/views/chorus/generations/index.vue create mode 100644 admin-ui/src/views/chorus/health/index.vue create mode 100644 admin-ui/src/views/chorus/models/index.vue create mode 100644 admin-ui/src/views/chorus/providers/index.vue create mode 100644 admin-ui/src/views/chorus/routes/index.vue create mode 100644 admin-ui/src/views/chorus/shared.js create mode 100644 admin-ui/src/views/chorus/shared.scss create mode 100644 admin-ui/src/views/chorus/templates/index.vue create mode 100644 admin-ui/src/views/chorus/users/index.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/BarChart.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/LineChart.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/PanelGroup.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/PieChart.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/RaddarChart.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/TodoList/Todo.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/TodoList/index.scss create mode 100644 admin-ui/src/views/dashboard/admin/components/TodoList/index.vue create mode 100644 admin-ui/src/views/dashboard/admin/components/mixins/resize.js create mode 100644 admin-ui/src/views/dashboard/admin/index.vue create mode 100644 admin-ui/src/views/dashboard/editor/index.vue create mode 100644 admin-ui/src/views/dashboard/index.vue create mode 100644 admin-ui/src/views/dev-tools/build/index.vue create mode 100644 admin-ui/src/views/dev-tools/gen/basicInfoForm.vue create mode 100644 admin-ui/src/views/dev-tools/gen/editTable.vue create mode 100644 admin-ui/src/views/dev-tools/gen/genInfoForm.vue create mode 100644 admin-ui/src/views/dev-tools/gen/importTable.vue create mode 100644 admin-ui/src/views/dev-tools/gen/index.vue create mode 100644 admin-ui/src/views/dev-tools/swagger/index.vue create mode 100644 admin-ui/src/views/error-page/401.vue create mode 100644 admin-ui/src/views/error-page/404.vue create mode 100644 admin-ui/src/views/log/index.vue create mode 100644 admin-ui/src/views/login/auth-redirect.vue create mode 100644 admin-ui/src/views/login/components/SocialSignin.vue create mode 100644 admin-ui/src/views/login/index.vue create mode 100644 admin-ui/src/views/profile/components/Account.vue create mode 100644 admin-ui/src/views/profile/components/Activity.vue create mode 100644 admin-ui/src/views/profile/components/Timeline.vue create mode 100644 admin-ui/src/views/profile/components/UserCard.vue create mode 100644 admin-ui/src/views/profile/index.vue create mode 100644 admin-ui/src/views/profile/resetPwd.vue create mode 100644 admin-ui/src/views/profile/userAvatar.vue create mode 100644 admin-ui/src/views/profile/userInfo.vue create mode 100644 admin-ui/src/views/redirect/index.vue create mode 100644 admin-ui/src/views/schedule/index.vue create mode 100644 admin-ui/src/views/schedule/log.vue create mode 100644 admin-ui/src/views/sys-tools/monitor.vue create mode 100644 admin-ui/tests/e2e/navigation-validation.spec.ts create mode 100644 admin-ui/tests/e2e/sidebar-navigation.spec.ts create mode 100644 admin-ui/tests/unit/.eslintrc.js create mode 100644 admin-ui/tests/unit/chorus/shared.spec.js create mode 100644 admin-ui/tests/unit/components/Hamburger.spec.js create mode 100644 admin-ui/tests/unit/components/SvgIcon.spec.js create mode 100644 admin-ui/tests/unit/directive/permisaction.spec.js create mode 100644 admin-ui/tests/unit/directive/permission.spec.js create mode 100644 admin-ui/tests/unit/utils/formatTime.spec.js create mode 100644 admin-ui/tests/unit/utils/parseTime.spec.js create mode 100644 admin-ui/tests/unit/utils/validate.spec.js create mode 100644 admin-ui/vite.config.js create mode 100644 admin-ui/vue.config.js create mode 100644 admin/common/database/casbin.go create mode 100644 admin/common/database/casbin_test.go create mode 100644 migrations/000005_provider_plaintext_credentials.down.sql create mode 100644 migrations/000005_provider_plaintext_credentials.up.sql diff --git a/admin-ui/.editorconfig b/admin-ui/.editorconfig new file mode 100644 index 0000000..3454886 --- /dev/null +++ b/admin-ui/.editorconfig @@ -0,0 +1,14 @@ +# https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/admin-ui/.eslintignore b/admin-ui/.eslintignore new file mode 100644 index 0000000..e6529fc --- /dev/null +++ b/admin-ui/.eslintignore @@ -0,0 +1,4 @@ +build/*.js +src/assets +public +dist diff --git a/admin-ui/.eslintrc.js b/admin-ui/.eslintrc.js new file mode 100644 index 0000000..cb95887 --- /dev/null +++ b/admin-ui/.eslintrc.js @@ -0,0 +1,203 @@ +module.exports = { + root: true, + parserOptions: { + parser: '@babel/eslint-parser', + sourceType: 'module', + requireConfigFile: false + }, + env: { + browser: true, + node: true, + es6: true + }, + extends: ['plugin:vue/vue3-recommended', 'eslint:recommended'], + + // add your custom rules here + // it is base on https://github.com/vuejs/eslint-config-vue + rules: { + 'vue/max-attributes-per-line': [2, { + 'singleline': { + 'max': 10 + }, + 'multiline': { + 'max': 1 + } + }], + 'vue/no-template-shadow': 'off', + 'vue/singleline-html-element-content-newline': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/no-v-html': 'off', + // Vue 3 规则调整 + 'vue/no-deprecated-slot-attribute': 'warn', + 'vue/multi-word-component-names': 'warn', + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ['error', 'always', { 'null': 'ignore' }], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/admin-ui/.gitignore b/admin-ui/.gitignore new file mode 100644 index 0000000..e13e6df --- /dev/null +++ b/admin-ui/.gitignore @@ -0,0 +1,33 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Playwright +test-results/ +playwright-report/ +blob-report/ +.playwright/ + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock + +# Claude Code +CLAUDE.md +.claude/ diff --git a/admin-ui/.npmrc b/admin-ui/.npmrc new file mode 100644 index 0000000..0997279 --- /dev/null +++ b/admin-ui/.npmrc @@ -0,0 +1,3 @@ +registry=https://registry.npmmirror.com +sass_binary_site=https://registry.npmmirror.com/-/binary/node-sass/ +electron_mirror=https://registry.npmmirror.com/-/binary/electron/ diff --git a/admin-ui/babel.config.js b/admin-ui/babel.config.js new file mode 100644 index 0000000..2ed56c9 --- /dev/null +++ b/admin-ui/babel.config.js @@ -0,0 +1,13 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ], + plugins: [ + '@vue/babel-plugin-jsx' + ], + env: { + development: { + plugins: ['dynamic-import-node'] + } + } +} diff --git a/admin-ui/build/index.js b/admin-ui/build/index.js new file mode 100644 index 0000000..0c57de2 --- /dev/null +++ b/admin-ui/build/index.js @@ -0,0 +1,35 @@ +const { run } = require('runjs') +const chalk = require('chalk') +const config = require('../vue.config.js') +const rawArgv = process.argv.slice(2) +const args = rawArgv.join(' ') + +if (process.env.npm_config_preview || rawArgv.includes('--preview')) { + const report = rawArgv.includes('--report') + + run(`vue-cli-service build ${args}`) + + const port = 9526 + const publicPath = config.publicPath + + var connect = require('connect') + var serveStatic = require('serve-static') + const app = connect() + + app.use( + publicPath, + serveStatic('./dist', { + index: ['index.html', '/'] + }) + ) + + app.listen(port, function () { + console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`)) + if (report) { + console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`)) + } + + }) +} else { + run(`vue-cli-service build ${args}`) +} diff --git a/admin-ui/index.html b/admin-ui/index.html new file mode 100644 index 0000000..c0c7b97 --- /dev/null +++ b/admin-ui/index.html @@ -0,0 +1,217 @@ + + + + + + + + + + go-admin + + + + + + +
+
+
+
+
+
正在加载系统资源,请耐心等待
+
+
+ + + \ No newline at end of file diff --git a/admin-ui/jest.config.js b/admin-ui/jest.config.js new file mode 100644 index 0000000..af637b9 --- /dev/null +++ b/admin-ui/jest.config.js @@ -0,0 +1,26 @@ +module.exports = { + // jest 27 起默认环境由 jsdom 改为 node,组件测试需显式指定 + testEnvironment: 'jsdom', + moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], + transform: { + '^.+\\.vue$': '@vue/vue3-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': + 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest' + }, + moduleNameMapper: { + '^@/(.*)$': '/src/$1' + }, + snapshotSerializers: ['jest-serializer-vue'], + testMatch: [ + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' + ], + collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'], + coverageDirectory: '/tests/unit/coverage', + // 'collectCoverage': true, + 'coverageReporters': [ + 'lcov', + 'text-summary' + ], + testURL: 'http://localhost/' +} diff --git a/admin-ui/jsconfig.json b/admin-ui/jsconfig.json new file mode 100644 index 0000000..958df04 --- /dev/null +++ b/admin-ui/jsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist"] +} \ No newline at end of file diff --git a/admin-ui/package.json b/admin-ui/package.json new file mode 100644 index 0000000..d045a00 --- /dev/null +++ b/admin-ui/package.json @@ -0,0 +1,131 @@ +{ + "name": "go-admin", + "version": "2.0.9", + "description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features", + "author": "https://github.com/wenjianzhang", + "license": "MIT", + "scripts": { + "dev": "vue-cli-service serve", + "build:prod": "vue-cli-service build", + "build:stage": "vue-cli-service build --mode staging", + "preview": "node build/index.js --preview", + "lint": "eslint --ext .js,.vue src", + "test:unit": "jest --clearCache && vue-cli-service test:unit", + "test:ci": "pnpm lint && pnpm test:unit", + "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", + "new": "plop", + "prepare": "husky || true" + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix" + ] + }, + "keywords": [ + "vue", + "admin", + "go-admin", + "go-admin-ui", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/go-admin-team/go-admin.git" + }, + "bugs": { + "url": "https://github.com/go-admin-team/go-admin/issues" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.2", + "@tsparticles/slim": "^3.9.1", + "@tsparticles/vue3": "^3.0.1", + "@vueuse/core": "^14.4.0", + "axios": "^1.19.0", + "clipboard": "2.0.11", + "codemirror": "^6.0.2", + "core-js": "^3.50.0", + "driver.js": "0.9.8", + "dropzone": "5.9.3", + "echarts": "^6.1.0", + "element-plus": "^2.14.4", + "file-saver": "2.0.5", + "fuse.js": "6.6.2", + "js-cookie": "3.0.8", + "jszip": "3.10.1", + "moment": "^2.30.1", + "normalize.css": "8.0.1", + "nprogress": "0.2.0", + "path-to-regexp": "6.3.0", + "remixicon": "^2.5.0", + "sass-resources-loader": "^2.2.5", + "screenfull": "5.2.0", + "vue": "^3.5.41", + "vue-codemirror": "^6.1.1", + "vue-count-to": "1.0.13", + "vue-cropper": "^1.1.4", + "vue-router": "^4.6.4", + "vue3-dnd": "^2.1.0", + "vue3-treeselect": "^0.1.10", + "vuedraggable": "^4.1.0", + "vuex": "^4.1.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@babel/core": "7.28.3", + "@babel/eslint-parser": "^7.29.7", + "@babel/register": "^7.29.7", + "@babel/runtime": "^7.29.7", + "@playwright/test": "^1.62.1", + "@vue/babel-plugin-jsx": "^1.5.0", + "@vue/babel-preset-app": "^5.0.9", + "@vue/cli-plugin-babel": "^5.0.9", + "@vue/cli-plugin-eslint": "^5.0.9", + "@vue/cli-plugin-unit-jest": "^5.0.9", + "@vue/cli-service": "^5.0.9", + "@vue/compiler-sfc": "^3.5.41", + "@vue/test-utils": "^2.4.11", + "@vue/vue3-jest": "^27.0.0", + "autoprefixer": "^9.8.8", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "10.1.0", + "babel-jest": "27.5.1", + "babel-plugin-dynamic-import-node": "^2.3.3", + "beautifier": "^0.1.7", + "chalk": "4.1.2", + "chokidar": "3.6.0", + "compression-webpack-plugin": "^4.0.1", + "connect": "3.7.0", + "eslint": "7.32.0", + "eslint-plugin-vue": "^9.33.0", + "html-webpack-plugin": "4.5.2", + "husky": "9.1.7", + "jest": "27.5.1", + "jest-serializer-vue": "^3.1.0", + "jest-transform-stub": "^2.0.0", + "lint-staged": "17.3.0", + "mockjs": "1.1.0", + "path-browserify": "^1.0.1", + "plop": "2.7.6", + "runjs": "^4.4.2", + "sass": "^1.102.0", + "sass-loader": "^13.3.3", + "script-ext-html-webpack-plugin": "2.1.5", + "script-loader": "0.7.2", + "serve-static": "^1.16.3", + "svg-sprite-loader": "^5.2.1", + "svgo": "1.3.2" + }, + "packageManager": "pnpm@9.15.1", + "engines": { + "node": ">=22", + "pnpm": ">=9" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/admin-ui/pnpm-lock.yaml b/admin-ui/pnpm-lock.yaml new file mode 100644 index 0000000..384dadf --- /dev/null +++ b/admin-ui/pnpm-lock.yaml @@ -0,0 +1,15127 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@element-plus/icons-vue': + specifier: ^2.3.2 + version: 2.3.2(vue@3.5.41) + '@tsparticles/slim': + specifier: ^3.9.1 + version: 3.9.1 + '@tsparticles/vue3': + specifier: ^3.0.1 + version: 3.0.1 + '@vueuse/core': + specifier: ^14.4.0 + version: 14.4.0(vue@3.5.41) + axios: + specifier: ^1.19.0 + version: 1.19.0 + clipboard: + specifier: 2.0.11 + version: 2.0.11 + codemirror: + specifier: ^6.0.2 + version: 6.0.2 + core-js: + specifier: ^3.50.0 + version: 3.50.0 + driver.js: + specifier: 0.9.8 + version: 0.9.8 + dropzone: + specifier: 5.9.3 + version: 5.9.3 + echarts: + specifier: ^6.1.0 + version: 6.1.0 + element-plus: + specifier: ^2.14.4 + version: 2.14.4(vue@3.5.41) + file-saver: + specifier: 2.0.5 + version: 2.0.5 + fuse.js: + specifier: 6.6.2 + version: 6.6.2 + js-cookie: + specifier: 3.0.8 + version: 3.0.8 + jszip: + specifier: 3.10.1 + version: 3.10.1 + moment: + specifier: ^2.30.1 + version: 2.30.1 + normalize.css: + specifier: 8.0.1 + version: 8.0.1 + nprogress: + specifier: 0.2.0 + version: 0.2.0 + path-to-regexp: + specifier: 6.3.0 + version: 6.3.0 + remixicon: + specifier: ^2.5.0 + version: 2.5.0 + sass-resources-loader: + specifier: ^2.2.5 + version: 2.2.5 + screenfull: + specifier: 5.2.0 + version: 5.2.0 + vue: + specifier: ^3.5.41 + version: 3.5.41 + vue-codemirror: + specifier: ^6.1.1 + version: 6.1.1(codemirror@6.0.2)(vue@3.5.41) + vue-count-to: + specifier: 1.0.13 + version: 1.0.13 + vue-cropper: + specifier: ^1.1.4 + version: 1.1.4 + vue-router: + specifier: ^4.6.4 + version: 4.6.4(vue@3.5.41) + vue3-dnd: + specifier: ^2.1.0 + version: 2.1.0(vue@3.5.41) + vue3-treeselect: + specifier: ^0.1.10 + version: 0.1.10(vue@3.5.41) + vuedraggable: + specifier: ^4.1.0 + version: 4.1.0(vue@3.5.41) + vuex: + specifier: ^4.1.0 + version: 4.1.0(vue@3.5.41) + xlsx: + specifier: ^0.18.5 + version: 0.18.5 + devDependencies: + '@babel/core': + specifier: 7.28.3 + version: 7.28.3 + '@babel/eslint-parser': + specifier: ^7.29.7 + version: 7.29.7(@babel/core@7.28.3)(eslint@7.32.0) + '@babel/register': + specifier: ^7.29.7 + version: 7.29.7(@babel/core@7.28.3) + '@babel/runtime': + specifier: ^7.29.7 + version: 7.29.7 + '@playwright/test': + specifier: ^1.62.1 + version: 1.62.1 + '@vue/babel-plugin-jsx': + specifier: ^1.5.0 + version: 1.5.0(@babel/core@7.28.3) + '@vue/babel-preset-app': + specifier: ^5.0.9 + version: 5.0.9(@babel/core@7.28.3)(core-js@3.50.0)(vue@3.5.41) + '@vue/cli-plugin-babel': + specifier: ^5.0.9 + version: 5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(core-js@3.50.0)(postcss@5.2.18)(vue@3.5.41) + '@vue/cli-plugin-eslint': + specifier: ^5.0.9 + version: 5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(eslint@7.32.0)(postcss@5.2.18) + '@vue/cli-plugin-unit-jest': + specifier: ^5.0.9 + version: 5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(@vue/vue3-jest@27.0.0(@babel/core@7.28.3)(babel-jest@27.5.1(@babel/core@7.28.3))(jest@27.5.1)(vue@3.5.41))(jest@27.5.1) + '@vue/cli-service': + specifier: ^5.0.9 + version: 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + '@vue/compiler-sfc': + specifier: ^3.5.41 + version: 3.5.41 + '@vue/test-utils': + specifier: ^2.4.11 + version: 2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41) + '@vue/vue3-jest': + specifier: ^27.0.0 + version: 27.0.0(@babel/core@7.28.3)(babel-jest@27.5.1(@babel/core@7.28.3))(jest@27.5.1)(vue@3.5.41) + autoprefixer: + specifier: ^9.8.8 + version: 9.8.8 + babel-core: + specifier: 7.0.0-bridge.0 + version: 7.0.0-bridge.0(@babel/core@7.28.3) + babel-eslint: + specifier: 10.1.0 + version: 10.1.0(eslint@7.32.0) + babel-jest: + specifier: 27.5.1 + version: 27.5.1(@babel/core@7.28.3) + babel-plugin-dynamic-import-node: + specifier: ^2.3.3 + version: 2.3.3 + beautifier: + specifier: ^0.1.7 + version: 0.1.7 + chalk: + specifier: 4.1.2 + version: 4.1.2 + chokidar: + specifier: 3.6.0 + version: 3.6.0 + compression-webpack-plugin: + specifier: ^4.0.1 + version: 4.0.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + connect: + specifier: 3.7.0 + version: 3.7.0 + eslint: + specifier: 7.32.0 + version: 7.32.0 + eslint-plugin-vue: + specifier: ^9.33.0 + version: 9.33.0(eslint@7.32.0) + html-webpack-plugin: + specifier: 4.5.2 + version: 4.5.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + husky: + specifier: 9.1.7 + version: 9.1.7 + jest: + specifier: 27.5.1 + version: 27.5.1 + jest-serializer-vue: + specifier: ^3.1.0 + version: 3.1.0 + jest-transform-stub: + specifier: ^2.0.0 + version: 2.0.0 + lint-staged: + specifier: 17.3.0 + version: 17.3.0 + mockjs: + specifier: 1.1.0 + version: 1.1.0 + path-browserify: + specifier: ^1.0.1 + version: 1.0.1 + plop: + specifier: 2.7.6 + version: 2.7.6 + runjs: + specifier: ^4.4.2 + version: 4.4.2 + sass: + specifier: ^1.102.0 + version: 1.102.0 + sass-loader: + specifier: ^13.3.3 + version: 13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + script-ext-html-webpack-plugin: + specifier: 2.1.5 + version: 2.1.5(html-webpack-plugin@4.5.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + script-loader: + specifier: 0.7.2 + version: 0.7.2 + serve-static: + specifier: ^1.16.3 + version: 1.16.3 + svg-sprite-loader: + specifier: ^5.2.1 + version: 5.2.1 + svgo: + specifier: 1.3.2 + version: 1.3.2 + +packages: + + '@achrinza/node-ipc@9.2.10': + resolution: {integrity: sha512-rCkw57K82y1XA9KwBmuMrupFQr9VOS4Rn77vW2UD2j0+HjlP/npSON9COkUIfocd95B4wv5EpfWMr6lGD4lN3A==} + engines: {node: 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.12.11': + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.3': + resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} + engines: {node: '>=6.9.0'} + + '@babel/eslint-parser@7.29.7': + resolution: {integrity: sha512-zxt+UJTOMKvUt3yOg+D58MLuz334pHp93qifMFcjIIO+9hN6t+ufw2gi7vDPMpxvfnHRR+3VVXvIjineCcgyXw==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + + '@babel/generator@7.29.8': + resolution: {integrity: sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.29.7': + resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.29.7': + resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.29.7': + resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.8': + resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.29.7': + resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.29.7': + resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.29.7': + resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.29.7': + resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.29.7': + resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.29.7': + resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7': + resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7': + resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7': + resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7': + resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7': + resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7': + resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-decorators@7.29.7': + resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.29.7': + resolution: {integrity: sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.29.7': + resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.29.7': + resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.29.7': + resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.29.7': + resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.29.7': + resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.29.7': + resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.29.7': + resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.29.7': + resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.29.7': + resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.29.7': + resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.29.7': + resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.29.7': + resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.29.7': + resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.29.7': + resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.29.7': + resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.29.7': + resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.29.7': + resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-explicit-resource-management@7.29.7': + resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.29.7': + resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.29.7': + resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.29.7': + resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.29.7': + resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.29.7': + resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.29.7': + resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7': + resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.29.7': + resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.29.7': + resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.29.7': + resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.29.8': + resolution: {integrity: sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.29.7': + resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': + resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.29.7': + resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': + resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.29.7': + resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.29.7': + resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.29.7': + resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.29.7': + resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.29.7': + resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.29.7': + resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.29.7': + resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.29.7': + resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.29.7': + resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.29.8': + resolution: {integrity: sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regexp-modifiers@7.29.7': + resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-reserved-words@7.29.7': + resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-runtime@7.29.7': + resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.29.7': + resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.29.8': + resolution: {integrity: sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.29.7': + resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.29.7': + resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.29.7': + resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.29.7': + resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.29.7': + resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.29.7': + resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7': + resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.29.7': + resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/register@7.29.7': + resolution: {integrity: sha512-AMGJoWuES861riy6pcB0fphE1YXybtQnBYQMuIyPv6mKLiosfa79BKTnAOyx215c/3RJPJpdQwoHZ3earVH7AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime-corejs3@7.29.7': + resolution: {integrity: sha512-ppj9ouYku+RX0ljtgZd+KMO5mkM2bCqg8H2PYAFWnLsHEIKIdRojqbJ2i3eVHrisuxy7nOFCmngTDdWtUCdXUQ==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.8': + resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@codemirror/autocomplete@6.20.3': + resolution: {integrity: sha512-tlosUqb+3BbxCxZdu4tKeRghPFC+QM7q4X5YhKV2eCmPG+1r2F3f4AaSz5sCrFqUtX4Jh20VFTKecl16MgiV9g==} + + '@codemirror/commands@6.10.4': + resolution: {integrity: sha512-Ryk9y9T0FFVF0cUGhAknveAyUOl/A1qReTFi+qPKtOh2Z9F4AUBz3XOrYD4ZEgZirdugVzHvd/2/Wcwy5OliTg==} + + '@codemirror/language@6.12.4': + resolution: {integrity: sha512-1q4PaT+o6PbgpkJt4Q8Fv5XJxTy4FUZ4MWETtyiDw3J0Pyr9E2vqcKL+k9wcvjNTIsauxvE7OfmWj3FRPHQ76A==} + + '@codemirror/lint@6.9.7': + resolution: {integrity: sha512-28/+iWLYxKxsvGYhSYL7zaCZqLz5+FFFDq9tVsvGv9kv8RY4fFAchJ5WX9M3YrrRlTIsECjsXPqeNgnSmNP2dg==} + + '@codemirror/search@6.7.1': + resolution: {integrity: sha512-uMe5UO6PamJtSHrXhhHOzSX3ReWtiJrva6GnPMwSOrZtiExb5X5eExhr2OUZQVvdxPsKpY3Ro2mFbQadpPWmHA==} + + '@codemirror/state@6.7.1': + resolution: {integrity: sha512-9QzNDgE4EYDnAHfrTlR2lwiPciiOymLtwKK+8yHQzCc7GXhAP9xdEbEJFy2IWB1j9UGUl9BsgMmTo/ImA02T7A==} + + '@codemirror/view@6.43.8': + resolution: {integrity: sha512-qtItTDssZ/5GFfi94hrILu9j/VUeFPDPkhovEfmWFj2ipTxnzPB8DdHgfbb8HYTzLTYhrndKmyQxXUz/PDLenw==} + + '@ctrl/tinycolor@4.2.0': + resolution: {integrity: sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==} + engines: {node: '>=14'} + + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + + '@element-plus/icons-vue@2.3.2': + resolution: {integrity: sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==} + peerDependencies: + vue: ^3.2.0 + + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint/eslintrc@0.4.3': + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + + '@floating-ui/core@1.8.0': + resolution: {integrity: sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==} + + '@floating-ui/dom@1.8.0': + resolution: {integrity: sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==} + + '@floating-ui/utils@0.2.12': + resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + + '@humanwhocodes/config-array@0.5.0': + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/object-schema@1.2.1': + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} + engines: {node: '>=8'} + + '@jest/console@27.5.1': + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/console@28.1.3': + resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/core@27.5.1': + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@27.5.1': + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/fake-timers@27.5.1': + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/globals@27.5.1': + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/reporters@27.5.1': + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@28.1.3': + resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/source-map@27.5.1': + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@27.5.1': + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@28.1.3': + resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/test-sequencer@27.5.1': + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/transform@27.5.1': + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@28.1.3': + resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + + '@lezer/common@1.5.2': + resolution: {integrity: sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==} + + '@lezer/highlight@1.2.3': + resolution: {integrity: sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==} + + '@lezer/lr@1.4.10': + resolution: {integrity: sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==} + + '@marijn/find-cluster-break@1.0.3': + resolution: {integrity: sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA==} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@node-ipc/js-queue@2.0.3': + resolution: {integrity: sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==} + engines: {node: '>=1.0.0'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@npmcli/fs@1.1.1': + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + + '@npmcli/move-file@1.1.2': + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + + '@one-ini/wasm@0.1.1': + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + + '@parcel/watcher-android-arm64@2.6.0': + resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.6.0': + resolution: {integrity: sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.6.0': + resolution: {integrity: sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.6.0': + resolution: {integrity: sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.6.0': + resolution: {integrity: sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.6.0': + resolution: {integrity: sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.6.0': + resolution: {integrity: sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.6.0': + resolution: {integrity: sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.6.0': + resolution: {integrity: sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.6.0': + resolution: {integrity: sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.6.0': + resolution: {integrity: sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-x64@2.6.0': + resolution: {integrity: sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.6.0': + resolution: {integrity: sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@playwright/test@1.62.1': + resolution: {integrity: sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==} + engines: {node: '>=20'} + hasBin: true + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@react-dnd/asap@5.0.2': + resolution: {integrity: sha512-WLyfoHvxhs0V9U+GTsGilGgf2QsPl6ZZ44fnv0/b8T3nQyvzxidxsg/ZltbWssbsRDlYW8UKSQMTGotuTotZ6A==} + + '@react-dnd/invariant@4.0.2': + resolution: {integrity: sha512-xKCTqAK/FFauOM9Ta2pswIyT3D8AQlfrYdOi/toTPEhqCuAs1v5tcJ3Y08Izh1cJ5Jchwy9SeAXmMg6zrKs2iw==} + + '@react-dnd/shallowequal@4.0.2': + resolution: {integrity: sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==} + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + '@sinclair/typebox@0.24.52': + resolution: {integrity: sha512-DNKwjDaMLKWXvjs/zCkSzA3rBzZVv4tuLCEV8ArRyHAqCtPtbUcQj0XS4h7y/CqL9pI6VpCmcH5A6oPOBAD9+Q==} + + '@sinonjs/commons@1.8.6': + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + + '@sinonjs/fake-timers@8.1.0': + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + + '@soda/friendly-errors-webpack-plugin@1.8.1': + resolution: {integrity: sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==} + engines: {node: '>=8.0.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + '@soda/get-current-script@1.0.2': + resolution: {integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==} + + '@sxzz/popperjs-es@2.11.8': + resolution: {integrity: sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==} + + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + + '@tsparticles/basic@3.9.1': + resolution: {integrity: sha512-ijr2dHMx0IQHqhKW3qA8tfwrR2XYbbWYdaJMQuBo2CkwBVIhZ76U+H20Y492j/NXpd1FUnt2aC0l4CEVGVGdeQ==} + + '@tsparticles/engine@3.9.1': + resolution: {integrity: sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==} + + '@tsparticles/interaction-external-attract@3.9.1': + resolution: {integrity: sha512-5AJGmhzM9o4AVFV24WH5vSqMBzOXEOzIdGLIr+QJf4fRh9ZK62snsusv/ozKgs2KteRYQx+L7c5V3TqcDy2upg==} + + '@tsparticles/interaction-external-bounce@3.9.1': + resolution: {integrity: sha512-bv05+h70UIHOTWeTsTI1AeAmX6R3s8nnY74Ea6p6AbQjERzPYIa0XY19nq/hA7+Nrg+EissP5zgoYYeSphr85A==} + + '@tsparticles/interaction-external-bubble@3.9.1': + resolution: {integrity: sha512-tbd8ox/1GPl+zr+KyHQVV1bW88GE7OM6i4zql801YIlCDrl9wgTDdDFGIy9X7/cwTvTrCePhrfvdkUamXIribQ==} + + '@tsparticles/interaction-external-connect@3.9.1': + resolution: {integrity: sha512-sq8YfUNsIORjXHzzW7/AJQtfi/qDqLnYG2qOSE1WOsog39MD30RzmiOloejOkfNeUdcGUcfsDgpUuL3UhzFUOA==} + + '@tsparticles/interaction-external-grab@3.9.1': + resolution: {integrity: sha512-QwXza+sMMWDaMiFxd8y2tJwUK6c+nNw554+/9+tEZeTTk2fCbB0IJ7p/TH6ZGWDL0vo2muK54Njv2fEey191ow==} + + '@tsparticles/interaction-external-pause@3.9.1': + resolution: {integrity: sha512-Gzv4/FeNir0U/tVM9zQCqV1k+IAgaFjDU3T30M1AeAsNGh/rCITV2wnT7TOGFkbcla27m4Yxa+Fuab8+8pzm+g==} + + '@tsparticles/interaction-external-push@3.9.1': + resolution: {integrity: sha512-GvnWF9Qy4YkZdx+WJL2iy9IcgLvzOIu3K7aLYJFsQPaxT8d9TF8WlpoMlWKnJID6H5q4JqQuMRKRyWH8aAKyQw==} + + '@tsparticles/interaction-external-remove@3.9.1': + resolution: {integrity: sha512-yPThm4UDWejDOWW5Qc8KnnS2EfSo5VFcJUQDWc1+Wcj17xe7vdSoiwwOORM0PmNBzdDpSKQrte/gUnoqaUMwOA==} + + '@tsparticles/interaction-external-repulse@3.9.1': + resolution: {integrity: sha512-/LBppXkrMdvLHlEKWC7IykFhzrz+9nebT2fwSSFXK4plEBxDlIwnkDxd3FbVOAbnBvx4+L8+fbrEx+RvC8diAw==} + + '@tsparticles/interaction-external-slow@3.9.1': + resolution: {integrity: sha512-1ZYIR/udBwA9MdSCfgADsbDXKSFS0FMWuPWz7bm79g3sUxcYkihn+/hDhc6GXvNNR46V1ocJjrj0u6pAynS1KQ==} + + '@tsparticles/interaction-particles-attract@3.9.1': + resolution: {integrity: sha512-CYYYowJuGwRLUixQcSU/48PTKM8fCUYThe0hXwQ+yRMLAn053VHzL7NNZzKqEIeEyt5oJoy9KcvubjKWbzMBLQ==} + + '@tsparticles/interaction-particles-collisions@3.9.1': + resolution: {integrity: sha512-ggGyjW/3v1yxvYW1IF1EMT15M6w31y5zfNNUPkqd/IXRNPYvm0Z0ayhp+FKmz70M5p0UxxPIQHTvAv9Jqnuj8w==} + + '@tsparticles/interaction-particles-links@3.9.1': + resolution: {integrity: sha512-MsLbMjy1vY5M5/hu/oa5OSRZAUz49H3+9EBMTIOThiX+a+vpl3sxc9AqNd9gMsPbM4WJlub8T6VBZdyvzez1Vg==} + + '@tsparticles/move-base@3.9.1': + resolution: {integrity: sha512-X4huBS27d8srpxwOxliWPUt+NtCwY+8q/cx1DvQxyqmTA8VFCGpcHNwtqiN+9JicgzOvSuaORVqUgwlsc7h4pQ==} + deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/plugin-move + + '@tsparticles/move-parallax@3.9.1': + resolution: {integrity: sha512-whlOR0bVeyh6J/hvxf/QM3DqvNnITMiAQ0kro6saqSDItAVqg4pYxBfEsSOKq7EhjxNvfhhqR+pFMhp06zoCVA==} + deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/interaction-external-parallax + + '@tsparticles/plugin-easing-quad@3.9.1': + resolution: {integrity: sha512-C2UJOca5MTDXKUTBXj30Kiqr5UyID+xrY/LxicVWWZPczQW2bBxbIbfq9ULvzGDwBTxE2rdvIB8YFKmDYO45qw==} + + '@tsparticles/plugin-hex-color@3.9.1': + resolution: {integrity: sha512-vZgZ12AjUicJvk7AX4K2eAmKEQX/D1VEjEPFhyjbgI7A65eX72M465vVKIgNA6QArLZ1DLs7Z787LOE6GOBWsg==} + + '@tsparticles/plugin-hsl-color@3.9.1': + resolution: {integrity: sha512-jJd1iGgRwX6eeNjc1zUXiJivaqC5UE+SC2A3/NtHwwoQrkfxGWmRHOsVyLnOBRcCPgBp/FpdDe6DIDjCMO715w==} + + '@tsparticles/plugin-rgb-color@3.9.1': + resolution: {integrity: sha512-SBxk7f1KBfXeTnnklbE2Hx4jBgh6I6HOtxb+Os1gTp0oaghZOkWcCD2dP4QbUu7fVNCMOcApPoMNC8RTFcy9wQ==} + + '@tsparticles/shape-circle@3.9.1': + resolution: {integrity: sha512-DqZFLjbuhVn99WJ+A9ajz9YON72RtCcvubzq6qfjFmtwAK7frvQeb6iDTp6Ze9FUipluxVZWVRG4vWTxi2B+/g==} + + '@tsparticles/shape-emoji@3.9.1': + resolution: {integrity: sha512-ifvY63usuT+hipgVHb8gelBHSeF6ryPnMxAAEC1RGHhhXfpSRWMtE6ybr+pSsYU52M3G9+TF84v91pSwNrb9ZQ==} + + '@tsparticles/shape-image@3.9.1': + resolution: {integrity: sha512-fCA5eme8VF3oX8yNVUA0l2SLDKuiZObkijb0z3Ky0qj1HUEVlAuEMhhNDNB9E2iELTrWEix9z7BFMePp2CC7AA==} + + '@tsparticles/shape-line@3.9.1': + resolution: {integrity: sha512-wT8NSp0N9HURyV05f371cHKcNTNqr0/cwUu6WhBzbshkYGy1KZUP9CpRIh5FCrBpTev34mEQfOXDycgfG0KiLQ==} + + '@tsparticles/shape-polygon@3.9.1': + resolution: {integrity: sha512-dA77PgZdoLwxnliH6XQM/zF0r4jhT01pw5y7XTeTqws++hg4rTLV9255k6R6eUqKq0FPSW1/WBsBIl7q/MmrqQ==} + + '@tsparticles/shape-square@3.9.1': + resolution: {integrity: sha512-DKGkDnRyZrAm7T2ipqNezJahSWs6xd9O5LQLe5vjrYm1qGwrFxJiQaAdlb00UNrexz1/SA7bEoIg4XKaFa7qhQ==} + + '@tsparticles/shape-star@3.9.1': + resolution: {integrity: sha512-kdMJpi8cdeb6vGrZVSxTG0JIjCwIenggqk0EYeKAwtOGZFBgL7eHhF2F6uu1oq8cJAbXPujEoabnLsz6mW8XaA==} + + '@tsparticles/slim@3.9.1': + resolution: {integrity: sha512-CL5cDmADU7sDjRli0So+hY61VMbdroqbArmR9Av+c1Fisa5ytr6QD7Jv62iwU2S6rvgicEe9OyRmSy5GIefwZw==} + + '@tsparticles/updater-color@3.9.1': + resolution: {integrity: sha512-XGWdscrgEMA8L5E7exsE0f8/2zHKIqnTrZymcyuFBw2DCB6BIV+5z6qaNStpxrhq3DbIxxhqqcybqeOo7+Alpg==} + deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/updater-paint + + '@tsparticles/updater-life@3.9.1': + resolution: {integrity: sha512-Oi8aF2RIwMMsjssUkCB6t3PRpENHjdZf6cX92WNfAuqXtQphr3OMAkYFJFWkvyPFK22AVy3p/cFt6KE5zXxwAA==} + + '@tsparticles/updater-opacity@3.9.1': + resolution: {integrity: sha512-w778LQuRZJ+IoWzeRdrGykPYSSaTeWfBvLZ2XwYEkh/Ss961InOxZKIpcS6i5Kp/Zfw0fS1ZAuqeHwuj///Osw==} + + '@tsparticles/updater-out-modes@3.9.1': + resolution: {integrity: sha512-cKQEkAwbru+hhKF+GTsfbOvuBbx2DSB25CxOdhtW2wRvDBoCnngNdLw91rs+0Cex4tgEeibkebrIKFDDE6kELg==} + + '@tsparticles/updater-rotate@3.9.1': + resolution: {integrity: sha512-9BfKaGfp28JN82MF2qs6Ae/lJr9EColMfMTHqSKljblwbpVDHte4umuwKl3VjbRt87WD9MGtla66NTUYl+WxuQ==} + + '@tsparticles/updater-size@3.9.1': + resolution: {integrity: sha512-3NSVs0O2ApNKZXfd+y/zNhTXSFeG1Pw4peI8e6z/q5+XLbmue9oiEwoPy/tQLaark3oNj3JU7Q903ZijPyXSzw==} + + '@tsparticles/updater-stroke-color@3.9.1': + resolution: {integrity: sha512-3x14+C2is9pZYTg9T2TiA/aM1YMq4wLdYaZDcHm3qO30DZu5oeQq0rm/6w+QOGKYY1Z3Htg9rlSUZkhTHn7eDA==} + deprecated: this package was deprecated in tsparticles v4, replaced by @tsparticles/updater-paint + + '@tsparticles/vue3@3.0.1': + resolution: {integrity: sha512-BxaSZ0wtxq33SDsrqLkLWoV88Jd5BnBoYjyVhKSNzOLOesCiG8Z5WQC1QZGTez79l/gBe0xaCDF0ng1e2iKJvA==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/body-parser@1.19.6': + resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/eslint@8.56.12': + resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/express-serve-static-core@4.19.9': + resolution: {integrity: sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==} + + '@types/express-serve-static-core@5.1.3': + resolution: {integrity: sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==} + + '@types/express@4.17.25': + resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} + + '@types/fined@1.1.5': + resolution: {integrity: sha512-2N93vadEGDFhASTIRbizbl4bNqpMOId5zZfj6hHqYZfEzEfO9onnU4Im8xvzo8uudySDveDHBOOSlTWf38ErfQ==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/html-minifier-terser@5.1.2': + resolution: {integrity: sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-errors@2.0.5': + resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} + + '@types/http-proxy@1.17.17': + resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} + + '@types/inquirer@6.5.0': + resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==} + + '@types/interpret@1.1.4': + resolution: {integrity: sha512-r+tPKWHYqaxJOYA3Eik0mMi+SEREqOXLmsooRFmc6GHv7nWUDixFtKN+cegvsPlDcEZd9wxsdp041v2imQuvag==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@27.5.2': + resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/liftoff@2.5.1': + resolution: {integrity: sha512-nB3R6Q9CZcM07JgiTK6ibxqrG1reiHE+UX7em/W1DKwVBxDlfKWOefQjk4jubY5xX+GDxVsWR2KD1SenPby8ow==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.25': + resolution: {integrity: sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/minimatch@6.0.0': + resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} + deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. + + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + + '@types/node@26.2.0': + resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/q@1.5.8': + resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} + + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/send@0.17.6': + resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} + + '@types/send@1.2.1': + resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.10': + resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/source-list-map@0.1.6': + resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/strip-bom@3.0.0': + resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==} + + '@types/strip-json-comments@0.0.30': + resolution: {integrity: sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==} + + '@types/tapable@1.0.12': + resolution: {integrity: sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==} + + '@types/through@0.0.33': + resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} + + '@types/uglify-js@3.17.5': + resolution: {integrity: sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==} + + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + + '@types/webpack-sources@3.2.3': + resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} + + '@types/webpack@4.41.40': + resolution: {integrity: sha512-u6kMFSBM9HcoTpUXnL6mt2HSzftqb3JgYV6oxIgL2dl6sX6aCa5k6SOkzv5DuZjBTPUE/dJltKtwwuqrkZHpfw==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@16.0.11': + resolution: {integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==} + + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} + + '@vue/babel-helper-vue-jsx-merge-props@1.4.0': + resolution: {integrity: sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==} + + '@vue/babel-helper-vue-transform-on@1.5.0': + resolution: {integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==} + + '@vue/babel-plugin-jsx@1.5.0': + resolution: {integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.5.0': + resolution: {integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-plugin-transform-vue-jsx@1.4.0': + resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-preset-app@5.0.9': + resolution: {integrity: sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==} + peerDependencies: + '@babel/core': '*' + core-js: ^3 + vue: ^2 || ^3.2.13 + peerDependenciesMeta: + core-js: + optional: true + vue: + optional: true + + '@vue/babel-preset-jsx@1.4.0': + resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + vue: '*' + peerDependenciesMeta: + vue: + optional: true + + '@vue/babel-sugar-composition-api-inject-h@1.4.0': + resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-sugar-composition-api-render-instance@1.4.0': + resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-sugar-functional-vue@1.4.0': + resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-sugar-inject-h@1.4.0': + resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-sugar-v-model@1.4.0': + resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/babel-sugar-v-on@1.4.0': + resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/cli-overlay@5.0.9': + resolution: {integrity: sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==} + + '@vue/cli-plugin-babel@5.0.9': + resolution: {integrity: sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==} + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + + '@vue/cli-plugin-eslint@5.0.9': + resolution: {integrity: sha512-OfAa85qhP0dKSprI8+9qjbXW8BzOlOvEtXwdrTrAKlD6aN8oa/u6k4vbfJGdYbpsbpkj8FXYdCRkTgNG8KZbxg==} + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + eslint: '>=7.5.0' + + '@vue/cli-plugin-router@5.0.9': + resolution: {integrity: sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==} + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + + '@vue/cli-plugin-unit-jest@5.0.9': + resolution: {integrity: sha512-Fp5aos0+S64UeBcdxiC7+6jSWRN1b3iIwIB3v+tpkCaBDsR+54f66MQMqv6lfF16l2HT8qLbsjq8dbxDljilsA==} + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + '@vue/vue2-jest': ^27.0.0-alpha.3 + '@vue/vue3-jest': ^27.0.0-alpha.3 + jest: ^27.1.0 + ts-jest: ^27.0.4 + peerDependenciesMeta: + '@vue/vue2-jest': + optional: true + '@vue/vue3-jest': + optional: true + ts-jest: + optional: true + + '@vue/cli-plugin-vuex@5.0.9': + resolution: {integrity: sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==} + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0 + + '@vue/cli-service@5.0.9': + resolution: {integrity: sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==} + engines: {node: ^12.0.0 || >= 14.0.0} + hasBin: true + peerDependencies: + cache-loader: '*' + less-loader: '*' + pug-plain-loader: '*' + raw-loader: '*' + sass-loader: '*' + stylus-loader: '*' + vue-template-compiler: ^2.0.0 + webpack-sources: '*' + peerDependenciesMeta: + cache-loader: + optional: true + less-loader: + optional: true + pug-plain-loader: + optional: true + raw-loader: + optional: true + sass-loader: + optional: true + stylus-loader: + optional: true + vue-template-compiler: + optional: true + webpack-sources: + optional: true + + '@vue/cli-shared-utils@5.0.9': + resolution: {integrity: sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==} + + '@vue/compiler-core@3.5.41': + resolution: {integrity: sha512-q0Xtv/F9w2YO/7htQhtiL+Ev2WCJbe5N2hc+XfgyKkEKqWpSxknmT8QOuGdEKNdjPq0c3F7rNpFkTo3Kfrm7pg==} + + '@vue/compiler-dom@3.5.41': + resolution: {integrity: sha512-oKacVfNglLvGjnS6BXOlGL7EyG2h8X03pqXCjzotRZUaXGjbrTJUnVAQjrCqUnS+lyu31nwQjZY/d817GmCnfw==} + + '@vue/compiler-sfc@3.5.41': + resolution: {integrity: sha512-XJhip7R2wy6vX3knCxdZN4KracFaZUef58s1KYewqluedHIJaPIVfXoYT7MF1F8nCvv6k8bWWxDC8opMkg1VTQ==} + + '@vue/compiler-ssr@3.5.41': + resolution: {integrity: sha512-U3v5OejKEGqOI0Wy0+Sz7hGuIFZHA4LSXzrNM3IMIeDyJEBBfTpX26n3SDgToRpP2bLc9FfI2j/kSgcJ8Emq5A==} + + '@vue/component-compiler-utils@3.3.0': + resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/reactivity@3.5.41': + resolution: {integrity: sha512-rznsqKM0np0x18EjzF8x88MpEhdNsffbvFbckLL5+oUKz1BxAImEmO7J1ArRYSyo6aQaVoBDp7jEkT91OOxydA==} + + '@vue/runtime-core@3.5.41': + resolution: {integrity: sha512-Vcry58hiAKwGen9Z1jUZE0feFsNArPCMOImYI8el48A9Idf6DuQYD0U05zZIF2Iad1hGhPSvcbBbAOhNr55fhg==} + + '@vue/runtime-dom@3.5.41': + resolution: {integrity: sha512-3vVBahVBS9+U6cmXBLyb8nE6/yYo4J/CGI9eVFs3KiMc0YHuudwKyShTD65jtJy/L9PUUxNAFu4cj4LiJ0UFbw==} + + '@vue/server-renderer@3.5.41': + resolution: {integrity: sha512-n6hx/pNFfbD6SuyeuMVkvqox8bwf/ET9JlA/kAz/imw8sw++wkqKe2mHX5KutjPpbKE4Z56yTHszoOjGMI9igQ==} + + '@vue/shared@3.5.41': + resolution: {integrity: sha512-IOnwSCma8j+9xJT6b8H0dEYidC80NsYmNMlZxRsukYcSoGaDBohog5hDxzeUXdFeGWFA++vWvxqOmrr96VlqMA==} + + '@vue/test-utils@2.4.11': + resolution: {integrity: sha512-GDqaqZsA6m2E5vNzej0aYiIb6BX8xV9pNSbbbXKOfEYwg7ZNblVX8suyqmUBThq8VIrgAJNxn+z72hVtUeiWHA==} + peerDependencies: + '@vue/compiler-dom': 3.x + '@vue/server-renderer': 3.x + vue: 3.x + peerDependenciesMeta: + '@vue/server-renderer': + optional: true + + '@vue/vue3-jest@27.0.0': + resolution: {integrity: sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==} + peerDependencies: + '@babel/core': 7.x + babel-jest: 27.x + jest: 27.x + ts-jest: 27.x + typescript: '>= 3.x' + vue: ^3.0.0-0 + peerDependenciesMeta: + ts-jest: + optional: true + typescript: + optional: true + + '@vue/web-component-wrapper@1.3.0': + resolution: {integrity: sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==} + + '@vueuse/core@14.3.0': + resolution: {integrity: sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/core@14.4.0': + resolution: {integrity: sha512-X4WHz1HlCzCBoYXesUkifzzWBAcZgXG8Fi5iNPQg/epdzOB3gu8Fawj3hvuwYR1nGcXGnvxwYYcUC/71++svtQ==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/metadata@14.3.0': + resolution: {integrity: sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==} + + '@vueuse/metadata@14.4.0': + resolution: {integrity: sha512-swx/255R6JyHZFJhx845iz5CRWDZdCfvkZOpACWc5+c5WHcG24mv8gUT1WIdFQaHt6dq79rvILd9QnCWiyVm9g==} + + '@vueuse/shared@14.3.0': + resolution: {integrity: sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==} + peerDependencies: + vue: ^3.5.0 + + '@vueuse/shared@14.4.0': + resolution: {integrity: sha512-JRgY90Sz8DDtPMsaDflvPMp9xYk69JZAmbuDvAquUVXKr2gEjqtzGNTTthLfckH0BzBqvnu31gb4a8TGLRe79g==} + peerDependencies: + vue: ^3.5.0 + + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + adler-32@1.3.1: + resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} + engines: {node: '>=0.8'} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@3.2.0: + resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} + engines: {node: '>=4'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-each@1.0.1: + resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} + engines: {node: '>=0.10.0'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-slice@1.1.0: + resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} + engines: {node: '>=0.10.0'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + array.prototype.reduce@1.0.8: + resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==} + engines: {node: '>= 0.4'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + autoprefixer@10.5.4: + resolution: {integrity: sha512-MaU0U/za7N3r6brxD4YB/l4NSrFzLPlANv6wEuQVaIPlD3L4W9rFcQPbL/EilY9BHhHvhfcz3gInDLrEtWT4EA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + autoprefixer@9.8.8: + resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} + hasBin: true + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@1.19.0: + resolution: {integrity: sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==} + + babel-core@7.0.0-bridge.0: + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-eslint@10.1.0: + resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} + engines: {node: '>=6'} + deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. + peerDependencies: + eslint: '>= 4.12.1' + + babel-jest@27.5.1: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-loader@8.4.1: + resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + + babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.14.2: + resolution: {integrity: sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.8: + resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@27.5.1: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + baseline-browser-mapping@2.11.13: + resolution: {integrity: sha512-k9HNuUVMlqVjQ9UHzfPjIqiDbWw7WqT1AoT7GL8VwvF3r0ZfArtgiSPAlmupyNquNgOJHTuH4CKYf8ttMTWBTQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + beautifier@0.1.7: + resolution: {integrity: sha512-Cga3CbFzKG705HIXhoFSdQ+LQzTNoCkrHCzeD5SE/stLPjxfOoZnqG/VHJNzTa6FXfRuEtvUcim9+oxBMzTuBg==} + engines: {node: '>=0.4.12'} + hasBin: true + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + body-parser@1.20.6: + resolution: {integrity: sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bonjour-service@1.4.4: + resolution: {integrity: sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} + + brace-expansion@2.1.4: + resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} + + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + + browserslist@4.28.8: + resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001809: + resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + + case-sensitive-paths-webpack-plugin@2.4.0: + resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} + engines: {node: '>=4'} + + cfb@1.2.2: + resolution: {integrity: sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==} + engines: {node: '>=0.8'} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@2.3.0: + resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + change-case@3.1.0: + resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + char-regex@2.0.2: + resolution: {integrity: sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==} + engines: {node: '>=12.20'} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + ci-info@1.6.0: + resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + clean-css@4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + clipboard@2.0.11: + resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==} + + clipboardy@2.3.0: + resolution: {integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==} + engines: {node: '>=8'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + coa@2.0.2: + resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} + engines: {node: '>= 4.0'} + + codemirror@6.0.2: + resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==} + + codepage@1.15.0: + resolution: {integrity: sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==} + engines: {node: '>=0.8'} + + collect-v8-coverage@1.0.3: + resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@15.0.0: + resolution: {integrity: sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==} + engines: {node: '>=22.12.0'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression-webpack-plugin@4.0.1: + resolution: {integrity: sha512-0mg6PgwTsUe5LEcUrOu3ob32vraDx2VdbMGAT1PARcOV+UJWDYZFdkSo6RbHoGQ061mmmkC7XpRKOlvwm/gzJQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + condense-newlines@0.2.1: + resolution: {integrity: sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg==} + engines: {node: '>=0.10.0'} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + + consolidate@0.15.1: + resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} + engines: {node: '>= 0.10.0'} + deprecated: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog + peerDependencies: + arc-templates: ^0.5.3 + atpl: '>=0.7.6' + babel-core: ^6.26.3 + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jade: ^1.11.0 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + marko: ^3.14.4 + mote: ^0.2.0 + mustache: ^3.0.0 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + razor-tmpl: ^1.3.1 + react: ^16.13.1 + react-dom: ^16.13.1 + slm: ^2.0.0 + squirrelly: ^5.1.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: '>=0.2.3' + then-jade: '*' + then-pug: '*' + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + arc-templates: + optional: true + atpl: + optional: true + babel-core: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jade: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + marko: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + razor-tmpl: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + squirrelly: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-jade: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true + + constant-case@2.0.0: + resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} + + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + copy-webpack-plugin@9.1.0: + resolution: {integrity: sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.1.0 + + core-js-compat@3.50.0: + resolution: {integrity: sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q==} + engines: {node: '>=6.4.0'} + + core-js-pure@3.50.0: + resolution: {integrity: sha512-6GP3Pxz4IKyWjAfa747vIu/jilB5z29JWROLqH/b+pXVcpgh6tM06ZIBwSuglgVqzDYURhOK6oEzTrG0bCHitA==} + + core-js@3.50.0: + resolution: {integrity: sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crelt@1.0.7: + resolution: {integrity: sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==} + + cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-declaration-sorter@6.4.1: + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + css-minimizer-webpack-plugin@3.4.1: + resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@parcel/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + + css-select-base-adapter@0.1.1: + resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} + + css-select@2.1.0: + resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-tree@1.0.0-alpha.37: + resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} + engines: {node: '>=8.0.0'} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@3.4.2: + resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} + engines: {node: '>= 6'} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@5.2.14: + resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + cssnano-utils@3.1.0: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + cssnano@5.1.15: + resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + dayjs@1.11.21: + resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@1.3.2: + resolution: {integrity: sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==} + engines: {node: '>=0.10.0'} + + deepmerge@1.5.2: + resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} + engines: {node: '>=0.10.0'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + del@5.1.0: + resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==} + engines: {node: '>=8'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegate@3.2.0: + resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-file@1.0.0: + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dnd-core@16.0.1: + resolution: {integrity: sha512-HK294sl7tbw6F6IeuK16YSBUoorvHpY8RHO+9yFfaJyCDVb6n7PRcezrOEOa2SBCqiYpemh5Jx20ZcjKdFAVng==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + + domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domready@1.0.8: + resolution: {integrity: sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==} + + domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + dot-case@2.1.1: + resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dotenv-expand@5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + + dotenv@10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + + driver.js@0.9.8: + resolution: {integrity: sha512-bczjyKdX6XmFyCDkwtRmlaORDwfBk1xXmRO0CAe5VwNQTM98aWaG2LAIiIdTe53iV/B7W5lXlIy2xYtf0JRb7Q==} + + dropzone@5.9.3: + resolution: {integrity: sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + easy-stack@1.0.1: + resolution: {integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==} + engines: {node: '>=6.0.0'} + + echarts@6.1.0: + resolution: {integrity: sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA==} + + editorconfig@1.0.7: + resolution: {integrity: sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==} + engines: {node: '>=14'} + hasBin: true + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.403: + resolution: {integrity: sha512-MQsYmdaLzvaCX5j+ZZBr5Fm6uCCnPQcRtlvmvRlWqrXy+BH2O4ffXIAScF+JQznQWB9brWp4lSD9Z4yNmaf2BA==} + + element-plus@2.14.4: + resolution: {integrity: sha512-vMKR9tFcLeNrJgFXA3zhUn6YuRKUQW9d0btakBR8U1Iq8MfzkjMOGcgs5de2VgiLldHt69brmuBHpxc3bK4ZgQ==} + peerDependencies: + vue: ^3.3.7 + + emittery@0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + + emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enhanced-resolve@5.24.5: + resolution: {integrity: sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + + es-abstract@1.24.2: + resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} + engines: {node: '>= 0.4'} + + es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-plugin-vue@9.33.0: + resolution: {integrity: sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + + eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-webpack-plugin@3.2.0: + resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + webpack: ^5.0.0 + + eslint@7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-pubsub@4.3.0: + resolution: {integrity: sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==} + engines: {node: '>=4.0.0'} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@0.8.0: + resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} + engines: {node: '>=4'} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + expand-tilde@2.0.2: + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} + + expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.1.5: + resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + figures@2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-saver@2.0.5: + resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} + engines: {node: '>= 0.8'} + + find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + findup-sync@2.0.0: + resolution: {integrity: sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==} + engines: {node: '>= 0.10'} + + fined@1.2.0: + resolution: {integrity: sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==} + engines: {node: '>= 0.10'} + + flagged-respawn@1.0.1: + resolution: {integrity: sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==} + engines: {node: '>= 0.10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + for-own@1.0.0: + resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} + engines: {node: '>=0.10.0'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data@3.0.5: + resolution: {integrity: sha512-j23EibVLnp4zNXGW7LjryXYa2X6U/M96yoOX+ybZxwkYajdxRNEqYY3zhh7y0i6kfISKS2jr+EJq1YTUDEv5+w==} + engines: {node: '>= 6'} + + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} + engines: {node: '>= 6'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + frac@1.1.2: + resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==} + engines: {node: '>=0.8'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} + engines: {node: '>= 0.4'} + + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + fuse.js@6.6.2: + resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} + engines: {node: '>=10'} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-modules@1.0.0: + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} + + global-prefix@1.0.2: + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + good-listener@1.2.2: + resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + handlebars@4.7.9: + resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-flag@2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + hash-sum@1.0.2: + resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==} + + hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + header-case@1.0.1: + resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + homedir-polyfill@1.0.3: + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-minifier-terser@5.1.1: + resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==} + engines: {node: '>=6'} + hasBin: true + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-tags@2.0.0: + resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} + engines: {node: '>=4'} + + html-webpack-plugin@4.5.2: + resolution: {integrity: sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==} + engines: {node: '>=6.9'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + html-webpack-plugin@5.6.8: + resolution: {integrity: sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x || 2.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.10: + resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} + + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + + http-proxy-middleware@2.0.10: + resolution: {integrity: sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + husky@9.1.7: + resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} + engines: {node: '>=18'} + hasBin: true + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + + immutable@5.1.9: + resolution: {integrity: sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inquirer@7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.5.0: + resolution: {integrity: sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==} + engines: {node: '>= 10'} + + is-absolute@1.0.0: + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} + + is-accessor-descriptor@1.0.2: + resolution: {integrity: sha512-AIbwAcazqP3R65dGvqk1V+a+vE5Fg1yu/ZKMOiBWSUIXXiwQkYmXQcVa2O0nh0tSDKDFKxG2mY7dB1Sr4hEP1g==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@1.2.1: + resolution: {integrity: sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==} + hasBin: true + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-descriptor@0.1.8: + resolution: {integrity: sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.4: + resolution: {integrity: sha512-bv5z95W0dDtLfKwDfkTNxaRxmISBD3eQBKJeVxv2AQ7MjuUnDNG7cIQqvFtMOUYhsILWHhMayWdoGqNqYYYjww==} + engines: {node: '>= 0.4'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-file-esm@1.0.0: + resolution: {integrity: sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-lower-case@1.1.3: + resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-relative@1.0.0: + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unc-path@1.0.0: + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-upper-case@1.1.2: + resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-whitespace@0.3.0: + resolution: {integrity: sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==} + engines: {node: '>=0.10.0'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + javascript-stringify@2.1.0: + resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} + + jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-message-util@28.1.3: + resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-regex-util@28.0.2: + resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-serializer-vue@2.0.2: + resolution: {integrity: sha512-nK/YIFo6qe3i9Ge+hr3h4PpRehuPPGZFt8LDBdTHYldMb7ZWlkanZS8Ls7D8h6qmQP2lBQVDLP0DKn5bJ9QApQ==} + + jest-serializer-vue@3.1.0: + resolution: {integrity: sha512-vXz9/3IgBbLhsaVANYLG4ROCQd+Wg3qbB6ICofzFL+fbhSFPlqb0/MMGXcueVsjaovdWlYiRaLQLpdi1PTcoRQ==} + + jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-transform-stub@2.0.0: + resolution: {integrity: sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==} + + jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-util@28.1.3: + resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watch-typeahead@1.1.0: + resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + jest: ^27.0.0 || ^28.0.0 + + jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watcher@28.1.3: + resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@28.1.3: + resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest@27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + joi@17.13.4: + resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} + + js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + + js-beautify@1.15.4: + resolution: {integrity: sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==} + engines: {node: '>=14'} + hasBin: true + + js-cookie@3.0.8: + resolution: {integrity: sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw==} + + js-message@1.0.7: + resolution: {integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==} + engines: {node: '>=0.6.0'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.15.1: + resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==} + hasBin: true + + jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.2.1: + resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + + jszip@3.10.1: + resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + launch-editor-middleware@2.14.1: + resolution: {integrity: sha512-Y8rM8ujxag67bXKCML5RLK5neOwj9rcgYlhgPAG0roa3sM6gjBjq7Bl/mE63XcdAmjMMsPtJhd1ry8+wstwQew==} + + launch-editor@2.14.1: + resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lie@3.3.0: + resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} + + liftoff@2.5.0: + resolution: {integrity: sha512-01zfGFqfORP1CGmZZP2Zn51zsqz4RltDi0RDOhbGoLYdUT5Lw+I2gX6QdwXhPITF6hPOHEOp+At6/L24hIg9WQ==} + engines: {node: '>= 0.8'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@17.3.0: + resolution: {integrity: sha512-woZS3vNe3UKqBaLPvbLOtKRY4tLANpWQhom12MGWqC8Mh1lCOO+WgSwmX2amjJAqTY9BkXYW87fCUH5H9Ph6xw==} + engines: {node: '>=22.22.1'} + hasBin: true + + loader-runner@4.3.2: + resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} + engines: {node: '>=6.11.5'} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + lodash-es@4.18.1: + resolution: {integrity: sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==} + + lodash-unified@1.0.3: + resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} + peerDependencies: + '@types/lodash-es': '*' + lodash: '*' + lodash-es: '*' + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.defaultsdeep@4.6.1: + resolution: {integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + + lodash.mapvalues@4.6.0: + resolution: {integrity: sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.padend@4.6.1: + resolution: {integrity: sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==} + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash@4.17.11: + resolution: {integrity: sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==} + + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@2.3.0: + resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} + engines: {node: '>=4'} + + lower-case-first@1.0.2: + resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} + + lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-iterator@1.0.1: + resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} + engines: {node: '>=0.10.0'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdn-data@2.0.4: + resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + + merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + + merge-source-map@1.1.0: + resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + microargs@1.1.2: + resolution: {integrity: sha512-fUrX9ozzzUX6JlDoNXmUM5i4B0uBF5xPznZ0Y/izM9wOtAaTf44V2vUCRgGBLUq/SeGIcDgfnEZDVoT92HId0g==} + engines: {node: '>=6.16.0'} + deprecated: This project has been renamed to @pawelgalazka/cli-args. Install using @pawelgalazka/cli-args instead + + microcli@1.3.3: + resolution: {integrity: sha512-1isRaEBpfRC8vJMJymKknAH8CdPFABuWPVc18rlRWHOCcHLYEkJxcoH7FNkX7AuTGrB4Uf1ve6B0s/FfwzGWKg==} + engines: {node: '>=6.16.0'} + deprecated: This project has been renamed to @pawelgalazka/cli . Install using @pawelgalazka/cli instead + + micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + + micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mini-css-extract-plugin@2.10.2: + resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minimizer-webpack-plugin@5.6.1: + resolution: {integrity: sha512-DoeAZz8Q1C1znwsUzej1fdoi4jCf7/+Em27ouLqfK/+3m8G+D7yDhUwrc3CNhjSzGUN1kn7Iv4sWmjflQHenpw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + + minipass-flush@1.0.7: + resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} + engines: {node: '>= 8'} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mitt@1.1.2: + resolution: {integrity: sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + + module-alias@2.3.4: + resolution: {integrity: sha512-bOclZt8hkpuGgSSoG07PKmvzTizROilUTvLNyrMqvlC9snhs7y7GzjNWAVbISIOlhCP1T14rH1PDAV9iNyBq/w==} + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-plop@0.26.3: + resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==} + engines: {node: '>=8.9.4'} + + node-releases@2.0.53: + resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + engines: {node: '>=18'} + + nopt@1.0.10: + resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} + hasBin: true + + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@1.0.0: + resolution: {integrity: sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + normalize-wheel-es@1.2.0: + resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} + + normalize.css@8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@1.0.2: + resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + num2fraction@1.2.2: + resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} + + nwsapi@2.2.24: + resolution: {integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.defaults@1.1.0: + resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} + engines: {node: '>=0.10.0'} + + object.getownpropertydescriptors@2.1.9: + resolution: {integrity: sha512-mt8YM6XwsTTovI+kdZdHSxoyF2DI59up034orlC9NfweclcWOt7CVascNNLp6U+bjFVCVCIh9PwS76tDM/rH8g==} + engines: {node: '>= 0.4'} + + object.map@1.0.1: + resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==} + engines: {node: '>=0.10.0'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + object.values@1.2.1: + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + omelette@0.4.5: + resolution: {integrity: sha512-b0k9uqwF60u15KmVkneVw96VYRtZu2QCbXUQ26SgdyVUgMBzctzIfhNPKAWl4oqJEKpe52CzBYSS+HIKtiK8sw==} + engines: {node: '>=0.8.0'} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@3.4.0: + resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} + engines: {node: '>=6'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} + engines: {node: '>= 0.4'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-filepath@1.0.2: + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-passwd@1.0.0: + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} + + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@2.0.1: + resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-case@2.1.1: + resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-root-regex@0.1.2: + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} + + path-root@0.1.1: + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} + + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + playwright-core@1.62.1: + resolution: {integrity: sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==} + engines: {node: '>=20'} + hasBin: true + + playwright@1.62.1: + resolution: {integrity: sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==} + engines: {node: '>=20'} + hasBin: true + + plop@2.7.6: + resolution: {integrity: sha512-IgnYAsC3Ni7t1cDU7wH2151CD22YhMxH8PFh+iPzCf+WuGEWXslJ5t1Tpr0N/gjL23CAV/HbLAWug2IPM2YrHg==} + engines: {node: '>=8.9.4'} + hasBin: true + + portfinder@1.0.38: + resolution: {integrity: sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==} + engines: {node: '>= 10.12'} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-calc@8.2.4: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + + postcss-colormin@5.3.1: + resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-convert-values@5.1.3: + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-comments@5.1.2: + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-duplicates@5.1.0: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-empty@5.1.1: + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-overridden@5.1.0: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-loader@6.2.1: + resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-merge-longhand@5.1.7: + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-merge-rules@5.1.4: + resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-font-values@5.1.0: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-gradients@5.1.1: + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-params@5.1.4: + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-selectors@5.2.1: + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-modules-extract-imports@3.1.0: + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@4.2.0: + resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@3.2.1: + resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-normalize-charset@5.1.0: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-display-values@5.1.0: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-positions@5.1.1: + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-repeat-style@5.1.1: + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-string@5.1.0: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-timing-functions@5.1.0: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-unicode@5.1.1: + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-url@5.1.0: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-whitespace@5.1.1: + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-ordered-values@5.1.3: + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-prefix-selector@1.16.1: + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + + postcss-reduce-initial@5.1.2: + resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-reduce-transforms@5.1.0: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-selector-parser@6.1.4: + resolution: {integrity: sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.5: + resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} + engines: {node: '>=4'} + + postcss-svgo@5.1.0: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-unique-selectors@5.1.1: + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + + postcss@7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + engines: {node: ^10 || ^12 || >=14} + + posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + + posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + + posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + + posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + + posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-error@2.1.2: + resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@28.1.3: + resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + pretty@2.0.0: + resolution: {integrity: sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==} + engines: {node: '>=0.10.0'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + progress-webpack-plugin@1.0.16: + resolution: {integrity: sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + + psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + q@1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + + qs@6.15.3: + resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} + engines: {node: '>=0.6'} + + query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} + engines: {node: '>= 0.6'} + + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} + engines: {node: '>= 0.8'} + + raw-loader@0.5.1: + resolution: {integrity: sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@5.1.1: + resolution: {integrity: sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==} + engines: {node: '>= 20.19.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + regexpu-core@6.4.0: + resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} + engines: {node: '>=4'} + + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} + + regjsparser@0.13.2: + resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} + hasBin: true + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remixicon@2.5.0: + resolution: {integrity: sha512-q54ra2QutYDZpuSnFjmeagmEiN9IMo56/zz5dDNitzKD23oFRw77cWo4TsrAdmdkPiEn8mxlrTqxnkujDbEGww==} + + renderkid@2.0.7: + resolution: {integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-dir@1.0.1: + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + runjs@4.4.2: + resolution: {integrity: sha512-/DB54HRJnxfGA/a9QLZMyAn8H84SMt8oVGF7Vz+OS4BMCve312DXNRpy6Z8yohLuoMctoalXQtvmpd2ChQYD4Q==} + engines: {node: '>=6.11.1'} + deprecated: This project has been renamed to 'tasksfile'. Install using 'npm install tasksfile' instead. + hasBin: true + + rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + + safe-array-concat@1.1.4: + resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-loader@13.3.3: + resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + + sass-resources-loader@2.2.5: + resolution: {integrity: sha512-po8rfETH9cOQACWxubT/1CCu77KjxwRtCDm6QAXZH99aUHBydwSoxdIjC40SGp/dcS/FkSNJl0j1VEojGZqlvQ==} + + sass@1.102.0: + resolution: {integrity: sha512-NSOyTnaQF7rTAEOtI2fwb386vL+akyiQLBZu8Na7hXCb+umJy0GAqlcMIaqACZ6Z1VgTBS4K9PG6B3IdjHGJsw==} + engines: {node: '>=20.19.0'} + hasBin: true + + sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + + sax@1.6.1: + resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==} + engines: {node: '>=11.0.0'} + + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + + schema-utils@2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} + + screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + + script-ext-html-webpack-plugin@2.1.5: + resolution: {integrity: sha512-nMjd5dtsnoB8dS+pVM9ZL4mC9O1uVtTxrDS99OGZsZxFbkZE6pw0HCMued/cncDrKivIShO9vwoyOTvsGqQHEQ==} + engines: {node: '>=6.11.5'} + peerDependencies: + html-webpack-plugin: ^3.0.0 || ^4.0.0 + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + + script-loader@0.7.2: + resolution: {integrity: sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + select@1.1.2: + resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + + send@0.19.2: + resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} + engines: {node: '>= 0.8.0'} + + sentence-case@2.1.1: + resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} + + serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-index@1.9.2: + resolution: {integrity: sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==} + engines: {node: '>= 0.8.0'} + + serve-static@1.16.3: + resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} + engines: {node: '>= 0.8.0'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.10.0: + resolution: {integrity: sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + snake-case@2.1.0: + resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sortablejs@1.14.0: + resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} + + source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + ssf@0.11.2: + resolution: {integrity: sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==} + engines: {node: '>=0.8'} + + ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-length@5.0.1: + resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} + engines: {node: '>=12.20'} + + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-indent@2.0.0: + resolution: {integrity: sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==} + engines: {node: '>=4'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-mod@4.1.3: + resolution: {integrity: sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==} + + stylehacks@5.1.1: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + supports-color@4.5.0: + resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} + engines: {node: '>=4'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-baker-runtime@1.4.7: + resolution: {integrity: sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==} + + svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + + svg-sprite-loader@5.2.1: + resolution: {integrity: sha512-n2IZc87rpOeXh+PQFksFMGCfMV/BT01YG+Dlbyjoh2Cz8BSTL5Vi/7KDr86Pt/u1NRDCVb3vY74BF5rKCmqbNA==} + engines: {node: '>=6'} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + svgo@1.3.2: + resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} + engines: {node: '>=4.0.0'} + deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. + hasBin: true + + svgo@2.8.3: + resolution: {integrity: sha512-5EZD0pafXX6PphdwOGCiVLDSaV1xyuQao2blHajHLsPxr07q4mmEjdtXEWgG07ae2mIz8Ex2CDXNCTiXhy3Khw==} + engines: {node: '>=10.13.0'} + hasBin: true + + swap-case@1.1.2: + resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.6.1: + resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@minify-html/node': '*' + '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' + esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@minify-html/node': + optional: true + '@swc/core': + optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true + esbuild: + optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true + uglify-js: + optional: true + + terser@4.8.1: + resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} + engines: {node: '>=6.0.0'} + hasBin: true + + terser@5.49.2: + resolution: {integrity: sha512-rGbJiKeQ4WDe3EXlDAIaQcwftVfv2Q8o1awFNfvXolJYKkb1AuZY1RTOmqx4LJXZENbWZA7eIsYGHuEzHsi1nQ==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thread-loader@3.0.4: + resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.27.0 || ^5.0.0 + + throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} + engines: {node: '>=18'} + + title-case@2.1.1: + resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + + traverse@0.6.11: + resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} + engines: {node: '>= 0.4'} + + tsconfig@7.0.0: + resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.8: + resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} + engines: {node: '>= 0.4'} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} + engines: {node: '>= 0.4'} + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + unc-path-regex@0.1.2: + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} + + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} + + unidecode@0.1.8: + resolution: {integrity: sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==} + engines: {node: '>= 0.4.12'} + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + update-browserslist-db@1.3.1: + resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + upper-case-first@1.1.2: + resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==} + + upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + url-slug@2.0.0: + resolution: {integrity: sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==} + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + user-home@1.1.1: + resolution: {integrity: sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util.promisify@1.0.0: + resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==} + + util.promisify@1.0.1: + resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + + v8flags@2.1.1: + resolution: {integrity: sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==} + engines: {node: '>= 0.10.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vue-codemirror@6.1.1: + resolution: {integrity: sha512-rTAYo44owd282yVxKtJtnOi7ERAcXTeviwoPXjIc6K/IQYUsoDkzPvw/JDFtSP6T7Cz/2g3EHaEyeyaQCKoDMg==} + peerDependencies: + codemirror: 6.x + vue: 3.x + + vue-component-type-helpers@3.3.9: + resolution: {integrity: sha512-3c/UfMe0SqyEfcGTyH7mfshHagJ9QTCbppCb0/uGpHZpFug7+If3GeGZN7I0YheKEExemx3xldQPoO7PQSOLQg==} + + vue-count-to@1.0.13: + resolution: {integrity: sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ==} + + vue-cropper@1.1.4: + resolution: {integrity: sha512-5m98vBsCEI9rbS4JxELxXidtAui3qNyTHLHg67Qbn7g8cg+E6LcnC+hh3SM/p94x6mFh6KRxT1ttnta+wCYqWA==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue-hot-reload-api@2.3.4: + resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} + + vue-loader@15.11.1: + resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==} + peerDependencies: + '@vue/compiler-sfc': ^3.0.8 + cache-loader: '*' + css-loader: '*' + prettier: '*' + vue-template-compiler: '*' + webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + cache-loader: + optional: true + prettier: + optional: true + vue-template-compiler: + optional: true + + vue-loader@17.4.2: + resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} + peerDependencies: + '@vue/compiler-sfc': '*' + vue: '*' + webpack: ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + vue: + optional: true + + vue-router@4.6.4: + resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} + peerDependencies: + vue: ^3.5.0 + + vue-style-loader@4.1.3: + resolution: {integrity: sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==} + + vue-template-es2015-compiler@1.9.1: + resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} + + vue3-dnd@2.1.0: + resolution: {integrity: sha512-szeB4ldsrnXTwBLmkmBuZaP9zE0eL4o8LCgTPeejOHCBsIOEUDf9W8TKCo+rj3cSVfbaa6Y5b27YVa99PI5HhA==} + peerDependencies: + vue: ^3.0.0-0 || ^2.6.0 + + vue3-treeselect@0.1.10: + resolution: {integrity: sha512-QawdAbzmlZ7T3uBdSU4FRnrnmcV0Q9Jrph5hUBQJcXmM9OZ8lULQo7O7YbKxkOyuDX9Yx2rGjs6L5FKcL1FeXA==} + peerDependencies: + vue: ^3.0.0 + + vue@3.5.41: + resolution: {integrity: sha512-2laE0p+aK+/AOPG/XL/WepOs/GlK755LJ1XECi9kDUrz1FKNw8rb2Xzlw9JS1rqEV55nb0ttsKxVlTCcd+R5cg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vuedraggable@4.1.0: + resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} + peerDependencies: + vue: ^3.0.1 + + vuex@4.1.0: + resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} + peerDependencies: + vue: ^3.2.0 + + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + + w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.5.2: + resolution: {integrity: sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + + webpack-bundle-analyzer@4.10.2: + resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} + engines: {node: '>= 10.13.0'} + hasBin: true + + webpack-chain@6.5.1: + resolution: {integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==} + engines: {node: '>=8'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + webpack-dev-middleware@5.3.4: + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.2: + resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} + + webpack-sources@1.4.3: + resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + + webpack-sources@3.5.1: + resolution: {integrity: sha512-jyuiGJdtvY434z5bUZrjz67v76/ePNvFZTp9Mdz29IlH4+GPsgyGjiv0fKI+M7BdkU6ADjulUcKAd3tUK3WlEw==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.4.6: + resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} + + webpack@5.109.2: + resolution: {integrity: sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + websocket-driver@0.7.5: + resolution: {integrity: sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + + wmf@1.0.2: + resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} + engines: {node: '>=0.8'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + word@0.3.0: + resolution: {integrity: sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==} + engines: {node: '>=0.8'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@3.0.1: + resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} + engines: {node: '>=4'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@7.5.13: + resolution: {integrity: sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xlsx@0.18.5: + resolution: {integrity: sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==} + engines: {node: '>=0.8'} + hasBin: true + + xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} + + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} + engines: {node: '>=10'} + + yorkie@2.0.0: + resolution: {integrity: sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==} + engines: {node: '>=4'} + + zrender@6.1.0: + resolution: {integrity: sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ==} + +snapshots: + + '@achrinza/node-ipc@9.2.10': + dependencies: + '@node-ipc/js-queue': 2.0.3 + event-pubsub: 4.3.0 + js-message: 1.0.7 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@babel/code-frame@7.12.11': + dependencies: + '@babel/highlight': 7.25.9 + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.28.3': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.28.3) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/eslint-parser@7.29.7(@babel/core@7.28.3)(eslint@7.32.0)': + dependencies: + '@babel/core': 7.28.3 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.29.8': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.8 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.28.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/traverse': 7.29.8 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.29.7 + regexpu-core: 6.4.0 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + debug: 4.4.3 + lodash.debounce: 4.0.8 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-member-expression-to-functions@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.29.7': + dependencies: + '@babel/types': 7.29.8 + + '@babel/helper-plugin-utils@7.29.7': {} + + '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-wrap-function': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-member-expression-to-functions': 7.29.7 + '@babel/helper-optimise-call-expression': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.29.7': + dependencies: + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helper-wrap-function@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/parser@7.29.8': + dependencies: + '@babel/types': 7.29.8 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.28.3) + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.28.3) + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/template': 7.29.7 + + '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-literals@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.29.8(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.28.3) + '@babel/traverse': 7.29.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-replace-supers': 7.29.7(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-annotate-as-pure': 7.29.7 + '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regenerator@7.29.8(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.28.3) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.3) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.28.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-spread@7.29.8(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.28.3) + '@babel/helper-plugin-utils': 7.29.7 + + '@babel/preset-env@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.28.3 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.3) + '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.3) + '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-modules-systemjs': 7.29.8(@babel/core@7.28.3) + '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-regenerator': 7.29.8(@babel/core@7.28.3) + '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-spread': 7.29.8(@babel/core@7.28.3) + '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.28.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.3) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.28.3) + babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.28.3) + babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.28.3) + core-js-compat: 3.50.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/types': 7.29.8 + esutils: 2.0.3 + + '@babel/register@7.29.7(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.7 + source-map-support: 0.5.21 + + '@babel/runtime-corejs3@7.29.7': + dependencies: + core-js-pure: 3.50.0 + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@babel/traverse@7.29.8': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.8 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@bcoe/v8-coverage@0.2.3': {} + + '@codemirror/autocomplete@6.20.3': + dependencies: + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + '@lezer/common': 1.5.2 + + '@codemirror/commands@6.10.4': + dependencies: + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + '@lezer/common': 1.5.2 + + '@codemirror/language@6.12.4': + dependencies: + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + '@lezer/common': 1.5.2 + '@lezer/highlight': 1.2.3 + '@lezer/lr': 1.4.10 + style-mod: 4.1.3 + + '@codemirror/lint@6.9.7': + dependencies: + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + crelt: 1.0.7 + + '@codemirror/search@6.7.1': + dependencies: + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + crelt: 1.0.7 + + '@codemirror/state@6.7.1': + dependencies: + '@marijn/find-cluster-break': 1.0.3 + + '@codemirror/view@6.43.8': + dependencies: + '@codemirror/state': 6.7.1 + crelt: 1.0.7 + style-mod: 4.1.3 + w3c-keyname: 2.2.8 + + '@ctrl/tinycolor@4.2.0': {} + + '@discoveryjs/json-ext@0.5.7': {} + + '@element-plus/icons-vue@2.3.2(vue@3.5.41)': + dependencies: + vue: 3.5.41 + + '@eslint-community/eslint-utils@4.10.1(eslint@7.32.0)': + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 3.4.3 + + '@eslint/eslintrc@0.4.3': + dependencies: + ajv: 6.15.0 + debug: 4.4.3 + espree: 7.3.1 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.1 + js-yaml: 3.15.1 + minimatch: 3.1.5 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@floating-ui/core@1.8.0': + dependencies: + '@floating-ui/utils': 0.2.12 + + '@floating-ui/dom@1.8.0': + dependencies: + '@floating-ui/core': 1.8.0 + '@floating-ui/utils': 0.2.12 + + '@floating-ui/utils@0.2.12': {} + + '@gar/promisify@1.1.3': {} + + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + + '@humanwhocodes/config-array@0.5.0': + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.4.3 + minimatch: 3.1.5 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/object-schema@1.2.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.15.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.6': {} + + '@jest/console@27.5.1': + dependencies: + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + + '@jest/console@28.1.3': + dependencies: + '@jest/types': 28.1.3 + '@types/node': 26.2.0 + chalk: 4.1.2 + jest-message-util: 28.1.3 + jest-util: 28.1.3 + slash: 3.0.0 + + '@jest/core@27.5.1': + dependencies: + '@jest/console': 27.5.1 + '@jest/reporters': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.8.1 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 27.5.1 + jest-config: 27.5.1 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-resolve-dependencies: 27.5.1 + jest-runner: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + jest-watcher: 27.5.1 + micromatch: 4.0.8 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + '@jest/environment@27.5.1': + dependencies: + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + jest-mock: 27.5.1 + + '@jest/fake-timers@27.5.1': + dependencies: + '@jest/types': 27.5.1 + '@sinonjs/fake-timers': 8.1.0 + '@types/node': 26.2.0 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-util: 27.5.1 + + '@jest/globals@27.5.1': + dependencies: + '@jest/environment': 27.5.1 + '@jest/types': 27.5.1 + expect: 27.5.1 + + '@jest/reporters@27.5.1': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-haste-map: 27.5.1 + jest-resolve: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 8.1.1 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@28.1.3': + dependencies: + '@sinclair/typebox': 0.24.52 + + '@jest/source-map@27.5.1': + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + + '@jest/test-result@27.5.1': + dependencies: + '@jest/console': 27.5.1 + '@jest/types': 27.5.1 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + + '@jest/test-result@28.1.3': + dependencies: + '@jest/console': 28.1.3 + '@jest/types': 28.1.3 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.3 + + '@jest/test-sequencer@27.5.1': + dependencies: + '@jest/test-result': 27.5.1 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-runtime: 27.5.1 + transitivePeerDependencies: + - supports-color + + '@jest/transform@27.5.1': + dependencies: + '@babel/core': 7.28.3 + '@jest/types': 27.5.1 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-regex-util: 27.5.1 + jest-util: 27.5.1 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + + '@jest/types@27.5.1': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.2.0 + '@types/yargs': 16.0.11 + chalk: 4.1.2 + + '@jest/types@28.1.3': + dependencies: + '@jest/schemas': 28.1.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 26.2.0 + '@types/yargs': 17.0.35 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@leichtgewicht/ip-codec@2.0.5': {} + + '@lezer/common@1.5.2': {} + + '@lezer/highlight@1.2.3': + dependencies: + '@lezer/common': 1.5.2 + + '@lezer/lr@1.4.10': + dependencies: + '@lezer/common': 1.5.2 + + '@marijn/find-cluster-break@1.0.3': {} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + dependencies: + eslint-scope: 5.1.1 + + '@node-ipc/js-queue@2.0.3': + dependencies: + easy-stack: 1.0.1 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 + + '@npmcli/fs@1.1.1': + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.8.5 + + '@npmcli/move-file@1.1.2': + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + + '@one-ini/wasm@0.1.1': {} + + '@parcel/watcher-android-arm64@2.6.0': + optional: true + + '@parcel/watcher-darwin-arm64@2.6.0': + optional: true + + '@parcel/watcher-darwin-x64@2.6.0': + optional: true + + '@parcel/watcher-freebsd-x64@2.6.0': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.6.0': + optional: true + + '@parcel/watcher-linux-arm-musl@2.6.0': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.6.0': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.6.0': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.6.0': + optional: true + + '@parcel/watcher-linux-x64-musl@2.6.0': + optional: true + + '@parcel/watcher-win32-arm64@2.6.0': + optional: true + + '@parcel/watcher-win32-x64@2.6.0': + optional: true + + '@parcel/watcher@2.6.0': + dependencies: + detect-libc: 2.1.2 + is-glob: 4.0.3 + node-addon-api: 7.1.1 + picomatch: 4.0.5 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.6.0 + '@parcel/watcher-darwin-arm64': 2.6.0 + '@parcel/watcher-darwin-x64': 2.6.0 + '@parcel/watcher-freebsd-x64': 2.6.0 + '@parcel/watcher-linux-arm-glibc': 2.6.0 + '@parcel/watcher-linux-arm-musl': 2.6.0 + '@parcel/watcher-linux-arm64-glibc': 2.6.0 + '@parcel/watcher-linux-arm64-musl': 2.6.0 + '@parcel/watcher-linux-x64-glibc': 2.6.0 + '@parcel/watcher-linux-x64-musl': 2.6.0 + '@parcel/watcher-win32-arm64': 2.6.0 + '@parcel/watcher-win32-x64': 2.6.0 + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@playwright/test@1.62.1': + dependencies: + playwright: 1.62.1 + + '@polka/url@1.0.0-next.29': {} + + '@react-dnd/asap@5.0.2': {} + + '@react-dnd/invariant@4.0.2': {} + + '@react-dnd/shallowequal@4.0.2': {} + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + + '@sinclair/typebox@0.24.52': {} + + '@sinonjs/commons@1.8.6': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@8.1.0': + dependencies: + '@sinonjs/commons': 1.8.6 + + '@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26))': + dependencies: + chalk: 3.0.0 + error-stack-parser: 2.1.4 + string-width: 4.2.3 + strip-ansi: 6.0.1 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + '@soda/get-current-script@1.0.2': {} + + '@sxzz/popperjs-es@2.11.8': {} + + '@tootallnate/once@1.1.2': {} + + '@tsparticles/basic@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + '@tsparticles/move-base': 3.9.1 + '@tsparticles/plugin-hex-color': 3.9.1 + '@tsparticles/plugin-hsl-color': 3.9.1 + '@tsparticles/plugin-rgb-color': 3.9.1 + '@tsparticles/shape-circle': 3.9.1 + '@tsparticles/updater-color': 3.9.1 + '@tsparticles/updater-opacity': 3.9.1 + '@tsparticles/updater-out-modes': 3.9.1 + '@tsparticles/updater-size': 3.9.1 + + '@tsparticles/engine@3.9.1': {} + + '@tsparticles/interaction-external-attract@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-bounce@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-bubble@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-connect@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-grab@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-pause@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-push@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-remove@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-repulse@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-external-slow@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-particles-attract@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-particles-collisions@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/interaction-particles-links@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/move-base@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/move-parallax@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/plugin-easing-quad@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/plugin-hex-color@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/plugin-hsl-color@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/plugin-rgb-color@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-circle@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-emoji@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-image@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-line@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-polygon@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-square@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/shape-star@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/slim@3.9.1': + dependencies: + '@tsparticles/basic': 3.9.1 + '@tsparticles/engine': 3.9.1 + '@tsparticles/interaction-external-attract': 3.9.1 + '@tsparticles/interaction-external-bounce': 3.9.1 + '@tsparticles/interaction-external-bubble': 3.9.1 + '@tsparticles/interaction-external-connect': 3.9.1 + '@tsparticles/interaction-external-grab': 3.9.1 + '@tsparticles/interaction-external-pause': 3.9.1 + '@tsparticles/interaction-external-push': 3.9.1 + '@tsparticles/interaction-external-remove': 3.9.1 + '@tsparticles/interaction-external-repulse': 3.9.1 + '@tsparticles/interaction-external-slow': 3.9.1 + '@tsparticles/interaction-particles-attract': 3.9.1 + '@tsparticles/interaction-particles-collisions': 3.9.1 + '@tsparticles/interaction-particles-links': 3.9.1 + '@tsparticles/move-parallax': 3.9.1 + '@tsparticles/plugin-easing-quad': 3.9.1 + '@tsparticles/shape-emoji': 3.9.1 + '@tsparticles/shape-image': 3.9.1 + '@tsparticles/shape-line': 3.9.1 + '@tsparticles/shape-polygon': 3.9.1 + '@tsparticles/shape-square': 3.9.1 + '@tsparticles/shape-star': 3.9.1 + '@tsparticles/updater-life': 3.9.1 + '@tsparticles/updater-rotate': 3.9.1 + '@tsparticles/updater-stroke-color': 3.9.1 + + '@tsparticles/updater-color@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-life@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-opacity@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-out-modes@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-rotate@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-size@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/updater-stroke-color@3.9.1': + dependencies: + '@tsparticles/engine': 3.9.1 + + '@tsparticles/vue3@3.0.1': + dependencies: + '@tsparticles/engine': 3.9.1 + vue: 3.5.41 + transitivePeerDependencies: + - typescript + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.29.8 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.29.8 + + '@types/body-parser@1.19.6': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 26.2.0 + + '@types/bonjour@3.5.13': + dependencies: + '@types/node': 26.2.0 + + '@types/connect-history-api-fallback@1.5.4': + dependencies: + '@types/express-serve-static-core': 5.1.3 + '@types/node': 26.2.0 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 26.2.0 + + '@types/eslint@8.56.12': + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.9': {} + + '@types/express-serve-static-core@4.19.9': + dependencies: + '@types/node': 26.2.0 + '@types/qs': 6.15.1 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express-serve-static-core@5.1.3': + dependencies: + '@types/node': 26.2.0 + '@types/qs': 6.15.1 + '@types/range-parser': 1.2.7 + '@types/send': 1.2.1 + + '@types/express@4.17.25': + dependencies: + '@types/body-parser': 1.19.6 + '@types/express-serve-static-core': 4.19.9 + '@types/qs': 6.15.1 + '@types/serve-static': 1.15.10 + + '@types/fined@1.1.5': {} + + '@types/glob@7.2.0': + dependencies: + '@types/minimatch': 6.0.0 + '@types/node': 26.2.0 + + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 26.2.0 + + '@types/html-minifier-terser@5.1.2': {} + + '@types/html-minifier-terser@6.1.0': {} + + '@types/http-errors@2.0.5': {} + + '@types/http-proxy@1.17.17': + dependencies: + '@types/node': 26.2.0 + + '@types/inquirer@6.5.0': + dependencies: + '@types/through': 0.0.33 + rxjs: 6.6.7 + + '@types/interpret@1.1.4': + dependencies: + '@types/node': 26.2.0 + + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + + '@types/jest@27.5.2': + dependencies: + jest-matcher-utils: 27.5.1 + pretty-format: 27.5.1 + + '@types/json-schema@7.0.15': {} + + '@types/liftoff@2.5.1': + dependencies: + '@types/fined': 1.1.5 + '@types/interpret': 1.1.4 + '@types/node': 26.2.0 + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.25 + + '@types/lodash@4.17.25': {} + + '@types/mime@1.3.5': {} + + '@types/minimatch@6.0.0': + dependencies: + minimatch: 10.2.6 + + '@types/minimist@1.2.5': {} + + '@types/node-forge@1.3.14': + dependencies: + '@types/node': 26.2.0 + + '@types/node@26.2.0': + dependencies: + undici-types: 8.3.0 + + '@types/normalize-package-data@2.4.4': {} + + '@types/parse-json@4.0.2': {} + + '@types/prettier@2.7.3': {} + + '@types/q@1.5.8': {} + + '@types/qs@6.15.1': {} + + '@types/range-parser@1.2.7': {} + + '@types/retry@0.12.0': {} + + '@types/send@0.17.6': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 26.2.0 + + '@types/send@1.2.1': + dependencies: + '@types/node': 26.2.0 + + '@types/serve-index@1.9.4': + dependencies: + '@types/express': 4.17.25 + + '@types/serve-static@1.15.10': + dependencies: + '@types/http-errors': 2.0.5 + '@types/node': 26.2.0 + '@types/send': 0.17.6 + + '@types/sockjs@0.3.36': + dependencies: + '@types/node': 26.2.0 + + '@types/source-list-map@0.1.6': {} + + '@types/stack-utils@2.0.3': {} + + '@types/strip-bom@3.0.0': {} + + '@types/strip-json-comments@0.0.30': {} + + '@types/tapable@1.0.12': {} + + '@types/through@0.0.33': + dependencies: + '@types/node': 26.2.0 + + '@types/uglify-js@3.17.5': + dependencies: + source-map: 0.6.1 + + '@types/web-bluetooth@0.0.21': {} + + '@types/webpack-sources@3.2.3': + dependencies: + '@types/node': 26.2.0 + '@types/source-list-map': 0.1.6 + source-map: 0.7.6 + + '@types/webpack@4.41.40': + dependencies: + '@types/node': 26.2.0 + '@types/tapable': 1.0.12 + '@types/uglify-js': 3.17.5 + '@types/webpack-sources': 3.2.3 + anymatch: 3.1.3 + source-map: 0.6.1 + + '@types/ws@8.18.1': + dependencies: + '@types/node': 26.2.0 + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@16.0.11': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@17.0.35': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@vue/babel-helper-vue-jsx-merge-props@1.4.0': {} + + '@vue/babel-helper-vue-transform-on@1.5.0': {} + + '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.3)': + dependencies: + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@vue/babel-helper-vue-transform-on': 1.5.0 + '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.3) + '@vue/shared': 3.5.41 + optionalDependencies: + '@babel/core': 7.28.3 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.3)': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-plugin-utils': 7.29.7 + '@babel/parser': 7.29.8 + '@vue/compiler-sfc': 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-module-imports': 7.29.7 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 + html-tags: 2.0.0 + lodash.kebabcase: 4.1.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@vue/babel-preset-app@5.0.9(@babel/core@7.28.3)(core-js@3.50.0)(vue@3.5.41)': + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.3) + '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.28.3) + '@babel/preset-env': 7.29.7(@babel/core@7.28.3) + '@babel/runtime': 7.29.7 + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.3) + '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.28.3)(vue@3.5.41) + babel-plugin-dynamic-import-node: 2.3.3 + core-js-compat: 3.50.0 + semver: 7.8.5 + optionalDependencies: + core-js: 3.50.0 + vue: 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vue/babel-preset-jsx@1.4.0(@babel/core@7.28.3)(vue@3.5.41)': + dependencies: + '@babel/core': 7.28.3 + '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.28.3) + '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.28.3) + optionalDependencies: + vue: 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + + '@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + + '@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + + '@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + + '@vue/babel-sugar-v-model@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.28.3) + camelcase: 5.3.1 + html-tags: 2.0.0 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@vue/babel-sugar-v-on@1.4.0(@babel/core@7.28.3)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.28.3) + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.28.3) + camelcase: 5.3.1 + transitivePeerDependencies: + - supports-color + + '@vue/cli-overlay@5.0.9': {} + + '@vue/cli-plugin-babel@5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(core-js@3.50.0)(postcss@5.2.18)(vue@3.5.41)': + dependencies: + '@babel/core': 7.28.3 + '@vue/babel-preset-app': 5.0.9(@babel/core@7.28.3)(core-js@3.50.0)(vue@3.5.41) + '@vue/cli-service': 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + '@vue/cli-shared-utils': 5.0.9 + babel-loader: 8.4.1(@babel/core@7.28.3)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + thread-loader: 3.0.4(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - core-js + - cssnano + - csso + - encoding + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - supports-color + - uglify-js + - vue + - webpack-cli + + '@vue/cli-plugin-eslint@5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(eslint@7.32.0)(postcss@5.2.18)': + dependencies: + '@vue/cli-service': 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + '@vue/cli-shared-utils': 5.0.9 + eslint: 7.32.0 + eslint-webpack-plugin: 3.2.0(eslint@7.32.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + globby: 11.1.0 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + yorkie: 2.0.0 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - encoding + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + - webpack-cli + + '@vue/cli-plugin-router@5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))': + dependencies: + '@vue/cli-service': 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + '@vue/cli-shared-utils': 5.0.9 + transitivePeerDependencies: + - encoding + + '@vue/cli-plugin-unit-jest@5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))(@vue/vue3-jest@27.0.0(@babel/core@7.28.3)(babel-jest@27.5.1(@babel/core@7.28.3))(jest@27.5.1)(vue@3.5.41))(jest@27.5.1)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.28.3) + '@types/jest': 27.5.2 + '@vue/cli-service': 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + '@vue/cli-shared-utils': 5.0.9 + babel-jest: 27.5.1(@babel/core@7.28.3) + deepmerge: 4.3.1 + jest: 27.5.1 + jest-serializer-vue: 2.0.2 + jest-transform-stub: 2.0.0 + jest-watch-typeahead: 1.1.0(jest@27.5.1) + optionalDependencies: + '@vue/vue3-jest': 27.0.0(@babel/core@7.28.3)(babel-jest@27.5.1(@babel/core@7.28.3))(jest@27.5.1)(vue@3.5.41) + transitivePeerDependencies: + - encoding + - supports-color + + '@vue/cli-plugin-vuex@5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1))': + dependencies: + '@vue/cli-service': 5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1) + + '@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1)': + dependencies: + '@babel/helper-compilation-targets': 7.29.7 + '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + '@soda/get-current-script': 1.0.2 + '@types/minimist': 1.2.5 + '@vue/cli-overlay': 5.0.9 + '@vue/cli-plugin-router': 5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1)) + '@vue/cli-plugin-vuex': 5.0.9(@vue/cli-service@5.0.9(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)(sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(vue@3.5.41)(webpack-sources@3.5.1)) + '@vue/cli-shared-utils': 5.0.9 + '@vue/component-compiler-utils': 3.3.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1) + '@vue/vue-loader-v15': vue-loader@15.11.1(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(css-loader@6.11.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(handlebars@4.7.9)(lodash@4.18.1)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + '@vue/web-component-wrapper': 1.3.0 + acorn: 8.18.0 + acorn-walk: 8.3.5 + address: 1.2.2 + autoprefixer: 10.5.4(postcss@8.5.26) + browserslist: 4.28.8 + case-sensitive-paths-webpack-plugin: 2.4.0 + cli-highlight: 2.1.11 + clipboardy: 2.3.0 + cliui: 7.0.4 + copy-webpack-plugin: 9.1.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + css-loader: 6.11.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + css-minimizer-webpack-plugin: 3.4.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + cssnano: 5.1.15(postcss@8.5.26) + debug: 4.4.3 + default-gateway: 6.0.3 + dotenv: 10.0.0 + dotenv-expand: 5.1.0 + fs-extra: 9.1.0 + globby: 11.1.0 + hash-sum: 2.0.0 + html-webpack-plugin: 5.6.8(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + is-file-esm: 1.0.0 + launch-editor-middleware: 2.14.1 + lodash.defaultsdeep: 4.6.1 + lodash.mapvalues: 4.6.0 + mini-css-extract-plugin: 2.10.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + minimist: 1.2.8 + module-alias: 2.3.4 + portfinder: 1.0.38 + postcss: 8.5.26 + postcss-loader: 6.2.1(postcss@8.5.26)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + progress-webpack-plugin: 1.0.16(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + ssri: 8.0.1 + terser-webpack-plugin: 5.6.1(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + thread-loader: 3.0.4(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + vue-loader: 17.4.2(@vue/compiler-sfc@3.5.41)(vue@3.5.41)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + vue-style-loader: 4.1.3 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + webpack-bundle-analyzer: 4.10.2 + webpack-chain: 6.5.1 + webpack-dev-server: 4.15.2(debug@4.4.3)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + webpack-merge: 5.10.0 + webpack-virtual-modules: 0.4.6 + whatwg-fetch: 3.6.20 + optionalDependencies: + sass-loader: 13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - '@vue/compiler-sfc' + - arc-templates + - atpl + - babel-core + - bracket-template + - bufferutil + - clean-css + - coffee-script + - csso + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - encoding + - esbuild + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - html-minifier-terser + - htmling + - jade + - jazz + - jqtpl + - just + - lightningcss + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - prettier + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - uglify-js + - underscore + - utf-8-validate + - vash + - velocityjs + - vue + - walrus + - webpack-cli + - whiskers + + '@vue/cli-shared-utils@5.0.9': + dependencies: + '@achrinza/node-ipc': 9.2.10 + chalk: 4.1.2 + execa: 1.0.0 + joi: 17.13.4 + launch-editor: 2.14.1 + lru-cache: 6.0.0 + node-fetch: 2.7.0 + open: 8.4.2 + ora: 5.4.1 + read-pkg: 5.2.0 + semver: 7.8.5 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - encoding + + '@vue/compiler-core@3.5.41': + dependencies: + '@babel/parser': 7.29.8 + '@vue/shared': 3.5.41 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.41': + dependencies: + '@vue/compiler-core': 3.5.41 + '@vue/shared': 3.5.41 + + '@vue/compiler-sfc@3.5.41': + dependencies: + '@babel/parser': 7.29.8 + '@vue/compiler-core': 3.5.41 + '@vue/compiler-dom': 3.5.41 + '@vue/compiler-ssr': 3.5.41 + '@vue/shared': 3.5.41 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.26 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.41': + dependencies: + '@vue/compiler-dom': 3.5.41 + '@vue/shared': 3.5.41 + + '@vue/component-compiler-utils@3.3.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1)': + dependencies: + consolidate: 0.15.1(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1) + hash-sum: 1.0.2 + lru-cache: 4.1.5 + merge-source-map: 1.1.0 + postcss: 7.0.39 + postcss-selector-parser: 6.1.4 + source-map: 0.6.1 + vue-template-es2015-compiler: 1.9.1 + optionalDependencies: + prettier: 2.8.8 + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + + '@vue/devtools-api@6.6.4': {} + + '@vue/reactivity@3.5.41': + dependencies: + '@vue/shared': 3.5.41 + + '@vue/runtime-core@3.5.41': + dependencies: + '@vue/reactivity': 3.5.41 + '@vue/shared': 3.5.41 + + '@vue/runtime-dom@3.5.41': + dependencies: + '@vue/reactivity': 3.5.41 + '@vue/runtime-core': 3.5.41 + '@vue/shared': 3.5.41 + csstype: 3.2.3 + + '@vue/server-renderer@3.5.41': + dependencies: + '@vue/compiler-ssr': 3.5.41 + '@vue/runtime-dom': 3.5.41 + '@vue/shared': 3.5.41 + + '@vue/shared@3.5.41': {} + + '@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.41)(@vue/server-renderer@3.5.41)(vue@3.5.41)': + dependencies: + '@vue/compiler-dom': 3.5.41 + js-beautify: 1.15.4 + vue: 3.5.41 + vue-component-type-helpers: 3.3.9 + optionalDependencies: + '@vue/server-renderer': 3.5.41 + + '@vue/vue3-jest@27.0.0(@babel/core@7.28.3)(babel-jest@27.5.1(@babel/core@7.28.3))(jest@27.5.1)(vue@3.5.41)': + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.28.3) + babel-jest: 27.5.1(@babel/core@7.28.3) + chalk: 2.4.2 + convert-source-map: 1.9.0 + css-tree: 2.3.1 + jest: 27.5.1 + source-map: 0.5.6 + tsconfig: 7.0.0 + vue: 3.5.41 + transitivePeerDependencies: + - supports-color + + '@vue/web-component-wrapper@1.3.0': {} + + '@vueuse/core@14.3.0(vue@3.5.41)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 14.3.0 + '@vueuse/shared': 14.3.0(vue@3.5.41) + vue: 3.5.41 + + '@vueuse/core@14.4.0(vue@3.5.41)': + dependencies: + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 14.4.0 + '@vueuse/shared': 14.4.0(vue@3.5.41) + vue: 3.5.41 + + '@vueuse/metadata@14.3.0': {} + + '@vueuse/metadata@14.4.0': {} + + '@vueuse/shared@14.3.0(vue@3.5.41)': + dependencies: + vue: 3.5.41 + + '@vueuse/shared@14.4.0(vue@3.5.41)': + dependencies: + vue: 3.5.41 + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abab@2.0.6: {} + + abbrev@1.1.1: {} + + abbrev@2.0.0: {} + + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + + acorn-globals@6.0.0: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + + acorn-jsx@5.3.2(acorn@7.4.1): + dependencies: + acorn: 7.4.1 + + acorn-jsx@5.3.2(acorn@8.18.0): + dependencies: + acorn: 8.18.0 + + acorn-walk@7.2.0: {} + + acorn-walk@8.3.5: + dependencies: + acorn: 8.18.0 + + acorn@7.4.1: {} + + acorn@8.18.0: {} + + address@1.2.2: {} + + adler-32@1.3.1: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + + ajv-keywords@3.5.2(ajv@6.15.0): + dependencies: + ajv: 6.15.0 + + ajv-keywords@5.1.0(ajv@8.20.0): + dependencies: + ajv: 8.20.0 + fast-deep-equal: 3.1.3 + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.5 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-colors@4.1.3: {} + + ansi-escapes@3.2.0: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-html-community@0.0.8: {} + + ansi-regex@2.1.1: {} + + ansi-regex@3.0.1: {} + + ansi-regex@4.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@2.2.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.2 + + arch@2.2.0: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + arr-diff@4.0.0: {} + + arr-flatten@1.1.0: {} + + arr-union@3.1.0: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-each@1.0.1: {} + + array-flatten@1.1.1: {} + + array-slice@1.1.0: {} + + array-union@2.1.0: {} + + array-unique@0.3.2: {} + + array.prototype.reduce@1.0.8: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-array-method-boxes-properly: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-string: 1.1.1 + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + assign-symbols@1.0.0: {} + + astral-regex@2.0.0: {} + + async-function@1.0.0: {} + + async-validator@4.2.5: {} + + async@3.2.6: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + atob@2.1.2: {} + + autoprefixer@10.5.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + autoprefixer@9.8.8: + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + normalize-range: 0.1.2 + num2fraction: 1.2.2 + picocolors: 0.2.1 + postcss: 7.0.39 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axios@1.19.0: + dependencies: + follow-redirects: 1.16.0(debug@4.4.3) + form-data: 4.0.6 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 + transitivePeerDependencies: + - debug + - supports-color + + babel-core@7.0.0-bridge.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + + babel-eslint@10.1.0(eslint@7.32.0): + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + eslint: 7.32.0 + eslint-visitor-keys: 1.3.0 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + babel-jest@27.5.1(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.28.3) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-loader@8.4.1(@babel/core@7.28.3)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@babel/core': 7.28.3 + find-cache-dir: 3.3.2 + loader-utils: 2.0.4 + make-dir: 3.1.0 + schema-utils: 2.7.1 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + babel-plugin-dynamic-import-node@2.3.3: + dependencies: + object.assign: 4.1.7 + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.29.7 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@27.5.1: + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.8 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.28.3): + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.3) + core-js-compat: 3.50.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.3) + core-js-compat: 3.50.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.28.3) + transitivePeerDependencies: + - supports-color + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.28.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.3) + + babel-preset-jest@27.5.1(@babel/core@7.28.3): + dependencies: + '@babel/core': 7.28.3 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) + + balanced-match@1.0.2: {} + + balanced-match@4.0.4: {} + + base64-js@1.5.1: {} + + base@0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + + baseline-browser-mapping@2.11.13: {} + + batch@0.6.1: {} + + beautifier@0.1.7: + dependencies: + nopt: 1.0.10 + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + bluebird@3.7.2: {} + + body-parser@1.20.6: + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.15.3 + raw-body: 2.5.3 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + bonjour-service@1.4.4: + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + + boolbase@1.0.0: {} + + brace-expansion@1.1.18: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.1.4: + dependencies: + balanced-match: 1.0.2 + + brace-expansion@5.0.9: + dependencies: + balanced-match: 4.0.4 + + braces@2.3.2: + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browser-process-hrtime@1.0.0: {} + + browserslist@4.28.8: + dependencies: + baseline-browser-mapping: 2.11.13 + caniuse-lite: 1.0.30001809 + electron-to-chromium: 1.5.403 + node-releases: 2.0.53 + update-browserslist-db: 1.3.1(browserslist@4.28.8) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bytes@3.1.2: {} + + cacache@15.3.0: + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.7 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.1 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + + cache-base@1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-api@3.0.0: + dependencies: + browserslist: 4.28.8 + caniuse-lite: 1.0.30001809 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + + caniuse-lite@1.0.30001809: {} + + case-sensitive-paths-webpack-plugin@2.4.0: {} + + cfb@1.2.2: + dependencies: + adler-32: 1.3.1 + crc-32: 1.2.2 + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@2.3.0: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 4.5.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + change-case@3.1.0: + dependencies: + camel-case: 3.0.0 + constant-case: 2.0.0 + dot-case: 2.1.1 + header-case: 1.0.1 + is-lower-case: 1.1.3 + is-upper-case: 1.1.2 + lower-case: 1.1.4 + lower-case-first: 1.0.2 + no-case: 2.3.2 + param-case: 2.1.1 + pascal-case: 2.0.1 + path-case: 2.1.1 + sentence-case: 2.1.1 + snake-case: 2.1.0 + swap-case: 1.1.2 + title-case: 2.1.1 + upper-case: 1.1.3 + upper-case-first: 1.1.2 + + char-regex@1.0.2: {} + + char-regex@2.0.2: {} + + chardet@0.7.0: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@5.0.0: + dependencies: + readdirp: 5.1.1 + + chownr@2.0.0: {} + + chrome-trace-event@1.0.4: {} + + ci-info@1.6.0: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + class-utils@0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + + clean-css@4.2.4: + dependencies: + source-map: 0.6.1 + + clean-css@5.3.3: + dependencies: + source-map: 0.6.1 + + clean-stack@2.2.0: {} + + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.2 + + cli-spinners@2.9.2: {} + + cli-width@3.0.0: {} + + clipboard@2.0.11: + dependencies: + good-listener: 1.2.2 + select: 1.1.2 + tiny-emitter: 2.1.0 + + clipboardy@2.3.0: + dependencies: + arch: 2.2.0 + execa: 1.0.0 + is-wsl: 2.2.0 + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + + clone@2.1.2: {} + + co@4.6.0: {} + + coa@2.0.2: + dependencies: + '@types/q': 1.5.8 + chalk: 2.4.2 + q: 1.5.1 + + codemirror@6.0.2: + dependencies: + '@codemirror/autocomplete': 6.20.3 + '@codemirror/commands': 6.10.4 + '@codemirror/language': 6.12.4 + '@codemirror/lint': 6.9.7 + '@codemirror/search': 6.7.1 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + + codepage@1.15.0: {} + + collect-v8-coverage@1.0.3: {} + + collection-visit@1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@10.0.1: {} + + commander@15.0.0: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + commander@8.3.0: {} + + commondir@1.0.1: {} + + component-emitter@1.3.1: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.54.0 + + compression-webpack-plugin@4.0.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + cacache: 15.3.0 + find-cache-dir: 3.3.2 + schema-utils: 2.7.1 + serialize-javascript: 4.0.0 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + webpack-sources: 1.4.3 + transitivePeerDependencies: + - bluebird + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + concat-map@0.0.1: {} + + condense-newlines@0.2.1: + dependencies: + extend-shallow: 2.0.1 + is-whitespace: 0.3.0 + kind-of: 3.2.2 + + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + + connect-history-api-fallback@2.0.0: {} + + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + + consolidate@0.15.1(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1): + dependencies: + bluebird: 3.7.2 + optionalDependencies: + babel-core: 7.0.0-bridge.0(@babel/core@7.28.3) + handlebars: 4.7.9 + lodash: 4.18.1 + + constant-case@2.0.0: + dependencies: + snake-case: 2.1.0 + upper-case: 1.1.3 + + content-disposition@0.5.4: + dependencies: + safe-buffer: 5.2.1 + + content-type@1.0.5: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.0.7: {} + + cookie@0.7.2: {} + + copy-descriptor@0.1.1: {} + + copy-webpack-plugin@9.1.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 11.1.0 + normalize-path: 3.0.0 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + core-js-compat@3.50.0: + dependencies: + browserslist: 4.28.8 + + core-js-pure@3.50.0: {} + + core-js@3.50.0: {} + + core-util-is@1.0.3: {} + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.3 + + crc-32@1.2.2: {} + + crelt@1.0.7: {} + + cross-spawn@5.1.0: + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-declaration-sorter@6.4.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + css-loader@6.11.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.26) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.26) + postcss-modules-scope: 3.2.1(postcss@8.5.26) + postcss-modules-values: 4.0.0(postcss@8.5.26) + postcss-value-parser: 4.2.0 + semver: 7.8.5 + optionalDependencies: + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + css-minimizer-webpack-plugin@3.4.1(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + cssnano: 5.1.15(postcss@8.5.26) + jest-worker: 27.5.1 + postcss: 8.5.26 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + source-map: 0.6.1 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + css-select-base-adapter@0.1.1: {} + + css-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 3.4.2 + domutils: 1.7.0 + nth-check: 1.0.2 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.2.2 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-tree@1.0.0-alpha.37: + dependencies: + mdn-data: 2.0.4 + source-map: 0.6.1 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + + css-what@3.4.2: {} + + css-what@6.2.2: {} + + cssesc@3.0.0: {} + + cssnano-preset-default@5.2.14(postcss@8.5.26): + dependencies: + css-declaration-sorter: 6.4.1(postcss@8.5.26) + cssnano-utils: 3.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-calc: 8.2.4(postcss@8.5.26) + postcss-colormin: 5.3.1(postcss@8.5.26) + postcss-convert-values: 5.1.3(postcss@8.5.26) + postcss-discard-comments: 5.1.2(postcss@8.5.26) + postcss-discard-duplicates: 5.1.0(postcss@8.5.26) + postcss-discard-empty: 5.1.1(postcss@8.5.26) + postcss-discard-overridden: 5.1.0(postcss@8.5.26) + postcss-merge-longhand: 5.1.7(postcss@8.5.26) + postcss-merge-rules: 5.1.4(postcss@8.5.26) + postcss-minify-font-values: 5.1.0(postcss@8.5.26) + postcss-minify-gradients: 5.1.1(postcss@8.5.26) + postcss-minify-params: 5.1.4(postcss@8.5.26) + postcss-minify-selectors: 5.2.1(postcss@8.5.26) + postcss-normalize-charset: 5.1.0(postcss@8.5.26) + postcss-normalize-display-values: 5.1.0(postcss@8.5.26) + postcss-normalize-positions: 5.1.1(postcss@8.5.26) + postcss-normalize-repeat-style: 5.1.1(postcss@8.5.26) + postcss-normalize-string: 5.1.0(postcss@8.5.26) + postcss-normalize-timing-functions: 5.1.0(postcss@8.5.26) + postcss-normalize-unicode: 5.1.1(postcss@8.5.26) + postcss-normalize-url: 5.1.0(postcss@8.5.26) + postcss-normalize-whitespace: 5.1.1(postcss@8.5.26) + postcss-ordered-values: 5.1.3(postcss@8.5.26) + postcss-reduce-initial: 5.1.2(postcss@8.5.26) + postcss-reduce-transforms: 5.1.0(postcss@8.5.26) + postcss-svgo: 5.1.0(postcss@8.5.26) + postcss-unique-selectors: 5.1.1(postcss@8.5.26) + + cssnano-utils@3.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + cssnano@5.1.15(postcss@8.5.26): + dependencies: + cssnano-preset-default: 5.2.14(postcss@8.5.26) + lilconfig: 2.1.0 + postcss: 8.5.26 + yaml: 1.10.3 + + csso@4.2.0: + dependencies: + css-tree: 1.1.3 + + cssom@0.3.8: {} + + cssom@0.4.4: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + csstype@3.2.3: {} + + data-urls@2.0.0: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + dayjs@1.11.21: {} + + debounce@1.2.1: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + decode-uri-component@0.2.2: {} + + dedent@0.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@1.3.2: {} + + deepmerge@1.5.2: {} + + deepmerge@4.3.1: {} + + default-gateway@6.0.3: + dependencies: + execa: 5.1.1 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.8 + + define-property@1.0.0: + dependencies: + is-descriptor: 1.0.4 + + define-property@2.0.2: + dependencies: + is-descriptor: 1.0.4 + isobject: 3.0.1 + + del@5.1.0: + dependencies: + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + delayed-stream@1.0.0: {} + + delegate@3.2.0: {} + + depd@1.1.2: {} + + depd@2.0.0: {} + + destroy@1.2.0: {} + + detect-file@1.0.0: {} + + detect-libc@2.1.2: + optional: true + + detect-newline@3.1.0: {} + + detect-node@2.1.0: {} + + diff-sequences@27.5.1: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dnd-core@16.0.1: + dependencies: + '@react-dnd/asap': 5.0.2 + '@react-dnd/invariant': 4.0.2 + redux: 4.2.1 + + dns-packet@5.6.1: + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-converter@0.2.0: + dependencies: + utila: 0.4.0 + + dom-serializer@0.2.2: + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@1.3.1: {} + + domelementtype@2.3.0: {} + + domexception@2.0.1: + dependencies: + webidl-conversions: 5.0.0 + + domhandler@2.4.2: + dependencies: + domelementtype: 1.3.1 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domready@1.0.8: {} + + domutils@1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + dot-case@2.1.1: + dependencies: + no-case: 2.3.2 + + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + dotenv-expand@5.1.0: {} + + dotenv@10.0.0: {} + + driver.js@0.9.8: {} + + dropzone@5.9.3: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + easy-stack@1.0.1: {} + + echarts@6.1.0: + dependencies: + tslib: 2.3.0 + zrender: 6.1.0 + + editorconfig@1.0.7: + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.9 + semver: 7.8.5 + + ee-first@1.1.1: {} + + electron-to-chromium@1.5.403: {} + + element-plus@2.14.4(vue@3.5.41): + dependencies: + '@ctrl/tinycolor': 4.2.0 + '@element-plus/icons-vue': 2.3.2(vue@3.5.41) + '@floating-ui/dom': 1.8.0 + '@popperjs/core': '@sxzz/popperjs-es@2.11.8' + '@types/lodash': 4.17.25 + '@types/lodash-es': 4.17.12 + '@vueuse/core': 14.3.0(vue@3.5.41) + async-validator: 4.2.5 + dayjs: 1.11.21 + lodash: 4.18.1 + lodash-es: 4.18.1 + lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.18.1)(lodash@4.18.1) + memoize-one: 6.0.0 + normalize-wheel-es: 1.2.0 + vue: 3.5.41 + vue-component-type-helpers: 3.3.9 + + emittery@0.10.2: {} + + emittery@0.8.1: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojis-list@3.0.0: {} + + encodeurl@1.0.2: {} + + encodeurl@2.0.0: {} + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + enhanced-resolve@5.24.5: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + entities@1.1.2: {} + + entities@2.2.0: {} + + entities@7.0.1: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + + es-abstract@1.24.2: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.2 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.4 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.8 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.22 + + es-array-method-boxes-properly@1.0.0: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@2.3.1: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + es-to-primitive@1.3.4: + dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + escalade@3.2.0: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-plugin-vue@9.33.0(eslint@7.32.0): + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@7.32.0) + eslint: 7.32.0 + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.4 + semver: 7.8.5 + vue-eslint-parser: 9.4.3(eslint@7.32.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-utils@2.1.0: + dependencies: + eslint-visitor-keys: 1.3.0 + + eslint-visitor-keys@1.3.0: {} + + eslint-visitor-keys@2.1.0: {} + + eslint-visitor-keys@3.4.3: {} + + eslint-webpack-plugin@3.2.0(eslint@7.32.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@types/eslint': 8.56.12 + eslint: 7.32.0 + jest-worker: 28.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + schema-utils: 4.3.3 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + eslint@7.32.0: + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.15.0 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.15.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.8.5 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.9.0 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + + espree@7.3.1: + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + + espree@9.6.1: + dependencies: + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-pubsub@4.3.0: {} + + eventemitter3@4.0.7: {} + + events@3.3.0: {} + + execa@0.8.0: + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expand-brackets@2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + expand-tilde@2.0.2: + dependencies: + homedir-polyfill: 1.0.3 + + expect@27.5.1: + dependencies: + '@jest/types': 27.5.1 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + + express@4.22.2: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.6 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.0.7 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.2 + fresh: 0.5.2 + http-errors: 2.0.1 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.13 + proxy-addr: 2.0.7 + qs: 6.15.3 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.2 + serve-static: 1.16.3 + setprototypeof: 1.2.0 + statuses: 2.0.2 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend-shallow@3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + + extend@3.0.2: {} + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + extglob@2.0.4: + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.1.5: {} + + fastq@1.20.1: + dependencies: + reusify: 1.1.0 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.5 + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + figures@2.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + file-saver@2.0.5: {} + + fill-range@4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + finalhandler@1.3.2: + dependencies: + debug: 2.6.9 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + find-cache-dir@3.3.2: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + findup-sync@2.0.0: + dependencies: + detect-file: 1.0.0 + is-glob: 3.1.0 + micromatch: 3.1.10 + resolve-dir: 1.0.1 + transitivePeerDependencies: + - supports-color + + fined@1.2.0: + dependencies: + expand-tilde: 2.0.2 + is-plain-object: 2.0.4 + object.defaults: 1.1.0 + object.pick: 1.3.0 + parse-filepath: 1.0.2 + + flagged-respawn@1.0.1: {} + + flat-cache@3.2.0: + dependencies: + flatted: 3.4.4 + keyv: 4.5.4 + rimraf: 3.0.2 + + flat@5.0.2: {} + + flatted@3.4.4: {} + + follow-redirects@1.16.0(debug@4.4.3): + optionalDependencies: + debug: 4.4.3 + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + for-in@1.0.2: {} + + for-own@1.0.0: + dependencies: + for-in: 1.0.2 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@3.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + + form-data@4.0.6: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.4 + mime-types: 2.1.35 + + forwarded@0.2.0: {} + + frac@1.1.2: {} + + fraction.js@5.3.4: {} + + fragment-cache@0.2.1: + dependencies: + map-cache: 0.2.2 + + fresh@0.5.2: {} + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.1 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-monkey@1.1.0: {} + + fs.realpath@1.0.0: {} + + fsevents@2.3.2: + optional: true + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.2.0: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + es-define-property: 1.0.1 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + hasown: 2.0.4 + is-callable: 1.2.7 + is-document.all: 1.0.0 + + functional-red-black-tree@1.0.1: {} + + functions-have-names@1.2.3: {} + + fuse.js@6.6.2: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + get-stream@3.0.0: {} + + get-stream@4.1.0: + dependencies: + pump: 3.0.4 + + get-stream@6.0.1: {} + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-value@2.0.6: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.5 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-modules@1.0.0: + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + + global-prefix@1.0.2: + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.8 + is-windows: 1.0.2 + which: 1.3.1 + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@10.0.2: + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + glob: 7.2.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + good-listener@1.2.2: + dependencies: + delegate: 3.2.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + handle-thing@2.0.1: {} + + handlebars@4.7.9: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-bigints@1.1.0: {} + + has-flag@1.0.0: {} + + has-flag@2.0.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + has-value@0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + + has-value@1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + + has-values@0.1.4: {} + + has-values@1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + + hash-sum@1.0.2: {} + + hash-sum@2.0.0: {} + + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + header-case@1.0.1: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + highlight.js@10.7.3: {} + + homedir-polyfill@1.0.3: + dependencies: + parse-passwd: 1.0.0 + + hosted-git-info@2.8.9: {} + + hpack.js@2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + + html-encoding-sniffer@2.0.1: + dependencies: + whatwg-encoding: 1.0.5 + + html-entities@2.6.0: {} + + html-escaper@2.0.2: {} + + html-minifier-terser@5.1.1: + dependencies: + camel-case: 4.1.2 + clean-css: 4.2.4 + commander: 4.1.1 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 4.8.1 + + html-minifier-terser@6.1.0: + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.49.2 + + html-tags@2.0.0: {} + + html-webpack-plugin@4.5.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@types/html-minifier-terser': 5.1.2 + '@types/tapable': 1.0.12 + '@types/webpack': 4.41.40 + html-minifier-terser: 5.1.1 + loader-utils: 1.4.2 + lodash: 4.18.1 + pretty-error: 2.1.2 + tapable: 1.1.3 + util.promisify: 1.0.0 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + html-webpack-plugin@5.6.8(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.18.1 + pretty-error: 4.0.0 + tapable: 2.3.3 + optionalDependencies: + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + htmlparser2@3.10.1: + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + http-deceiver@1.2.7: {} + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + http-parser-js@0.5.10: {} + + http-proxy-agent@4.0.1: + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + http-proxy-middleware@2.0.10(@types/express@4.17.25)(debug@4.4.3): + dependencies: + '@types/http-proxy': 1.17.17 + http-proxy: 1.18.1(debug@4.4.3) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.8 + optionalDependencies: + '@types/express': 4.17.25 + transitivePeerDependencies: + - debug + + http-proxy@1.18.1(debug@4.4.3): + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.16.0(debug@4.4.3) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + husky@9.1.7: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + icss-utils@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + ieee754@1.2.1: {} + + ignore@4.0.6: {} + + ignore@5.3.2: {} + + image-size@0.5.5: {} + + immediate@3.0.6: {} + + immutable@5.1.9: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + infer-owner@1.0.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inquirer@7.3.3: + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.18.1 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.4 + side-channel: 1.1.1 + + interpret@1.4.0: {} + + ipaddr.js@1.9.1: {} + + ipaddr.js@2.5.0: {} + + is-absolute@1.0.0: + dependencies: + is-relative: 1.0.0 + is-windows: 1.0.2 + + is-accessor-descriptor@1.0.2: + dependencies: + hasown: 2.0.4 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-arrayish@0.2.1: {} + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} + + is-callable@1.2.7: {} + + is-ci@1.2.1: + dependencies: + ci-info: 1.6.0 + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.4 + + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.4 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-descriptor@0.1.8: + dependencies: + is-accessor-descriptor: 1.0.2 + is-data-descriptor: 1.0.1 + + is-descriptor@1.0.4: + dependencies: + is-accessor-descriptor: 1.0.2 + is-data-descriptor: 1.0.1 + + is-docker@2.2.1: {} + + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-file-esm@1.0.0: + dependencies: + read-pkg-up: 7.0.1 + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-fullwidth-code-point@2.0.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-fn@2.1.0: {} + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@3.1.0: + dependencies: + is-extglob: 2.1.1 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-lower-case@1.1.3: + dependencies: + lower-case: 1.1.4 + + is-map@2.0.3: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@3.0.0: + dependencies: + kind-of: 3.2.2 + + is-number@7.0.0: {} + + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@1.1.0: {} + + is-plain-obj@3.0.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.4 + + is-relative@1.0.0: + dependencies: + is-unc-path: 1.0.0 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@1.1.0: {} + + is-stream@2.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.22 + + is-typedarray@1.0.0: {} + + is-unc-path@1.0.0: + dependencies: + unc-path-regex: 0.1.2 + + is-unicode-supported@0.1.0: {} + + is-upper-case@1.1.2: + dependencies: + upper-case: 1.1.3 + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-whitespace@0.3.0: {} + + is-windows@1.0.2: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isbinaryfile@4.0.10: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.28.3 + '@babel/parser': 7.29.8 + '@istanbuljs/schema': 0.1.6 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + javascript-stringify@2.1.0: {} + + jest-changed-files@27.5.1: + dependencies: + '@jest/types': 27.5.1 + execa: 5.1.1 + throat: 6.0.2 + + jest-circus@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + jest-cli@27.5.1: + dependencies: + '@jest/core': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.2.0 + jest-config: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + prompts: 2.4.2 + yargs: 16.2.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + jest-config@27.5.1: + dependencies: + '@babel/core': 7.28.3 + '@jest/test-sequencer': 27.5.1 + '@jest/types': 27.5.1 + babel-jest: 27.5.1(@babel/core@7.28.3) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-get-type: 27.5.1 + jest-jasmine2: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runner: 27.5.1 + jest-util: 27.5.1 + jest-validate: 27.5.1 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 27.5.1 + slash: 3.0.0 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-diff@27.5.1: + dependencies: + chalk: 4.1.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-docblock@27.5.1: + dependencies: + detect-newline: 3.1.0 + + jest-each@27.5.1: + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + jest-get-type: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + + jest-environment-jsdom@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + jest-mock: 27.5.1 + jest-util: 27.5.1 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-environment-node@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + jest-mock: 27.5.1 + jest-util: 27.5.1 + + jest-get-type@27.5.1: {} + + jest-haste-map@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/graceful-fs': 4.1.9 + '@types/node': 26.2.0 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 27.5.1 + jest-serializer: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-jasmine2@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + co: 4.6.0 + expect: 27.5.1 + is-generator-fn: 2.1.0 + jest-each: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-runtime: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + pretty-format: 27.5.1 + throat: 6.0.2 + transitivePeerDependencies: + - supports-color + + jest-leak-detector@27.5.1: + dependencies: + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-matcher-utils@27.5.1: + dependencies: + chalk: 4.1.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 + + jest-message-util@27.5.1: + dependencies: + '@babel/code-frame': 7.29.7 + '@jest/types': 27.5.1 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 27.5.1 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-message-util@28.1.3: + dependencies: + '@babel/code-frame': 7.29.7 + '@jest/types': 28.1.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 28.1.3 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + + jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + optionalDependencies: + jest-resolve: 27.5.1 + + jest-regex-util@27.5.1: {} + + jest-regex-util@28.0.2: {} + + jest-resolve-dependencies@27.5.1: + dependencies: + '@jest/types': 27.5.1 + jest-regex-util: 27.5.1 + jest-snapshot: 27.5.1 + transitivePeerDependencies: + - supports-color + + jest-resolve@27.5.1: + dependencies: + '@jest/types': 27.5.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) + jest-util: 27.5.1 + jest-validate: 27.5.1 + resolve: 1.22.12 + resolve.exports: 1.1.1 + slash: 3.0.0 + + jest-runner@27.5.1: + dependencies: + '@jest/console': 27.5.1 + '@jest/environment': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + emittery: 0.8.1 + graceful-fs: 4.2.11 + jest-docblock: 27.5.1 + jest-environment-jsdom: 27.5.1 + jest-environment-node: 27.5.1 + jest-haste-map: 27.5.1 + jest-leak-detector: 27.5.1 + jest-message-util: 27.5.1 + jest-resolve: 27.5.1 + jest-runtime: 27.5.1 + jest-util: 27.5.1 + jest-worker: 27.5.1 + source-map-support: 0.5.21 + throat: 6.0.2 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + + jest-runtime@27.5.1: + dependencies: + '@jest/environment': 27.5.1 + '@jest/fake-timers': 27.5.1 + '@jest/globals': 27.5.1 + '@jest/source-map': 27.5.1 + '@jest/test-result': 27.5.1 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 + execa: 5.1.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 27.5.1 + jest-message-util: 27.5.1 + jest-mock: 27.5.1 + jest-regex-util: 27.5.1 + jest-resolve: 27.5.1 + jest-snapshot: 27.5.1 + jest-util: 27.5.1 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-serializer-vue@2.0.2: + dependencies: + pretty: 2.0.0 + + jest-serializer-vue@3.1.0: + dependencies: + pretty: 2.0.0 + + jest-serializer@27.5.1: + dependencies: + '@types/node': 26.2.0 + graceful-fs: 4.2.11 + + jest-snapshot@27.5.1: + dependencies: + '@babel/core': 7.28.3 + '@babel/generator': 7.29.8 + '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.28.3) + '@babel/traverse': 7.29.8 + '@babel/types': 7.29.8 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__traverse': 7.28.0 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.3) + chalk: 4.1.2 + expect: 27.5.1 + graceful-fs: 4.2.11 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + jest-haste-map: 27.5.1 + jest-matcher-utils: 27.5.1 + jest-message-util: 27.5.1 + jest-util: 27.5.1 + natural-compare: 1.4.0 + pretty-format: 27.5.1 + semver: 7.8.5 + transitivePeerDependencies: + - supports-color + + jest-transform-stub@2.0.0: {} + + jest-util@27.5.1: + dependencies: + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-util@28.1.3: + dependencies: + '@jest/types': 28.1.3 + '@types/node': 26.2.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.2 + + jest-validate@27.5.1: + dependencies: + '@jest/types': 27.5.1 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 27.5.1 + leven: 3.1.0 + pretty-format: 27.5.1 + + jest-watch-typeahead@1.1.0(jest@27.5.1): + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest: 27.5.1 + jest-regex-util: 28.0.2 + jest-watcher: 28.1.3 + slash: 4.0.0 + string-length: 5.0.1 + strip-ansi: 7.2.0 + + jest-watcher@27.5.1: + dependencies: + '@jest/test-result': 27.5.1 + '@jest/types': 27.5.1 + '@types/node': 26.2.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 27.5.1 + string-length: 4.0.2 + + jest-watcher@28.1.3: + dependencies: + '@jest/test-result': 28.1.3 + '@jest/types': 28.1.3 + '@types/node': 26.2.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.10.2 + jest-util: 28.1.3 + string-length: 4.0.2 + + jest-worker@27.5.1: + dependencies: + '@types/node': 26.2.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@28.1.3: + dependencies: + '@types/node': 26.2.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@27.5.1: + dependencies: + '@jest/core': 27.5.1 + import-local: 3.2.0 + jest-cli: 27.5.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + + joi@17.13.4: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + js-base64@2.6.4: {} + + js-beautify@1.15.4: + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.7 + glob: 10.4.5 + js-cookie: 3.0.8 + nopt: 7.2.1 + + js-cookie@3.0.8: {} + + js-message@1.0.7: {} + + js-tokens@4.0.0: {} + + js-yaml@3.15.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + jsdom@16.7.0: + dependencies: + abab: 2.0.6 + acorn: 8.18.0 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.6.0 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.5 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.24 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + 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.7.0 + ws: 7.5.13 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-better-errors@1.0.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonfile@6.2.1: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jszip@3.10.1: + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.8 + setimmediate: 1.0.5 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@4.0.0: + dependencies: + is-buffer: 1.1.6 + + kind-of@5.1.0: {} + + kind-of@6.0.3: {} + + kleur@3.0.3: {} + + klona@2.0.6: {} + + launch-editor-middleware@2.14.1: + dependencies: + launch-editor: 2.14.1 + + launch-editor@2.14.1: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.10.0 + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lie@3.3.0: + dependencies: + immediate: 3.0.6 + + liftoff@2.5.0: + dependencies: + extend: 3.0.2 + findup-sync: 2.0.0 + fined: 1.2.0 + flagged-respawn: 1.0.1 + is-plain-object: 2.0.4 + object.map: 1.0.1 + rechoir: 0.6.2 + resolve: 1.22.12 + transitivePeerDependencies: + - supports-color + + lilconfig@2.1.0: {} + + lines-and-columns@1.2.4: {} + + lint-staged@17.3.0: + dependencies: + picomatch: 4.0.5 + string-argv: 0.3.2 + tinyexec: 1.3.0 + optionalDependencies: + yaml: 2.9.0 + + loader-runner@4.3.2: {} + + loader-utils@1.4.2: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash-es@4.18.1: {} + + lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.18.1)(lodash@4.18.1): + dependencies: + '@types/lodash-es': 4.17.12 + lodash: 4.18.1 + lodash-es: 4.18.1 + + lodash.debounce@4.0.8: {} + + lodash.defaultsdeep@4.6.1: {} + + lodash.get@4.4.2: {} + + lodash.kebabcase@4.1.1: {} + + lodash.mapvalues@4.6.0: {} + + lodash.memoize@4.1.2: {} + + lodash.merge@4.6.2: {} + + lodash.padend@4.6.1: {} + + lodash.truncate@4.4.2: {} + + lodash.uniq@4.5.0: {} + + lodash@4.17.11: {} + + lodash@4.18.1: {} + + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-update@2.3.0: + dependencies: + ansi-escapes: 3.2.0 + cli-cursor: 2.1.0 + wrap-ansi: 3.0.1 + + lower-case-first@1.0.2: + dependencies: + lower-case: 1.1.4 + + lower-case@1.1.4: {} + + lower-case@2.0.2: + dependencies: + tslib: 2.8.1 + + lru-cache@10.4.3: {} + + lru-cache@4.1.5: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + make-dir@4.0.0: + dependencies: + semver: 7.8.5 + + make-iterator@1.0.1: + dependencies: + kind-of: 6.0.3 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + map-cache@0.2.2: {} + + map-visit@1.0.0: + dependencies: + object-visit: 1.0.1 + + math-intrinsics@1.1.0: {} + + mdn-data@2.0.14: {} + + mdn-data@2.0.30: {} + + mdn-data@2.0.4: {} + + media-typer@0.3.0: {} + + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + + memoize-one@6.0.0: {} + + merge-descriptors@1.0.3: {} + + merge-options@1.0.1: + dependencies: + is-plain-obj: 1.1.0 + + merge-source-map@1.1.0: + dependencies: + source-map: 0.6.1 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + microargs@1.1.2: {} + + microcli@1.3.3: + dependencies: + lodash: 4.17.11 + microargs: 1.1.2 + + micromatch@3.1.0: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@3.1.10: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.52.0: {} + + mime-db@1.54.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: {} + + mimic-fn@1.2.0: {} + + mimic-fn@2.1.0: {} + + mini-css-extract-plugin@2.10.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + schema-utils: 4.3.3 + tapable: 2.3.3 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + minimalistic-assert@1.0.1: {} + + minimatch@10.2.6: + dependencies: + brace-expansion: 5.0.9 + + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.18 + + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.4 + + minimist@1.2.8: {} + + minimizer-webpack-plugin@5.6.1(postcss@5.2.18)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + optionalDependencies: + postcss: 5.2.18 + + minipass-collect@1.0.2: + dependencies: + minipass: 3.3.6 + + minipass-flush@1.0.7: + dependencies: + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.3: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mitt@1.1.2: {} + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + + mockjs@1.1.0: + dependencies: + commander: 15.0.0 + + module-alias@2.3.4: {} + + moment@2.30.1: {} + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + multicast-dns@7.2.5: + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + + mute-stream@0.0.8: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.18: {} + + nanomatch@1.2.13: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + natural-compare@1.4.0: {} + + negotiator@0.6.3: {} + + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + nice-try@1.0.5: {} + + no-case@2.3.2: + dependencies: + lower-case: 1.1.4 + + no-case@3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.8.1 + + node-addon-api@7.1.1: + optional: true + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.4.0: {} + + node-int64@0.4.0: {} + + node-plop@0.26.3: + dependencies: + '@babel/runtime-corejs3': 7.29.7 + '@types/inquirer': 6.5.0 + change-case: 3.1.0 + del: 5.1.0 + globby: 10.0.2 + handlebars: 4.7.9 + inquirer: 7.3.3 + isbinaryfile: 4.0.10 + lodash.get: 4.4.2 + mkdirp: 0.5.6 + resolve: 1.22.12 + + node-releases@2.0.53: {} + + nopt@1.0.10: + dependencies: + abbrev: 1.1.1 + + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.12 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-path@1.0.0: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-url@6.1.0: {} + + normalize-wheel-es@1.2.0: {} + + normalize.css@8.0.1: {} + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nprogress@0.2.0: {} + + nth-check@1.0.2: + dependencies: + boolbase: 1.0.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + num2fraction@1.2.2: {} + + nwsapi@2.2.24: {} + + object-assign@4.1.1: {} + + object-copy@0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object-visit@1.0.1: + dependencies: + isobject: 3.0.1 + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.defaults@1.1.0: + dependencies: + array-each: 1.0.1 + array-slice: 1.1.0 + for-own: 1.0.0 + isobject: 3.0.1 + + object.getownpropertydescriptors@2.1.9: + dependencies: + array.prototype.reduce: 1.0.8 + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + gopd: 1.2.0 + safe-array-concat: 1.1.4 + + object.map@1.0.1: + dependencies: + for-own: 1.0.0 + make-iterator: 1.0.1 + + object.pick@1.3.0: + dependencies: + isobject: 3.0.1 + + object.values@1.2.1: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + obuf@1.1.2: {} + + omelette@0.4.5: {} + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + opener@1.5.2: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + ora@3.4.0: + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 2.9.2 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + os-tmpdir@1.0.2: {} + + own-keys@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + p-finally@1.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-map@3.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + pako@1.0.11: {} + + param-case@2.1.1: + dependencies: + no-case: 2.3.2 + + param-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-filepath@1.0.2: + dependencies: + is-absolute: 1.0.0 + map-cache: 0.2.2 + path-root: 0.1.1 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-passwd@1.0.0: {} + + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + + parseurl@1.3.3: {} + + pascal-case@2.0.1: + dependencies: + camel-case: 3.0.0 + upper-case-first: 1.1.2 + + pascal-case@3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + + pascalcase@0.1.1: {} + + path-browserify@1.0.1: {} + + path-case@2.1.1: + dependencies: + no-case: 2.3.2 + + path-exists@3.0.0: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-root-regex@0.1.2: {} + + path-root@0.1.1: + dependencies: + path-root-regex: 0.1.2 + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + + path-to-regexp@0.1.13: {} + + path-to-regexp@6.3.0: {} + + path-type@4.0.0: {} + + picocolors@0.2.1: {} + + picocolors@1.1.1: {} + + picomatch@2.3.2: {} + + picomatch@4.0.5: {} + + pify@4.0.1: {} + + pirates@4.0.7: {} + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + playwright-core@1.62.1: {} + + playwright@1.62.1: + dependencies: + playwright-core: 1.62.1 + optionalDependencies: + fsevents: 2.3.2 + + plop@2.7.6: + dependencies: + '@types/liftoff': 2.5.1 + chalk: 1.1.3 + interpret: 1.4.0 + liftoff: 2.5.0 + minimist: 1.2.8 + node-plop: 0.26.3 + ora: 3.4.0 + v8flags: 2.1.1 + transitivePeerDependencies: + - supports-color + + portfinder@1.0.38: + dependencies: + async: 3.2.6 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + posix-character-classes@0.1.1: {} + + possible-typed-array-names@1.1.0: {} + + postcss-calc@8.2.4(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + postcss-value-parser: 4.2.0 + + postcss-colormin@5.3.1(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-convert-values@5.1.3(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-discard-comments@5.1.2(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-duplicates@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-empty@5.1.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-discard-overridden@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-loader@6.2.1(postcss@8.5.26)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + cosmiconfig: 7.1.0 + klona: 2.0.6 + postcss: 8.5.26 + semver: 7.8.5 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + postcss-merge-longhand@5.1.7(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1(postcss@8.5.26) + + postcss-merge-rules@5.1.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-minify-font-values@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-gradients@5.1.1(postcss@8.5.26): + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-params@5.1.4(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + cssnano-utils: 3.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-minify-selectors@5.2.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-modules-extract-imports@3.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-modules-local-by-default@4.2.0(postcss@8.5.26): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + postcss-value-parser: 4.2.0 + + postcss-modules-scope@3.2.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 7.1.5 + + postcss-modules-values@4.0.0(postcss@8.5.26): + dependencies: + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + + postcss-normalize-charset@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + + postcss-normalize-display-values@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-positions@5.1.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-repeat-style@5.1.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-string@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-timing-functions@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-unicode@5.1.1(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-url@5.1.0(postcss@8.5.26): + dependencies: + normalize-url: 6.1.0 + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-normalize-whitespace@5.1.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-ordered-values@5.1.3(postcss@8.5.26): + dependencies: + cssnano-utils: 3.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-prefix-selector@1.16.1(postcss@5.2.18): + dependencies: + postcss: 5.2.18 + + postcss-reduce-initial@5.1.2(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + caniuse-api: 3.0.0 + postcss: 8.5.26 + + postcss-reduce-transforms@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + + postcss-selector-parser@6.1.4: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-selector-parser@7.1.5: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-svgo@5.1.0(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-value-parser: 4.2.0 + svgo: 2.8.3 + + postcss-unique-selectors@5.1.1(postcss@8.5.26): + dependencies: + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + postcss-value-parser@4.2.0: {} + + postcss@5.2.18: + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + + postcss@7.0.39: + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + + postcss@8.5.26: + dependencies: + nanoid: 3.3.18 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + posthtml-parser@0.2.1: + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + + posthtml-rename-id@1.0.12: + dependencies: + escape-string-regexp: 1.0.5 + + posthtml-render@1.4.0: {} + + posthtml-svg-mode@1.0.3: + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + posthtml@0.9.2: + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + prelude-ls@1.2.1: {} + + prettier@2.8.8: + optional: true + + pretty-error@2.1.2: + dependencies: + lodash: 4.18.1 + renderkid: 2.0.7 + + pretty-error@4.0.0: + dependencies: + lodash: 4.18.1 + renderkid: 3.0.0 + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + pretty-format@28.1.3: + dependencies: + '@jest/schemas': 28.1.3 + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + pretty@2.0.0: + dependencies: + condense-newlines: 0.2.1 + extend-shallow: 2.0.1 + js-beautify: 1.15.4 + + process-nextick-args@2.0.1: {} + + progress-webpack-plugin@1.0.16(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + chalk: 2.4.2 + figures: 2.0.0 + log-update: 2.3.0 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + progress@2.0.3: {} + + promise-inflight@1.0.1: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + proto-list@1.2.4: {} + + proxy-addr@2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + + proxy-from-env@2.1.0: {} + + pseudomap@1.0.2: {} + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + pump@3.0.4: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} + + q@1.5.1: {} + + qs@6.15.3: + dependencies: + es-define-property: 1.0.1 + side-channel: 1.1.1 + + query-string@4.3.4: + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + range-parser@1.3.0: {} + + raw-body@2.5.3: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + raw-loader@0.5.1: {} + + react-is@17.0.2: {} + + react-is@18.3.1: {} + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + + readdirp@5.1.1: {} + + rechoir@0.6.2: + dependencies: + resolve: 1.22.12 + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.29.7 + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regex-not@1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + regexpp@3.2.0: {} + + regexpu-core@6.4.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.13.2 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + regjsgen@0.8.0: {} + + regjsparser@0.13.2: + dependencies: + jsesc: 3.1.0 + + relateurl@0.2.7: {} + + remixicon@2.5.0: {} + + renderkid@2.0.7: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.18.1 + strip-ansi: 3.0.1 + + renderkid@3.0.0: + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.18.1 + strip-ansi: 6.0.1 + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-dir@1.0.1: + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-url@0.2.1: {} + + resolve.exports@1.1.1: {} + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + ret@0.1.15: {} + + retry@0.13.1: {} + + reusify@1.1.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + run-async@2.4.1: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + runjs@4.4.2: + dependencies: + chalk: 2.3.0 + lodash.padend: 4.6.1 + microcli: 1.3.3 + omelette: 0.4.5 + + rxjs@6.6.7: + dependencies: + tslib: 1.14.1 + + safe-array-concat@1.1.4: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safe-regex@1.1.0: + dependencies: + ret: 0.1.15 + + safer-buffer@2.1.2: {} + + sass-loader@13.3.3(sass@1.102.0)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + neo-async: 2.6.2 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + optionalDependencies: + sass: 1.102.0 + + sass-resources-loader@2.2.5: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + glob: 7.2.3 + loader-utils: 2.0.4 + + sass@1.102.0: + dependencies: + chokidar: 5.0.0 + immutable: 5.1.9 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.6.0 + + sax@1.2.4: {} + + sax@1.6.1: {} + + saxes@5.0.1: + dependencies: + xmlchars: 2.2.0 + + schema-utils@2.7.1: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) + + schema-utils@3.3.0: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.15.0 + ajv-keywords: 3.5.2(ajv@6.15.0) + + schema-utils@4.3.3: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + ajv-keywords: 5.1.0(ajv@8.20.0) + + screenfull@5.2.0: {} + + script-ext-html-webpack-plugin@2.1.5(html-webpack-plugin@4.5.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + debug: 4.4.3 + html-webpack-plugin: 4.5.2(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + transitivePeerDependencies: + - supports-color + + script-loader@0.7.2: + dependencies: + raw-loader: 0.5.1 + + select-hose@2.0.0: {} + + select@1.1.2: {} + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.4.0 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.8.5: {} + + send@0.19.2: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + + sentence-case@2.1.1: + dependencies: + no-case: 2.3.2 + upper-case-first: 1.1.2 + + serialize-javascript@4.0.0: + dependencies: + randombytes: 2.1.0 + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + serve-index@1.9.2: + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.8.1 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + + serve-static@1.16.3: + dependencies: + encodeurl: 2.0.0 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.19.2 + transitivePeerDependencies: + - supports-color + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + + set-value@2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + + setimmediate@1.0.5: {} + + setprototypeof@1.2.0: {} + + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + shell-quote@1.10.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slash@4.0.0: {} + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + snake-case@2.1.0: + dependencies: + no-case: 2.3.2 + + snapdragon-node@2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + + snapdragon-util@3.0.1: + dependencies: + kind-of: 3.2.2 + + snapdragon@0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + + sockjs@0.3.24: + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.5 + + sortablejs@1.14.0: {} + + source-list-map@2.0.1: {} + + source-map-js@1.2.1: {} + + source-map-resolve@0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-url@0.4.1: {} + + source-map@0.5.6: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.23 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 + + spdx-license-ids@3.0.23: {} + + spdy-transport@3.0.0: + dependencies: + debug: 4.4.3 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + + spdy@4.0.2: + dependencies: + debug: 4.4.3 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + + split-string@3.1.0: + dependencies: + extend-shallow: 3.0.2 + + sprintf-js@1.0.3: {} + + ssf@0.11.2: + dependencies: + frac: 1.1.2 + + ssri@8.0.1: + dependencies: + minipass: 3.3.6 + + stable@0.1.8: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + stackframe@1.3.4: {} + + static-extend@0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + + statuses@1.5.0: {} + + statuses@2.0.2: {} + + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + + strict-uri-encode@1.1.0: {} + + string-argv@0.3.2: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-length@5.0.1: + dependencies: + char-regex: 2.0.2 + strip-ansi: 7.2.0 + + string-width@2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + string.prototype.trim@1.2.11: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-object-atoms: 1.1.2 + has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 + + string.prototype.trimend@1.0.10: + dependencies: + call-bind: 1.0.9 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-object-atoms: 1.1.2 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.1 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-eof@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-indent@2.0.0: {} + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + style-mod@4.1.3: {} + + stylehacks@5.1.1(postcss@8.5.26): + dependencies: + browserslist: 4.28.8 + postcss: 8.5.26 + postcss-selector-parser: 6.1.4 + + supports-color@2.0.0: {} + + supports-color@3.2.3: + dependencies: + has-flag: 1.0.0 + + supports-color@4.5.0: + dependencies: + has-flag: 2.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-baker-runtime@1.4.7: + dependencies: + deepmerge: 1.3.2 + mitt: 1.1.2 + svg-baker: 1.7.0 + transitivePeerDependencies: + - supports-color + + svg-baker@1.7.0: + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.1(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.11 + transitivePeerDependencies: + - supports-color + + svg-sprite-loader@5.2.1: + dependencies: + bluebird: 3.7.2 + deepmerge: 1.3.2 + domready: 1.0.8 + escape-string-regexp: 1.0.5 + loader-utils: 1.4.2 + svg-baker: 1.7.0 + svg-baker-runtime: 1.4.7 + url-slug: 2.0.0 + transitivePeerDependencies: + - supports-color + + svg-tags@1.0.0: {} + + svgo@1.3.2: + dependencies: + chalk: 2.4.2 + coa: 2.0.2 + css-select: 2.1.0 + css-select-base-adapter: 0.1.1 + css-tree: 1.0.0-alpha.37 + csso: 4.2.0 + js-yaml: 3.15.1 + mkdirp: 0.5.6 + object.values: 1.2.1 + sax: 1.2.4 + stable: 0.1.8 + unquote: 1.1.1 + util.promisify: 1.0.1 + + svgo@2.8.3: + dependencies: + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.1.1 + sax: 1.6.1 + stable: 0.1.8 + + swap-case@1.1.2: + dependencies: + lower-case: 1.1.4 + upper-case: 1.1.3 + + symbol-tree@3.2.4: {} + + table@6.9.0: + dependencies: + ajv: 8.20.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + tapable@1.1.3: {} + + tapable@2.3.3: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + + terser-webpack-plugin@5.6.1(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.49.2 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + optionalDependencies: + cssnano: 5.1.15(postcss@8.5.26) + postcss: 8.5.26 + + terser@4.8.1: + dependencies: + acorn: 8.18.0 + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.21 + + terser@5.49.2: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.18.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.6 + glob: 7.2.3 + minimatch: 3.1.5 + + text-table@0.2.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + thread-loader@3.0.4(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + json-parse-better-errors: 1.0.2 + loader-runner: 4.3.2 + loader-utils: 2.0.4 + neo-async: 2.6.2 + schema-utils: 3.3.0 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + throat@6.0.2: {} + + through@2.3.8: {} + + thunky@1.1.0: {} + + tiny-emitter@2.1.0: {} + + tinyexec@1.3.0: {} + + title-case@2.1.1: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmpl@1.0.5: {} + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + to-regex@3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + + toidentifier@1.0.1: {} + + totalist@3.0.1: {} + + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@0.0.3: {} + + tr46@2.1.0: + dependencies: + punycode: 2.3.1 + + traverse@0.6.11: + dependencies: + gopd: 1.2.0 + typedarray.prototype.slice: 1.0.5 + which-typed-array: 1.1.22 + + tsconfig@7.0.0: + dependencies: + '@types/strip-bom': 3.0.0 + '@types/strip-json-comments': 0.0.30 + strip-bom: 3.0.0 + strip-json-comments: 2.0.1 + + tslib@1.14.1: {} + + tslib@2.3.0: {} + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.20.2: {} + + type-fest@0.21.3: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.8: + dependencies: + call-bind: 1.0.9 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typedarray.prototype.slice@1.0.5: + dependencies: + call-bind: 1.0.9 + define-properties: 1.2.1 + es-abstract: 1.24.2 + es-errors: 1.3.0 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 + typed-array-buffer: 1.0.3 + typed-array-byte-offset: 1.0.4 + + uglify-js@3.19.3: + optional: true + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + unc-path-regex@0.1.2: {} + + undici-types@8.3.0: {} + + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + + unidecode@0.1.8: {} + + union-value@1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + + universalify@0.2.0: {} + + universalify@2.0.1: {} + + unpipe@1.0.0: {} + + unquote@1.1.1: {} + + unset-value@1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + + update-browserslist-db@1.3.1(browserslist@4.28.8): + dependencies: + browserslist: 4.28.8 + escalade: 3.2.0 + picocolors: 1.1.1 + + upper-case-first@1.1.2: + dependencies: + upper-case: 1.1.3 + + upper-case@1.1.3: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urix@0.1.0: {} + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + url-slug@2.0.0: + dependencies: + unidecode: 0.1.8 + + use@3.1.1: {} + + user-home@1.1.1: {} + + util-deprecate@1.0.2: {} + + util.promisify@1.0.0: + dependencies: + define-properties: 1.2.1 + object.getownpropertydescriptors: 2.1.9 + + util.promisify@1.0.1: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.24.2 + has-symbols: 1.1.0 + object.getownpropertydescriptors: 2.1.9 + + utila@0.4.0: {} + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + v8-compile-cache@2.4.0: {} + + v8-to-istanbul@8.1.1: + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.6 + + v8flags@2.1.1: + dependencies: + user-home: 1.1.1 + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vary@1.1.2: {} + + vue-codemirror@6.1.1(codemirror@6.0.2)(vue@3.5.41): + dependencies: + '@codemirror/commands': 6.10.4 + '@codemirror/language': 6.12.4 + '@codemirror/state': 6.7.1 + '@codemirror/view': 6.43.8 + codemirror: 6.0.2 + vue: 3.5.41 + + vue-component-type-helpers@3.3.9: {} + + vue-count-to@1.0.13: {} + + vue-cropper@1.1.4: {} + + vue-demi@0.14.10(vue@3.5.41): + dependencies: + vue: 3.5.41 + + vue-eslint-parser@9.4.3(eslint@7.32.0): + dependencies: + debug: 4.4.3 + eslint: 7.32.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.7.0 + lodash: 4.18.1 + semver: 7.8.5 + transitivePeerDependencies: + - supports-color + + vue-hot-reload-api@2.3.4: {} + + vue-loader@15.11.1(@vue/compiler-sfc@3.5.41)(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(css-loader@6.11.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)))(handlebars@4.7.9)(lodash@4.18.1)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@vue/component-compiler-utils': 3.3.0(babel-core@7.0.0-bridge.0(@babel/core@7.28.3))(handlebars@4.7.9)(lodash@4.18.1) + css-loader: 6.11.0(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + hash-sum: 1.0.2 + loader-utils: 1.4.2 + vue-hot-reload-api: 2.3.4 + vue-style-loader: 4.1.3 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + optionalDependencies: + '@vue/compiler-sfc': 3.5.41 + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + + vue-loader@17.4.2(@vue/compiler-sfc@3.5.41)(vue@3.5.41)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + chalk: 4.1.2 + hash-sum: 2.0.0 + watchpack: 2.5.2 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + optionalDependencies: + '@vue/compiler-sfc': 3.5.41 + vue: 3.5.41 + + vue-router@4.6.4(vue@3.5.41): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.41 + + vue-style-loader@4.1.3: + dependencies: + hash-sum: 1.0.2 + loader-utils: 1.4.2 + + vue-template-es2015-compiler@1.9.1: {} + + vue3-dnd@2.1.0(vue@3.5.41): + dependencies: + '@react-dnd/invariant': 4.0.2 + '@react-dnd/shallowequal': 4.0.2 + dnd-core: 16.0.1 + fast-deep-equal: 3.1.3 + vue: 3.5.41 + vue-demi: 0.14.10(vue@3.5.41) + transitivePeerDependencies: + - '@vue/composition-api' + + vue3-treeselect@0.1.10(vue@3.5.41): + dependencies: + vue: 3.5.41 + + vue@3.5.41: + dependencies: + '@vue/compiler-dom': 3.5.41 + '@vue/compiler-sfc': 3.5.41 + '@vue/runtime-dom': 3.5.41 + '@vue/server-renderer': 3.5.41 + '@vue/shared': 3.5.41 + + vuedraggable@4.1.0(vue@3.5.41): + dependencies: + sortablejs: 1.14.0 + vue: 3.5.41 + + vuex@4.1.0(vue@3.5.41): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.41 + + w3c-hr-time@1.0.2: + dependencies: + browser-process-hrtime: 1.0.0 + + w3c-keyname@2.2.8: {} + + w3c-xmlserializer@2.0.0: + dependencies: + xml-name-validator: 3.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + watchpack@2.5.2: + dependencies: + graceful-fs: 4.2.11 + + wbuf@1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + webidl-conversions@3.0.1: {} + + webidl-conversions@5.0.0: {} + + webidl-conversions@6.1.0: {} + + webpack-bundle-analyzer@4.10.2: + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.18.0 + acorn-walk: 8.3.5 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + opener: 1.5.2 + picocolors: 1.1.1 + sirv: 2.0.4 + ws: 7.5.13 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + webpack-chain@6.5.1: + dependencies: + deepmerge: 1.5.2 + javascript-stringify: 2.1.0 + + webpack-dev-middleware@5.3.4(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.3.0 + schema-utils: 4.3.3 + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + + webpack-dev-server@4.15.2(debug@4.4.3)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)): + dependencies: + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.25 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.10 + '@types/sockjs': 0.3.36 + '@types/ws': 8.18.1 + ansi-html-community: 0.0.8 + bonjour-service: 1.4.4 + chokidar: 3.6.0 + colorette: 2.0.20 + compression: 1.8.1 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.22.2 + graceful-fs: 4.2.11 + html-entities: 2.6.0 + http-proxy-middleware: 2.0.10(@types/express@4.17.25)(debug@4.4.3) + ipaddr.js: 2.5.0 + launch-editor: 2.14.1 + open: 8.4.2 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.3.3 + selfsigned: 2.4.1 + serve-index: 1.9.2 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack-dev-middleware: 5.3.4(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + ws: 8.21.3 + optionalDependencies: + webpack: 5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + webpack-merge@5.10.0: + dependencies: + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 + + webpack-sources@1.4.3: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + + webpack-sources@3.5.1: {} + + webpack-virtual-modules@0.4.6: {} + + webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26): + dependencies: + '@types/estree': 1.0.9 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.18.0 + browserslist: 4.28.8 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.24.5 + es-module-lexer: 2.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + graceful-fs: 4.2.11 + mime-db: 1.54.0 + minimizer-webpack-plugin: 5.6.1(postcss@5.2.18)(webpack@5.109.2(cssnano@5.1.15(postcss@8.5.26))(postcss@8.5.26)) + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.3 + watchpack: 2.5.2 + webpack-sources: 3.5.1 + transitivePeerDependencies: + - '@minify-html/node' + - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso + - esbuild + - html-minifier-terser + - lightningcss + - postcss + - uglify-js + + websocket-driver@0.7.5: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@1.0.5: + dependencies: + iconv-lite: 0.4.24 + + whatwg-fetch@3.6.20: {} + + whatwg-mimetype@2.3.0: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + whatwg-url@8.7.0: + dependencies: + lodash: 4.18.1 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.2.0 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.22 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.22: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@2.0.1: {} + + wmf@1.0.2: {} + + word-wrap@1.2.5: {} + + word@0.3.0: {} + + wordwrap@1.0.0: {} + + wrap-ansi@3.0.1: + dependencies: + string-width: 2.1.1 + strip-ansi: 4.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + + ws@7.5.13: {} + + ws@8.21.3: {} + + xlsx@0.18.5: + dependencies: + adler-32: 1.3.1 + cfb: 1.2.2 + codepage: 1.15.0 + crc-32: 1.2.2 + ssf: 0.11.2 + wmf: 1.0.2 + word: 0.3.0 + + xml-name-validator@3.0.0: {} + + xml-name-validator@4.0.0: {} + + xmlchars@2.2.0: {} + + y18n@5.0.8: {} + + yallist@2.1.2: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml@1.10.3: {} + + yaml@2.9.0: + optional: true + + yargs-parser@20.2.9: {} + + yargs@16.2.2: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yorkie@2.0.0: + dependencies: + execa: 0.8.0 + is-ci: 1.2.1 + normalize-path: 1.0.0 + strip-indent: 2.0.0 + + zrender@6.1.0: + dependencies: + tslib: 2.3.0 diff --git a/admin-ui/postcss.config.js b/admin-ui/postcss.config.js new file mode 100644 index 0000000..961986e --- /dev/null +++ b/admin-ui/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/admin-ui/public/favicon.ico b/admin-ui/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..792a1b174a6ccac0485dfd67a8f1ae9fbbce91cf GIT binary patch literal 3628 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 +
+ +
+ + + + diff --git a/admin-ui/src/api/admin/dict/data.js b/admin-ui/src/api/admin/dict/data.js new file mode 100644 index 0000000..f8b09b7 --- /dev/null +++ b/admin-ui/src/api/admin/dict/data.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询字典数据列表 +export function listData(query) { + return request({ + url: '/api/v1/dict/data?dictType=' + query.dictType, + method: 'get', + params: query + }) +} + +// 查询字典数据详细 +export function getData(dictCode) { + return request({ + url: '/api/v1/dict/data/' + dictCode, + method: 'get' + }) +} + +// 根据字典类型查询字典数据信息 +export function getDicts(dictType) { + return request({ + url: '/api/v1/dict-data/option-select?dictType=' + dictType, + method: 'get' + }) +} + +// 新增字典数据 +export function addData(data) { + return request({ + url: '/api/v1/dict/data', + method: 'post', + data: data + }) +} + +// 修改字典数据 +export function updateData(data) { + return request({ + url: '/api/v1/dict/data/' + data.dictCode, + method: 'put', + data: data + }) +} + +// 删除字典数据 +export function delData(dictCode) { + return request({ + url: '/api/v1/dict/data', + method: 'delete', + data: dictCode + }) +} + +// 导出字典数据 +export function exportData(query) { + return request({ + url: '/api/v1/dict/data/export', + method: 'get', + params: query + }) +} diff --git a/admin-ui/src/api/admin/dict/type.js b/admin-ui/src/api/admin/dict/type.js new file mode 100644 index 0000000..f3d3836 --- /dev/null +++ b/admin-ui/src/api/admin/dict/type.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询字典类型列表 +export function listType(query) { + return request({ + url: '/api/v1/dict/type', + method: 'get', + params: query + }) +} + +// 查询字典类型详细 +export function getType(dictId) { + return request({ + url: '/api/v1/dict/type/' + dictId, + method: 'get' + }) +} + +// 新增字典类型 +export function addType(data) { + return request({ + url: '/api/v1/dict/type', + method: 'post', + data: data + }) +} + +// 修改字典类型 +export function updateType(data) { + return request({ + url: '/api/v1/dict/type/' + data.id, + method: 'put', + data: data + }) +} + +// 删除字典类型 +export function delType(dictId) { + return request({ + url: '/api/v1/dict/type', + method: 'delete', + data: dictId + }) +} + +// 导出字典类型 +export function exportType(query) { + return request({ + url: '/api/v1/dict/type/export', + method: 'get', + params: query + }) +} + +// 获取字典选择框列表 +export function optionselect() { + return request({ + url: '/api/v1/dict/type-option-select', + method: 'get' + }) +} diff --git a/admin-ui/src/api/admin/sys-api.js b/admin-ui/src/api/admin/sys-api.js new file mode 100644 index 0000000..1d4ecc9 --- /dev/null +++ b/admin-ui/src/api/admin/sys-api.js @@ -0,0 +1,46 @@ +import request from '@/utils/request' + +// 查询SysApi列表 +export function listSysApi(query) { + return request({ + url: '/api/v1/sys-api', + method: 'get', + params: query + }) +} + +// 查询SysApi详细 +export function getSysApi(id) { + return request({ + url: '/api/v1/sys-api/' + id, + method: 'get' + }) +} + +// 新增SysApi +export function addSysApi(data) { + return request({ + url: '/api/v1/sys-api', + method: 'post', + data: data + }) +} + +// 修改SysApi +export function updateSysApi(data) { + return request({ + url: '/api/v1/sys-api/' + data.id, + method: 'put', + data: data + }) +} + +// 删除SysApi +export function delSysApi(data) { + return request({ + url: '/api/v1/sys-api', + method: 'delete', + data: data + }) +} + diff --git a/admin-ui/src/api/admin/sys-config.js b/admin-ui/src/api/admin/sys-config.js new file mode 100644 index 0000000..6d2059d --- /dev/null +++ b/admin-ui/src/api/admin/sys-config.js @@ -0,0 +1,68 @@ +import request from '@/utils/request' + +// 查询参数列表 +export function listConfig(query) { + return request({ + url: '/api/v1/config', + method: 'get', + params: query + }) +} + +// 查询参数详细 +export function getConfig(configId) { + return request({ + url: '/api/v1/config/' + configId, + method: 'get' + }) +} + +// 根据参数键名查询参数值 +export function getConfigKey(configKey) { + return request({ + url: '/api/v1/configKey/' + configKey, + method: 'get' + }) +} + +// 新增参数配置 +export function addConfig(data) { + return request({ + url: '/api/v1/config', + method: 'post', + data: data + }) +} + +// 修改参数配置 +export function updateConfig(data) { + return request({ + url: '/api/v1/config/' + data.id, + method: 'put', + data: data + }) +} + +// 删除参数配置 +export function delConfig(data) { + return request({ + url: '/api/v1/config', + method: 'delete', + data: data + }) +} + +export function getSetConfig(query) { + return request({ + url: '/api/v1/set-config', + method: 'get' + }) +} + +export function updateSetConfig(data) { + return request({ + url: '/api/v1/set-config', + method: 'put', + data: data + }) +} diff --git a/admin-ui/src/api/admin/sys-dept.js b/admin-ui/src/api/admin/sys-dept.js new file mode 100644 index 0000000..4875518 --- /dev/null +++ b/admin-ui/src/api/admin/sys-dept.js @@ -0,0 +1,60 @@ +import request from '@/utils/request' + +export function getDeptList(query) { + return request({ + url: '/api/v1/dept', + method: 'get', + params: query + }) +} + +// 查询部门详细 +export function getDept(deptId) { + return request({ + url: '/api/v1/dept/' + deptId, + method: 'get' + }) +} + +// 查询部门下拉树结构 +export function treeselect() { + return request({ + url: '/api/v1/deptTree', + method: 'get' + }) +} + +// 根据角色ID查询部门树结构 +export function roleDeptTreeselect(roleId) { + return request({ + url: '/api/v1/roleDeptTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增部门 +export function addDept(data) { + return request({ + url: '/api/v1/dept', + method: 'post', + data: data + }) +} + +// 修改部门 +export function updateDept(data, id) { + return request({ + url: '/api/v1/dept/' + id, + method: 'put', + data: data + }) +} + +// 删除部门 +export function delDept(data) { + return request({ + url: '/api/v1/dept', + method: 'delete', + data: data + }) +} diff --git a/admin-ui/src/api/admin/sys-login-log.js b/admin-ui/src/api/admin/sys-login-log.js new file mode 100644 index 0000000..e2f417e --- /dev/null +++ b/admin-ui/src/api/admin/sys-login-log.js @@ -0,0 +1,28 @@ +import request from '@/utils/request' + +// 查询SysLoginlog列表 +export function listSysLoginlog(query) { + return request({ + url: '/api/v1/sys-login-log', + method: 'get', + params: query + }) +} + +// 查询SysLoginlog详细 +export function getSysLoginlog(ID) { + return request({ + url: '/api/v1/sys-login-log/' + ID, + method: 'get' + }) +} + +// 删除SysLoginlog +export function delSysLoginlog(data) { + return request({ + url: '/api/v1/sys-login-log', + method: 'delete', + data: data + }) +} + diff --git a/admin-ui/src/api/admin/sys-menu.js b/admin-ui/src/api/admin/sys-menu.js new file mode 100644 index 0000000..fd544c5 --- /dev/null +++ b/admin-ui/src/api/admin/sys-menu.js @@ -0,0 +1,61 @@ +import request from '@/utils/request' + +// 查询菜单列表 +export function listMenu(query) { + return request({ + url: '/api/v1/menu', + method: 'get', + params: query + }) +} + +// 查询菜单详细 +export function getMenu(menuId) { + return request({ + url: '/api/v1/menu/' + menuId, + method: 'get' + }) +} + +// 查询菜单下拉树结构 +// export function treeselect() { +// return request({ +// url: '/api/v1/menuTreeselect', +// method: 'get' +// }) +// } + +// 根据角色ID查询菜单下拉树结构 +export function roleMenuTreeselect(roleId) { + return request({ + url: '/api/v1/roleMenuTreeselect/' + roleId, + method: 'get' + }) +} + +// 新增菜单 +export function addMenu(data) { + return request({ + url: '/api/v1/menu', + method: 'post', + data: data + }) +} + +// 修改菜单 +export function updateMenu(data, id) { + return request({ + url: '/api/v1/menu/' + id, + method: 'put', + data: data + }) +} + +// 删除菜单 +export function delMenu(data) { + return request({ + url: '/api/v1/menu', + method: 'delete', + data: data + }) +} diff --git a/admin-ui/src/api/admin/sys-opera-log.js b/admin-ui/src/api/admin/sys-opera-log.js new file mode 100644 index 0000000..d11d96f --- /dev/null +++ b/admin-ui/src/api/admin/sys-opera-log.js @@ -0,0 +1,28 @@ +import request from '@/utils/request' + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/api/v1/operlog/clean', + method: 'delete' + }) +} + +// 查询SysOperlog列表 +export function listSysOperlog(query) { + return request({ + url: '/api/v1/sys-opera-log', + method: 'get', + params: query + }) +} + +// 删除SysOperlog +export function delSysOperlog(data) { + return request({ + url: '/api/v1/sys-opera-log', + method: 'delete', + data: data + }) +} + diff --git a/admin-ui/src/api/admin/sys-post.js b/admin-ui/src/api/admin/sys-post.js new file mode 100644 index 0000000..eaca6d9 --- /dev/null +++ b/admin-ui/src/api/admin/sys-post.js @@ -0,0 +1,46 @@ +import request from '@/utils/request' + +// 查询岗位列表 +export function listPost(query) { + return request({ + url: '/api/v1/post', + method: 'get', + params: query + }) +} + +// 查询岗位详细 +export function getPost(postId) { + return request({ + url: '/api/v1/post/' + postId, + method: 'get' + }) +} + +// 新增岗位 +export function addPost(data) { + return request({ + url: '/api/v1/post', + method: 'post', + data: data + }) +} + +// 修改岗位 +export function updatePost(data, id) { + return request({ + url: '/api/v1/post/' + id, + method: 'put', + data: data + }) +} + +// 删除岗位 +export function delPost(postId) { + return request({ + url: '/api/v1/post', + method: 'delete', + data: postId + }) +} + diff --git a/admin-ui/src/api/admin/sys-role.js b/admin-ui/src/api/admin/sys-role.js new file mode 100644 index 0000000..44a483e --- /dev/null +++ b/admin-ui/src/api/admin/sys-role.js @@ -0,0 +1,88 @@ +import request from '@/utils/request' + +// 查询角色列表 +export function listRole(query) { + return request({ + url: '/api/v1/role', + method: 'get', + params: query + }) +} + +// 查询角色详细 +export function getRole(roleId) { + return request({ + url: '/api/v1/role/' + roleId, + method: 'get' + }) +} + +// 新增角色 +export function addRole(data) { + return request({ + url: '/api/v1/role', + method: 'post', + data: data + }) +} + +// 修改角色 +export function updateRole(data, roleId) { + return request({ + url: '/api/v1/role/' + roleId, + method: 'put', + data: data + }) +} + +// 角色数据权限 +export function dataScope(data) { + return request({ + url: '/api/v1/roledatascope', + method: 'put', + data: data + }) +} + +// 角色状态修改 +export function changeRoleStatus(roleId, status) { + const data = { + roleId, + status + } + return request({ + url: '/api/v1/role-status', + method: 'put', + data: data + }) +} + +// 删除角色 +export function delRole(roleId) { + return request({ + url: '/api/v1/role', + method: 'delete', + data: roleId + }) +} + +export function getListrole(id) { + return request({ + url: '/api/v1/menu/role/' + id, + method: 'get' + }) +} + +export function getRoutes() { + return request({ + url: '/api/v1/menurole', + method: 'get' + }) +} + +// export function getMenuNames() { +// return request({ +// url: '/api/v1/menuids', +// method: 'get' +// }) +// } diff --git a/admin-ui/src/api/admin/sys-user.js b/admin-ui/src/api/admin/sys-user.js new file mode 100644 index 0000000..07c1d0a --- /dev/null +++ b/admin-ui/src/api/admin/sys-user.js @@ -0,0 +1,135 @@ +import request from '@/utils/request' + +// 查询用户列表 +export function listUser(query) { + return request({ + url: '/api/v1/sys-user', + method: 'get', + params: query + }) +} + +// 查询用户详细 +export function getUser(userId) { + return request({ + url: '/api/v1/sys-user/' + userId, + method: 'get' + }) +} + +export function getUserInit() { + return request({ + url: '/api/v1/sys-user/', + method: 'get' + }) +} + +// 新增用户 +export function addUser(data) { + return request({ + url: '/api/v1/sys-user', + method: 'post', + data: data + }) +} + +// 修改用户 +export function updateUser(data) { + return request({ + url: '/api/v1/sys-user', + method: 'put', + data: data + }) +} + +// 删除用户 +export function delUser(data) { + return request({ + url: '/api/v1/sys-user', + method: 'delete', + data: data + }) +} + +// 导出用户 +export function exportUser(query) { + return request({ + url: '/api/v1/sys-user/export', + method: 'get', + params: query + }) +} + +// 用户密码重置 +export function resetUserPwd(userId, password) { + const data = { + userId, + password + } + return request({ + url: '/api/v1/user/pwd/reset', + method: 'put', + data: data + }) +} + +// 用户状态修改 +export function changeUserStatus(e) { + const data = { + userId: e.userId, + status: e.status + } + return request({ + url: '/api/v1/user/status', + method: 'put', + data: data + }) +} + +// 修改用户个人信息 +export function updateUserProfile(data) { + return request({ + url: '/api/v1/sys-user/profile', + method: 'put', + data: data + }) +} + +// 下载用户导入模板 +export function importTemplate() { + return request({ + url: '/api/v1/sys-user/importTemplate', + method: 'get' + }) +} + +// 用户密码重置 +export function updateUserPwd(oldPassword, newPassword) { + const data = { + oldPassword, + newPassword + } + return request({ + url: '/api/v1/user/pwd/set', + method: 'put', + data: data + }) +} + +// 用户头像上传 +export function uploadAvatar(data) { + return request({ + url: '/api/v1/user/avatar', + method: 'post', + data: data + }) +} + +// 查询用户个人信息 +export function getUserProfile() { + return request({ + url: '/api/v1/user/profile', + method: 'get' + }) +} + diff --git a/admin-ui/src/api/chorus/index.js b/admin-ui/src/api/chorus/index.js new file mode 100644 index 0000000..0acfb49 --- /dev/null +++ b/admin-ui/src/api/chorus/index.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +const base = '/api/v1/chorus' + +export const listProviders = () => request({ url: `${base}/providers`, method: 'get' }) +export const createProvider = data => request({ url: `${base}/providers`, method: 'post', data }) +export const updateProvider = (id, data) => request({ url: `${base}/providers/${id}`, method: 'put', data }) +export const readProviderCredential = id => request({ url: `${base}/providers/${id}/credential`, method: 'get' }) +export const rotateProviderCredential = (id, apiKey) => request({ url: `${base}/providers/${id}/credential`, method: 'put', data: { api_key: apiKey }}) + +export const listProviderModels = () => request({ url: `${base}/provider-models`, method: 'get' }) +export const createProviderModel = data => request({ url: `${base}/provider-models`, method: 'post', data }) +export const updateProviderModel = (id, data) => request({ url: `${base}/provider-models/${id}`, method: 'put', data }) +export const runConnectivityCheck = id => request({ url: `${base}/provider-models/${id}/connectivity-checks`, method: 'post' }) +export const listProviderHealth = () => request({ url: `${base}/connectivity-checks`, method: 'get' }) + +export const listPromptTemplates = () => request({ url: `${base}/prompt-templates`, method: 'get' }) +export const createPromptTemplate = data => request({ url: `${base}/prompt-templates`, method: 'post', data }) +export const updatePromptTemplate = (id, data) => request({ url: `${base}/prompt-templates/${id}`, method: 'put', data }) + +export const listRoutePools = () => request({ url: `${base}/route-pools`, method: 'get' }) +export const createRoutePool = data => request({ url: `${base}/route-pools`, method: 'post', data }) +export const updateRoutePool = (id, data) => request({ url: `${base}/route-pools/${id}`, method: 'put', data }) + +export const listPortalUsers = () => request({ url: `${base}/users`, method: 'get' }) +export const updatePortalUserStatus = (id, status) => request({ url: `${base}/users/${id}`, method: 'put', data: { status }}) +export const listGenerations = () => request({ url: `${base}/generations`, method: 'get' }) diff --git a/admin-ui/src/api/job/sys-job.js b/admin-ui/src/api/job/sys-job.js new file mode 100644 index 0000000..83e5b5c --- /dev/null +++ b/admin-ui/src/api/job/sys-job.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询SysJob列表 +export function listSysJob(query) { + return request({ + url: '/api/v1/sysjob', + method: 'get', + params: query + }) +} + +// 查询SysJob详细 +export function getSysJob(jobId) { + return request({ + url: '/api/v1/sysjob/' + jobId, + method: 'get' + }) +} + +// 新增SysJob +export function addSysJob(data) { + return request({ + url: '/api/v1/sysjob', + method: 'post', + data: data + }) +} + +// 修改SysJob +export function updateSysJob(data) { + return request({ + url: '/api/v1/sysjob', + method: 'put', + data: data + }) +} + +// 删除SysJob +export function delSysJob(data) { + return request({ + url: '/api/v1/sysjob', + method: 'delete', + data: data + }) +} + +// 移除SysJob +export function removeJob(jobId) { + return request({ + url: '/api/v1/job/remove/' + jobId, + method: 'get' + }) +} + +// 启动SysJob +export function startJob(jobId) { + return request({ + url: '/api/v1/job/start/' + jobId, + method: 'get' + }) +} + diff --git a/admin-ui/src/api/login.js b/admin-ui/src/api/login.js new file mode 100644 index 0000000..d8b2c4b --- /dev/null +++ b/admin-ui/src/api/login.js @@ -0,0 +1,17 @@ +import request from '@/utils/request' + +// 获取验证码 +export function getCodeImg() { + return request({ + url: '/api/v1/captcha', + method: 'get' + }) +} + +// 查询 此接口不在验证数据权限 +export function getSetting() { + return request({ + url: '/api/v1/app-config', + method: 'get' + }) +} diff --git a/admin-ui/src/api/monitor/server.js b/admin-ui/src/api/monitor/server.js new file mode 100644 index 0000000..1c95fe3 --- /dev/null +++ b/admin-ui/src/api/monitor/server.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 查询服务器详细 +export function getServer() { + return request({ + url: '/api/v1/server-monitor', + method: 'get' + }) +} diff --git a/admin-ui/src/api/remote-search.js b/admin-ui/src/api/remote-search.js new file mode 100644 index 0000000..c7e1911 --- /dev/null +++ b/admin-ui/src/api/remote-search.js @@ -0,0 +1,17 @@ +import request from '@/utils/request' + +export function searchUser(name) { + return request({ + url: '/search/user', + method: 'get', + params: { name } + }) +} + +export function transactionList(query) { + return request({ + url: '/transaction/list', + method: 'get', + params: query + }) +} diff --git a/admin-ui/src/api/schedule.js b/admin-ui/src/api/schedule.js new file mode 100644 index 0000000..367a254 --- /dev/null +++ b/admin-ui/src/api/schedule.js @@ -0,0 +1,43 @@ +import request from '@/utils/request' + +export function list(data) { + return request({ + url: 'api/v1/schedule/list', + method: 'get', + params: data + }) +} + +export function add(data) { + return request({ + url: 'api/v1/schedule/add', + method: 'post', + data + }) +} + +export function edit(data) { + return request({ + url: 'api/v1/schedule/update', + method: 'put', + data + }) +} + +export function getSchedule(id) { + return request({ + url: 'api/v1/schedule/query', + method: 'get', + params: { + id + } + }) +} + +export function deleteSchedule(data) { + return request({ + url: 'api/v1/schedule/delete', + method: 'delete', + data + }) +} diff --git a/admin-ui/src/api/table.js b/admin-ui/src/api/table.js new file mode 100644 index 0000000..c514499 --- /dev/null +++ b/admin-ui/src/api/table.js @@ -0,0 +1,20 @@ +// 查询列表 +export function getItems(f, query) { + query = query || { pageSize: 10000 } + return f(query) +} + +export function setItems(response, k, v) { + const data = [] + k = k || 'id' + v = v || 'name' + if (response.data && response.data.list && response.data.list.length > 0) { + response.data.list.forEach(e => { + data.push({ + key: e[k].toString(), + value: e[v].toString() + }) + }) + return data + } +} diff --git a/admin-ui/src/api/tools/gen.js b/admin-ui/src/api/tools/gen.js new file mode 100644 index 0000000..cc4846c --- /dev/null +++ b/admin-ui/src/api/tools/gen.js @@ -0,0 +1,103 @@ +import request from '@/utils/request' + +// 查询生成表数据 +export function listTable(query) { + return request({ + url: '/api/v1/sys/tables/page', + method: 'get', + params: query + }) +} +// 查询db数据库列表 +export function listDbTable(query) { + return request({ + url: '/api/v1/db/tables/page', + method: 'get', + params: query + }) +} + +// 查询表详细信息 +export function getGenTable(tableId) { + return request({ + url: '/api/v1/sys/tables/info/' + tableId, + method: 'get' + }) +} + +export function getGenTableInfo(tablename) { + return request({ + url: '/api/v1/sys/tables?tableName=' + tablename, + method: 'get' + }) +} + +// 修改代码生成信息 +export function updateGenTable(data) { + return request({ + url: '/api/v1/sys/tables/info', + method: 'put', + data: data + }) +} + +// 导入表 +export function importTable(data) { + return request({ + url: '/api/v1/sys/tables/info', + method: 'post', + params: data + }) +} +// 预览生成代码 +export function previewTable(tableId) { + return request({ + url: '/api/v1/gen/preview/' + tableId, + method: 'get' + }) +} +// 删除表数据 +export function delTable(tableId) { + return request({ + url: '/api/v1/sys/tables/info/' + tableId, + method: 'delete' + }) +} + +// 生成代码到项目 +export function toProjectTable(tableId) { + return request({ + url: '/api/v1/gen/toproject/' + tableId, + method: 'get' + }) +} + +// 生成接口数据到迁移脚本 +export function apiToFile(tableId) { + return request({ + url: '/api/v1/gen/apitofile/' + tableId, + method: 'get' + }) +} + +export function toProjectTableCheckRole(tableId, ischeckrole) { + return request({ + url: '/api/v1/gen/toproject/' + tableId + '?ischeckrole=' + ischeckrole, + method: 'get' + }) +} + +// 生成菜单到数据库 +export function toDBTable(tableId) { + return request({ + url: '/api/v1/gen/todb/' + tableId, + method: 'get' + }) +} + +export function getTableTree() { + return request({ + url: '/api/v1/gen/tabletree', + method: 'get' + }) +} diff --git a/admin-ui/src/api/user.js b/admin-ui/src/api/user.js new file mode 100644 index 0000000..7b46cf8 --- /dev/null +++ b/admin-ui/src/api/user.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' + +// login 登陆 +export function login(data) { + return request({ + url: '/api/v1/login', + method: 'post', + data + }) +} + +// logout 退出 +export function logout() { + return request({ + url: '/api/v1/logout', + method: 'post' + }) +} + +// refreshtoken 刷新token +export function refreshtoken(data) { + return request({ + url: '/refreshtoken', + method: 'post', + data + }) +} + +// getInfo 获取用户基本信息 +export function getInfo() { + return request({ + url: '/api/v1/getinfo', + method: 'get' + }) +} + diff --git a/admin-ui/src/api/ws.js b/admin-ui/src/api/ws.js new file mode 100644 index 0000000..4c31e09 --- /dev/null +++ b/admin-ui/src/api/ws.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 查询SysJob列表 +export function unWsLogout(id, group) { + return request({ + url: '/wslogout/' + id + '/' + group, + method: 'get' + }) +} diff --git a/admin-ui/src/assets/401_images/401.gif b/admin-ui/src/assets/401_images/401.gif new file mode 100644 index 0000000000000000000000000000000000000000..cd6e0d9433421b3f29d0ec0c40f755e354728000 GIT binary patch literal 164227 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⋘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 GY5fOuZZib{ literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/404_images/404.png b/admin-ui/src/assets/404_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8e2305cc973ad2121403aee4bf08728f76c461 GIT binary patch literal 98071 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/404_images/404_cloud.png b/admin-ui/src/assets/404_images/404_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c6281d09013e0a2c5f8e699a0a6038d9480291e5 GIT binary patch literal 4766 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/custom-theme/fonts/element-icons.ttf b/admin-ui/src/assets/custom-theme/fonts/element-icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..570a3e11b2f002c146d7fdc20528951442f6fd93 GIT binary patch literal 11028 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.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-select-dropdown__item.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-select-dropdown__item.is-disabled:hover{background-color:#fff}.custom-theme .el-select-dropdown__item.hover,.custom-theme .el-select-dropdown__item:hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown__item.selected{color:#262729;font-weight:700}.custom-theme .el-select-dropdown__item span{line-height:34px!important}.custom-theme .el-select-group{margin:0;padding:0}.custom-theme .el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.custom-theme .el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.custom-theme .el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#dfe4ed}.custom-theme .el-select-group__title{padding-left:20px;font-size:12px;color:#0a76a4;line-height:30px}.custom-theme .el-select-group .el-select-dropdown__item{padding-left:20px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-select{display:inline-block;position:relative}.custom-theme .el-select:hover .el-input__inner{border-color:#b4bccc}.custom-theme .el-select .el-input__inner{cursor:pointer;padding-right:35px}.custom-theme .el-select .el-input__inner:focus{border-color:#262729}.custom-theme .el-select .el-input .el-select__caret{color:#b4bccc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);line-height:16px;cursor:pointer}.custom-theme .el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.custom-theme .el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#b4bccc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-select .el-input .el-select__caret.is-show-close:hover{color:#878d99}.custom-theme .el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover{border-color:#dfe4ed}.custom-theme .el-select>.el-input{display:block}.custom-theme .el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;vertical-align:baseline;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.custom-theme .el-select__input.is-mini{height:14px}.custom-theme .el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#b4bccc;line-height:18px;font-size:14px}.custom-theme .el-select__close:hover{color:#878d99}.custom-theme .el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.custom-theme .el-select .el-tag__close{margin-top:-2px}.custom-theme .el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:3px 0 3px 6px;background-color:#f0f2f5}.custom-theme .el-select .el-tag__close.el-icon-close{background-color:#b4bccc;right:-7px;color:#fff}.custom-theme .el-select .el-tag__close.el-icon-close:hover{background-color:#878d99}.custom-theme .el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.custom-theme .el-select__tag{display:inline-block;height:24px;line-height:24px;font-size:14px;border-radius:4px;color:#fff;background-color:#262729}.custom-theme .el-select__tag .el-icon-close{font-size:14px}.custom-theme .el-pagination{white-space:nowrap;padding:2px 5px;color:#2d2f33;font-weight:700}.custom-theme .el-pagination::after,.custom-theme .el-pagination::before{display:table;content:""}.custom-theme .el-pagination::after{clear:both}.custom-theme .el-pagination button,.custom-theme .el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-pagination .el-input__inner{text-align:center}.custom-theme .el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-pagination .el-select .el-input{width:100px;margin:0 5px}.custom-theme .el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px;height:28px}.custom-theme .el-pagination button{border:none;padding:0 6px;background:0 0}.custom-theme .el-pagination button:focus{outline:0}.custom-theme .el-pagination button:hover{color:#262729}.custom-theme .el-pagination button.disabled{color:#b4bccc;background-color:#fff;cursor:not-allowed}.custom-theme .el-pagination .btn-next,.custom-theme .el-pagination .btn-prev{background:center center no-repeat;background-size:16px;background-color:#fff;cursor:pointer;margin:0;color:#2d2f33}.custom-theme .el-pagination .btn-next .el-icon,.custom-theme .el-pagination .btn-prev .el-icon{display:block;font-size:12px}.custom-theme .el-pagination .btn-prev{padding-right:12px}.custom-theme .el-pagination .btn-next{padding-left:12px}.custom-theme .el-pagination--small .btn-next,.custom-theme .el-pagination--small .btn-prev,.custom-theme .el-pagination--small .el-pager li,.custom-theme .el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.custom-theme .el-pagination--small .arrow.disabled{visibility:hidden}.custom-theme .el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.custom-theme .el-pagination__sizes .el-input .el-input__inner:hover{border-color:#262729}.custom-theme .el-pagination__total{margin-right:10px;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__jump{margin-left:24px;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__jump .el-input__inner{padding:0 3px}.custom-theme .el-pagination__rightwrapper{float:right}.custom-theme .el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px;-moz-appearance:textfield}.custom-theme .el-pagination__editor.el-input{width:50px}.custom-theme .el-pagination__editor.el-input .el-input__inner{height:28px}.custom-theme .el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.custom-theme .el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-theme .el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;display:inline-block;vertical-align:top;font-size:0;padding:0;margin:0}.custom-theme .el-pager .el-icon-more::before{vertical-align:-4px}.custom-theme .el-pager li{padding:0 4px;background:#fff;vertical-align:top;display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;margin:0}.custom-theme .el-pager li.btn-quicknext,.custom-theme .el-pager li.btn-quickprev{line-height:28px;color:#2d2f33}.custom-theme .el-pager li.btn-quickprev:hover{cursor:pointer}.custom-theme .el-pager li.btn-quicknext:hover{cursor:pointer}.custom-theme .el-pager li.active+li{border-left:0}.custom-theme .el-pager li:hover{color:#262729}.custom-theme .el-pager li.active{color:#262729;cursor:default}.custom-theme .v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.custom-theme .v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.custom-theme .v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.custom-theme .el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.custom-theme .el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.custom-theme .el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.custom-theme .el-dialog__header{padding:15px;padding-bottom:10px}.custom-theme .el-dialog__headerbtn{position:absolute;top:15px;right:15px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.custom-theme .el-dialog__headerbtn .el-dialog__close{color:#0a76a4}.custom-theme .el-dialog__headerbtn:focus .el-dialog__close,.custom-theme .el-dialog__headerbtn:hover .el-dialog__close{color:#262729}.custom-theme .el-dialog__title{line-height:24px;font-size:18px;color:#2d2f33}.custom-theme .el-dialog__body{padding:30px 20px;color:#5a5e66;line-height:24px;font-size:14px}.custom-theme .el-dialog__footer{padding:15px;padding-top:10px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-dialog--center{text-align:center}.custom-theme .el-dialog--center .el-dialog__header{padding-top:30px}.custom-theme .el-dialog--center .el-dialog__body{text-align:initial;padding:25px 27px 30px}.custom-theme .el-dialog--center .el-dialog__footer{text-align:inherit;padding-bottom:30px}.custom-theme .dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.custom-theme .dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-autocomplete{position:relative;display:inline-block}.custom-theme .el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px}.custom-theme .el-autocomplete-suggestion.el-popper .popper__arrow{left:24px!important}.custom-theme .el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;background-color:#fff;border:1px solid #dfe4ed;border-radius:4px}.custom-theme .el-autocomplete-suggestion__list{margin:0;padding:0}.custom-theme .el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#5a5e66;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-theme .el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.custom-theme .el-autocomplete-suggestion li.highlighted{background-color:#f5f7fa}.custom-theme .el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.custom-theme .el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.custom-theme .el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.custom-theme .el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.custom-theme .el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-dropdown{display:inline-block;position:relative;color:#5a5e66;font-size:14px}.custom-theme .el-dropdown .el-button-group{display:block}.custom-theme .el-dropdown .el-button-group .el-button{float:none}.custom-theme .el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.custom-theme .el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.custom-theme .el-dropdown .el-dropdown__caret-button:hover::before{top:0;bottom:0}.custom-theme .el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.custom-theme .el-dropdown__icon{font-size:12px;margin:0 3px}.custom-theme .el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #e6ebf5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#5a5e66;cursor:pointer}.custom-theme .el-dropdown-menu__item:not(.is-disabled):hover{background-color:#e9e9ea;color:#515254}.custom-theme .el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #e6ebf5}.custom-theme .el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#fff}.custom-theme .el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.custom-theme .el-dropdown-menu--medium{padding:6px 0}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.custom-theme .el-dropdown-menu--small{padding:6px 0}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.custom-theme .el-dropdown-menu--mini{padding:3px 0}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.custom-theme .el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#fff}.custom-theme .el-menu::after,.custom-theme .el-menu::before{display:table;content:""}.custom-theme .el-menu::after{clear:both}.custom-theme .el-menu li{list-style:none}.custom-theme .el-menu--horizontal{border-right:none;border-bottom:solid 1px #e6e6e6}.custom-theme .el-menu--horizontal .el-menu-item{float:left;height:60px;line-height:60px;margin:0;cursor:pointer;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid transparent;color:#878d99}.custom-theme .el-menu--horizontal .el-menu-item a,.custom-theme .el-menu--horizontal .el-menu-item a:hover{color:inherit}.custom-theme .el-menu--horizontal .el-menu-item:focus,.custom-theme .el-menu--horizontal .el-menu-item:hover{background-color:#fff}.custom-theme .el-menu--horizontal .el-submenu{float:left;position:relative}.custom-theme .el-menu--horizontal .el-submenu:focus{outline:0}.custom-theme .el-menu--horizontal .el-submenu:focus>.el-submenu__title{color:#2d2f33}.custom-theme .el-menu--horizontal .el-submenu>.el-menu{position:absolute;top:65px;left:0;border:none;padding:5px 0;background-color:#fff;z-index:100;min-width:100%;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#878d99}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__title:hover{background-color:#fff}.custom-theme .el-menu--horizontal .el-submenu .el-menu-item{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.custom-theme .el-menu--horizontal .el-menu-item:focus,.custom-theme .el-menu--horizontal .el-menu-item:hover,.custom-theme .el-menu--horizontal .el-submenu__title:hover{outline:0;color:#2d2f33}.custom-theme .el-menu--horizontal>.el-menu-item.is-active,.custom-theme .el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #262729;color:#2d2f33}.custom-theme .el-menu--collapse{width:64px}.custom-theme .el-menu--collapse>.el-menu-item [class^=el-icon-],.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.custom-theme .el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.custom-theme .el-menu--collapse>.el-menu-item span,.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.custom-theme .el-menu--collapse>.el-menu-item.is-active i{color:inherit}.custom-theme .el-menu--collapse .el-menu .el-submenu{min-width:200px}.custom-theme .el-menu--collapse .el-submenu{position:relative}.custom-theme .el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #dfe4ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.custom-theme .el-menu-item{height:56px;line-height:56px;font-size:14px;color:#2d2f33;padding:0 20px;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.custom-theme .el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px}.custom-theme .el-menu-item *{vertical-align:middle}.custom-theme .el-menu-item:first-child{margin-left:0}.custom-theme .el-menu-item:last-child{margin-right:0}.custom-theme .el-menu-item:focus,.custom-theme .el-menu-item:hover{outline:0;background-color:#e9e9ea}.custom-theme .el-menu-item i{color:#878d99}.custom-theme .el-menu-item.is-active{color:#262729}.custom-theme .el-menu-item.is-active i{color:inherit}.custom-theme .el-submenu__title{position:relative;height:56px;line-height:56px;font-size:14px;color:#2d2f33;padding:0 20px;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.custom-theme .el-submenu__title *{vertical-align:middle}.custom-theme .el-submenu__title i{color:#878d99}.custom-theme .el-submenu__title:hover{background-color:#e9e9ea}.custom-theme .el-submenu .el-menu{border:none}.custom-theme .el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.custom-theme .el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.custom-theme .el-submenu.is-active .el-submenu__title{border-bottom-color:#262729}.custom-theme .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.custom-theme .el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.custom-theme .el-menu-item-group>ul{padding:0}.custom-theme .el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#878d99}.custom-theme .horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.custom-theme .el-input-number .el-input{display:block}.custom-theme .el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.custom-theme .el-input-number__decrease,.custom-theme .el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#5a5e66;cursor:pointer;font-size:13px}.custom-theme .el-input-number__decrease:hover,.custom-theme .el-input-number__increase:hover{color:#262729}.custom-theme .el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.custom-theme .el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#262729}.custom-theme .el-input-number__decrease.is-disabled,.custom-theme .el-input-number__increase.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #d8dce5}.custom-theme .el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #d8dce5}.custom-theme .el-input-number.is-disabled .el-input-number__decrease,.custom-theme .el-input-number.is-disabled .el-input-number__increase{border-color:#dfe4ed;color:#dfe4ed}.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover,.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover{color:#dfe4ed;cursor:not-allowed}.custom-theme .el-input-number--medium{width:200px;line-height:34px}.custom-theme .el-input-number--medium .el-input-number__decrease,.custom-theme .el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.custom-theme .el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.custom-theme .el-input-number--small{width:130px;line-height:30px}.custom-theme .el-input-number--small .el-input-number__decrease,.custom-theme .el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.custom-theme .el-input-number--small .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.custom-theme .el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.custom-theme .el-input-number--mini{width:130px;line-height:26px}.custom-theme .el-input-number--mini .el-input-number__decrease,.custom-theme .el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.custom-theme .el-input-number--mini .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.custom-theme .el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.custom-theme .el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease,.custom-theme .el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #d8dce5}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #d8dce5;border-radius:0 0 4px 0}.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.custom-theme .el-input-number.is-controls-right[class*=small] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.custom-theme .el-radio{color:#5a5e66;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:0;font-size:14px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.custom-theme .el-radio.is-bordered{padding:10px 20px 10px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-radio.is-bordered.is-checked{border-color:#262729}.custom-theme .el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#e6ebf5}.custom-theme .el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.custom-theme .el-radio--medium.is-bordered{padding:8px 20px 8px 10px;border-radius:4px}.custom-theme .el-radio--medium.is-bordered .el-radio__label{font-size:14px}.custom-theme .el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.custom-theme .el-radio--small.is-bordered{padding:6px 15px 6px 10px;border-radius:3px}.custom-theme .el-radio--small.is-bordered .el-radio__label{font-size:12px}.custom-theme .el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.custom-theme .el-radio--mini.is-bordered{padding:4px 15px 4px 10px;border-radius:3px}.custom-theme .el-radio--mini.is-bordered .el-radio__label{font-size:12px}.custom-theme .el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.custom-theme .el-radio+.el-radio{margin-left:30px}.custom-theme .el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#dfe4ed;cursor:not-allowed}.custom-theme .el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#f5f7fa}.custom-theme .el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#dfe4ed}.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#b4bccc}.custom-theme .el-radio__input.is-disabled+span.el-radio__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-radio__input.is-checked .el-radio__inner{border-color:#262729;background:#262729}.custom-theme .el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.custom-theme .el-radio__input.is-checked+.el-radio__label{color:#262729}.custom-theme .el-radio__input.is-focus .el-radio__inner{border-color:#262729}.custom-theme .el-radio__inner{border:1px solid #d8dce5;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-radio__inner:hover{border-color:#262729}.custom-theme .el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6);transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6);transition:transform .15s cubic-bezier(.71,-.46,.88,.6);transition:transform .15s cubic-bezier(.71,-.46,.88,.6),-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6)}.custom-theme .el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.custom-theme .el-radio:focus:not(.is-focus):not(:active) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #262729;box-shadow:0 0 2px 2px #262729}.custom-theme .el-radio__label{font-size:14px;padding-left:10px}.custom-theme .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0}.custom-theme .el-radio-button{position:relative;display:inline-block;outline:0}.custom-theme .el-radio-button__inner{display:inline-block;line-height:1;white-space:nowrap;vertical-align:middle;background:#fff;border:1px solid #d8dce5;font-weight:500;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-radio-button__inner.is-round{padding:12px 20px}.custom-theme .el-radio-button__inner:hover{color:#262729}.custom-theme .el-radio-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1;left:-999px}.custom-theme .el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #262729;box-shadow:-1px 0 0 0 #262729}.custom-theme .el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#edf2fc}.custom-theme .el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.custom-theme .el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.custom-theme .el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.custom-theme .el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.custom-theme .el-radio-button:focus:not(.is-focus):not(:active){-webkit-box-shadow:0 0 2px 2px #262729;box-shadow:0 0 2px 2px #262729}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-switch{display:inline-block;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.custom-theme .el-switch.is-disabled .el-switch__core,.custom-theme .el-switch.is-disabled .el-switch__label{cursor:not-allowed}.custom-theme .el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:#2d2f33}.custom-theme .el-switch__label.is-active{color:#262729}.custom-theme .el-switch__label--left{margin-right:10px}.custom-theme .el-switch__label--right{margin-left:10px}.custom-theme .el-switch__label *{line-height:1;font-size:14px;display:inline-block}.custom-theme .el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.custom-theme .el-switch__input:focus~.el-switch__core{outline:1px solid #262729}.custom-theme .el-switch__core{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid #d8dce5;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#d8dce5;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.custom-theme .el-switch__core .el-switch__button{position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:16px;height:16px;background-color:#fff}.custom-theme .el-switch.is-checked .el-switch__core{border-color:#262729;background-color:#262729}.custom-theme .el-switch.is-disabled{opacity:.6}.custom-theme .el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.custom-theme .el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.custom-theme .el-switch .label-fade-enter,.custom-theme .el-switch .label-fade-leave-active{opacity:0}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-select-dropdown{position:absolute;z-index:1001;border:solid 1px #dfe4ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#262729;background-color:#fff}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\E611";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-theme .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.custom-theme .el-select-dropdown .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-select-dropdown.is-arrow-fixed .popper__arrow{-webkit-transform:translateX(-200%);transform:translateX(-200%)}.custom-theme .el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.custom-theme .el-select-dropdown__wrap{max-height:274px}.custom-theme .el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-select-dropdown__item.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-select-dropdown__item.is-disabled:hover{background-color:#fff}.custom-theme .el-select-dropdown__item.hover,.custom-theme .el-select-dropdown__item:hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown__item.selected{color:#262729;font-weight:700}.custom-theme .el-select-dropdown__item span{line-height:34px!important}.custom-theme .el-select-group{margin:0;padding:0}.custom-theme .el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.custom-theme .el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.custom-theme .el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#dfe4ed}.custom-theme .el-select-group__title{padding-left:20px;font-size:12px;color:#0a76a4;line-height:30px}.custom-theme .el-select-group .el-select-dropdown__item{padding-left:20px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-select{display:inline-block;position:relative}.custom-theme .el-select:hover .el-input__inner{border-color:#b4bccc}.custom-theme .el-select .el-input__inner{cursor:pointer;padding-right:35px}.custom-theme .el-select .el-input__inner:focus{border-color:#262729}.custom-theme .el-select .el-input .el-select__caret{color:#b4bccc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);line-height:16px;cursor:pointer}.custom-theme .el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.custom-theme .el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#b4bccc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-select .el-input .el-select__caret.is-show-close:hover{color:#878d99}.custom-theme .el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover{border-color:#dfe4ed}.custom-theme .el-select>.el-input{display:block}.custom-theme .el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;vertical-align:baseline;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.custom-theme .el-select__input.is-mini{height:14px}.custom-theme .el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#b4bccc;line-height:18px;font-size:14px}.custom-theme .el-select__close:hover{color:#878d99}.custom-theme .el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.custom-theme .el-select .el-tag__close{margin-top:-2px}.custom-theme .el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:3px 0 3px 6px;background-color:#f0f2f5}.custom-theme .el-select .el-tag__close.el-icon-close{background-color:#b4bccc;right:-7px;color:#fff}.custom-theme .el-select .el-tag__close.el-icon-close:hover{background-color:#878d99}.custom-theme .el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.custom-theme .el-select__tag{display:inline-block;height:24px;line-height:24px;font-size:14px;border-radius:4px;color:#fff;background-color:#262729}.custom-theme .el-select__tag .el-icon-close{font-size:14px}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;background-color:#fff;font-size:14px;color:#5a5e66}.custom-theme .el-table__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.custom-theme .el-table__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:color(#262729 s(16%) l(44%))}.custom-theme .el-table__expand-column .cell{padding:0;text-align:center}.custom-theme .el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.custom-theme .el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.custom-theme .el-table__expanded-cell{background-color:#fff}.custom-theme .el-table__expanded-cell[class*=cell]{padding:20px 50px}.custom-theme .el-table__expanded-cell:hover{background-color:#f5f7fa!important}.custom-theme .el-table--fit{border-right:0;border-bottom:0}.custom-theme .el-table--fit td.gutter,.custom-theme .el-table--fit th.gutter{border-right-width:1px}.custom-theme .el-table thead{color:#878d99;font-weight:500}.custom-theme .el-table thead.is-group th{background:#f5f7fa}.custom-theme .el-table td,.custom-theme .el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative}.custom-theme .el-table td.is-center,.custom-theme .el-table th.is-center{text-align:center}.custom-theme .el-table td.is-left,.custom-theme .el-table th.is-left{text-align:left}.custom-theme .el-table td.is-right,.custom-theme .el-table th.is-right{text-align:right}.custom-theme .el-table td.gutter,.custom-theme .el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.custom-theme .el-table td.is-hidden>*,.custom-theme .el-table th.is-hidden>*{visibility:hidden}.custom-theme .el-table--medium td,.custom-theme .el-table--medium th{padding:10px 0}.custom-theme .el-table--small{font-size:12px}.custom-theme .el-table--small td,.custom-theme .el-table--small th{padding:8px 0}.custom-theme .el-table--mini{font-size:12px}.custom-theme .el-table--mini td,.custom-theme .el-table--mini th{padding:6px 0}.custom-theme .el-table tr{background-color:#fff}.custom-theme .el-table tr input[type=checkbox]{margin:0}.custom-theme .el-table td,.custom-theme .el-table th.is-leaf{border-bottom:1px solid #e6ebf5}.custom-theme .el-table th.is-sortable{cursor:pointer}.custom-theme .el-table th{white-space:nowrap;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:left}.custom-theme .el-table th div{display:inline-block;padding-left:10px;padding-right:10px;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.custom-theme .el-table th>.cell{position:relative;word-wrap:normal;text-overflow:ellipsis;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-table th>.cell.highlight{color:#262729}.custom-theme .el-table th.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.custom-theme .el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-table td.gutter{width:0}.custom-theme .el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.custom-theme .el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.custom-theme .el-table td:first-child .cell,.custom-theme .el-table th:first-child .cell{padding-left:0}.custom-theme .el-table--border,.custom-theme .el-table--group{border:1px solid #e6ebf5}.custom-theme .el-table--border::after,.custom-theme .el-table--group::after,.custom-theme .el-table::before{content:'';position:absolute;background-color:#e6ebf5;z-index:1}.custom-theme .el-table--border::after,.custom-theme .el-table--group::after{top:0;right:0;width:1px;height:100%}.custom-theme .el-table::before{left:0;bottom:0;width:100%;height:1px}.custom-theme .el-table--border{border-right:none;border-bottom:none}.custom-theme .el-table--border td,.custom-theme .el-table--border th{border-right:1px solid #e6ebf5}.custom-theme .el-table--border td:first-child .cell,.custom-theme .el-table--border th:first-child .cell{padding-left:10px}.custom-theme .el-table--border .has-gutter td:nth-last-of-type(2),.custom-theme .el-table--border .has-gutter th:nth-last-of-type(2){border-right:none}.custom-theme .el-table--border th.gutter:last-of-type{border-bottom:1px solid #e6ebf5;border-bottom-width:1px}.custom-theme .el-table--border th{border-bottom:1px solid #e6ebf5}.custom-theme .el-table--hidden{visibility:hidden}.custom-theme .el-table__fixed,.custom-theme .el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.custom-theme .el-table__fixed-right::before,.custom-theme .el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#e6ebf5;z-index:4}.custom-theme .el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff;border-bottom:1px solid #e6ebf5}.custom-theme .el-table__fixed-right{top:0;left:auto;right:0}.custom-theme .el-table__fixed-right .el-table__fixed-body-wrapper,.custom-theme .el-table__fixed-right .el-table__fixed-footer-wrapper,.custom-theme .el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.custom-theme .el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.custom-theme .el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.custom-theme .el-table__fixed-footer-wrapper tbody td{border-top:1px solid #e6ebf5;background-color:#f5f7fa;color:#5a5e66}.custom-theme .el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.custom-theme .el-table__body-wrapper,.custom-theme .el-table__footer-wrapper,.custom-theme .el-table__header-wrapper{width:100%}.custom-theme .el-table__footer-wrapper{margin-top:-1px}.custom-theme .el-table__footer-wrapper td{border-top:1px solid #e6ebf5}.custom-theme .el-table__body,.custom-theme .el-table__footer,.custom-theme .el-table__header{table-layout:fixed}.custom-theme .el-table__footer-wrapper,.custom-theme .el-table__header-wrapper{overflow:hidden}.custom-theme .el-table__footer-wrapper tbody td,.custom-theme .el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#5a5e66}.custom-theme .el-table__body-wrapper{overflow:auto;position:relative}.custom-theme .el-table__body-wrapper.is-scroll-none~.el-table__fixed,.custom-theme .el-table__body-wrapper.is-scroll-none~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper.is-scroll-left~.el-table__fixed{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper.is-scroll-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper .el-table--border.is-scroll-right~.el-table__fixed-right{border-left:1px solid #e6ebf5}.custom-theme .el-table__body-wrapper .el-table--border.is-scroll-left~.el-table__fixed{border-right:1px solid #e6ebf5}.custom-theme .el-table .caret-wrapper{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:13px;width:24px;cursor:pointer;overflow:initial}.custom-theme .el-table .sort-caret{color:#0a76a4;width:14px;overflow:hidden;font-size:13px}.custom-theme .el-table .ascending .sort-caret.ascending{color:#262729}.custom-theme .el-table .descending .sort-caret.descending{color:#262729}.custom-theme .el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.custom-theme .el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.custom-theme .el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#e9e9ea}.custom-theme .el-table__body tr.hover-row.current-row>td,.custom-theme .el-table__body tr.hover-row.el-table__row--striped.current-row>td,.custom-theme .el-table__body tr.hover-row.el-table__row--striped>td,.custom-theme .el-table__body tr.hover-row>td{background-color:#e9e9ea}.custom-theme .el-table__body tr.current-row>td{background-color:#e9e9ea}.custom-theme .el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #e6ebf5;z-index:10}.custom-theme .el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.custom-theme .el-table__column-filter-trigger i{color:#0a76a4;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.custom-theme .el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.custom-theme .el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.custom-theme .el-table--fluid-height .el-table__fixed,.custom-theme .el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-table-column--selection .cell{padding-left:14px;padding-right:14px}.custom-theme .el-table-filter{border:solid 1px #e6ebf5;border-radius:2px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.custom-theme .el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.custom-theme .el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.custom-theme .el-table-filter__list-item:hover{background-color:#e9e9ea;color:#515254}.custom-theme .el-table-filter__list-item.is-active{background-color:#262729;color:#fff}.custom-theme .el-table-filter__content{min-width:100px}.custom-theme .el-table-filter__bottom{border-top:1px solid #e6ebf5;padding:8px}.custom-theme .el-table-filter__bottom button{background:0 0;border:none;color:#5a5e66;cursor:pointer;font-size:13px;padding:0 3px}.custom-theme .el-table-filter__bottom button:hover{color:#262729}.custom-theme .el-table-filter__bottom button:focus{outline:0}.custom-theme .el-table-filter__bottom button.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-table-filter__checkbox-group{padding:10px}.custom-theme .el-table-filter__checkbox-group label.el-checkbox{display:block;margin-bottom:8px;margin-left:5px}.custom-theme .el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.custom-theme .el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#edf2fc}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#5a5e66}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.custom-theme .el-date-table.is-week-mode .el-date-table__row.current div{background-color:#edf2fc}.custom-theme .el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.custom-theme .el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.custom-theme .el-date-table td.next-month,.custom-theme .el-date-table td.prev-month{color:#b4bccc}.custom-theme .el-date-table td.today{position:relative}.custom-theme .el-date-table td.today span{color:#262729}.custom-theme .el-date-table td.today.end-date span,.custom-theme .el-date-table td.today.start-date span{color:#fff}.custom-theme .el-date-table td.available:hover{color:#262729}.custom-theme .el-date-table td.in-range div{background-color:#edf2fc}.custom-theme .el-date-table td.in-range div:hover{background-color:#edf2fc}.custom-theme .el-date-table td.current:not(.disabled) span{color:#fff;background-color:#262729}.custom-theme .el-date-table td.end-date div,.custom-theme .el-date-table td.start-date div{color:#fff}.custom-theme .el-date-table td.end-date span,.custom-theme .el-date-table td.start-date span{background-color:#262729}.custom-theme .el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.custom-theme .el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.custom-theme .el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#b4bccc}.custom-theme .el-date-table td.week{font-size:80%;color:#5a5e66}.custom-theme .el-date-table th{padding:5px;color:#5a5e66;font-weight:400;border-bottom:solid 1px #e6ebf5}.custom-theme .el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.custom-theme .el-month-table td{text-align:center;padding:20px 3px;cursor:pointer}.custom-theme .el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#b4bccc}.custom-theme .el-month-table td.disabled .cell:hover{color:#b4bccc}.custom-theme .el-month-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#5a5e66;margin:0 auto}.custom-theme .el-month-table td .cell:hover{color:#262729}.custom-theme .el-month-table td.current:not(.disabled) .cell{color:#262729}.custom-theme .el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.custom-theme .el-year-table .el-icon{color:#2d2f33}.custom-theme .el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.custom-theme .el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#b4bccc}.custom-theme .el-year-table td.disabled .cell:hover{color:#b4bccc}.custom-theme .el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#5a5e66;margin:0 auto}.custom-theme .el-year-table td .cell:hover{color:#262729}.custom-theme .el-year-table td.current:not(.disabled) .cell{color:#262729}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2){margin-left:1%}.custom-theme .el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.custom-theme .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.custom-theme .el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.custom-theme .el-time-spinner__arrow{font-size:12px;color:#878d99;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.custom-theme .el-time-spinner__arrow:hover{color:#262729}.custom-theme .el-time-spinner__arrow.el-icon-arrow-up{top:10px}.custom-theme .el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.custom-theme .el-time-spinner__input.el-input{width:70%}.custom-theme .el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.custom-theme .el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.custom-theme .el-time-spinner__list::after,.custom-theme .el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.custom-theme .el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#5a5e66}.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.custom-theme .el-time-spinner__item.active:not(.disabled){color:#2d2f33;font-weight:700}.custom-theme .el-time-spinner__item.disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-picker-panel{color:#5a5e66;border:1px solid #dfe4ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.custom-theme .el-picker-panel__body-wrapper::after,.custom-theme .el-picker-panel__body::after{content:"";display:table;clear:both}.custom-theme .el-picker-panel__content{position:relative;margin:15px}.custom-theme .el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.custom-theme .el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#5a5e66;padding-left:12px;text-align:left;outline:0;cursor:pointer}.custom-theme .el-picker-panel__shortcut:hover{color:#262729}.custom-theme .el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#262729}.custom-theme .el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-picker-panel__icon-btn{font-size:12px;color:#2d2f33;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.custom-theme .el-picker-panel__icon-btn:hover{color:#262729}.custom-theme .el-picker-panel__icon-btn.is-disabled{color:#bbb}.custom-theme .el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.custom-theme .el-picker-panel__link-btn{vertical-align:middle}.custom-theme .el-picker-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-picker-panel [slot=sidebar],.custom-theme .el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.custom-theme .el-picker-panel [slot=sidebar]+.el-picker-panel__body,.custom-theme .el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.custom-theme .el-date-picker{width:322px}.custom-theme .el-date-picker.has-sidebar.has-time{width:434px}.custom-theme .el-date-picker.has-sidebar{width:438px}.custom-theme .el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.custom-theme .el-date-picker .el-picker-panel__content{width:292px}.custom-theme .el-date-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-picker__header{margin:12px;text-align:center}.custom-theme .el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #e6ebf5}.custom-theme .el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.custom-theme .el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#5a5e66}.custom-theme .el-date-picker__header-label:hover{color:#262729}.custom-theme .el-date-picker__header-label.active{color:#262729}.custom-theme .el-date-picker__prev-btn{float:left}.custom-theme .el-date-picker__next-btn{float:right}.custom-theme .el-date-picker__time-wrap{padding:10px;text-align:center}.custom-theme .el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.custom-theme .el-date-range-picker{width:646px}.custom-theme .el-date-range-picker.has-sidebar{width:756px}.custom-theme .el-date-range-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-range-picker .el-picker-panel__body{min-width:513px}.custom-theme .el-date-range-picker .el-picker-panel__content{margin:0}.custom-theme .el-date-range-picker__header{position:relative;text-align:center;height:28px}.custom-theme .el-date-range-picker__header [class*=arrow-left]{float:left}.custom-theme .el-date-range-picker__header [class*=arrow-right]{float:right}.custom-theme .el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.custom-theme .el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.custom-theme .el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.custom-theme .el-date-range-picker__content.is-right .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.custom-theme .el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.custom-theme .el-date-range-picker__editors-wrap.is-right{text-align:right}.custom-theme .el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#2d2f33}.custom-theme .el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.custom-theme .el-time-range-picker{width:354px;overflow:visible}.custom-theme .el-time-range-picker__content{position:relative;text-align:center;padding:10px}.custom-theme .el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.custom-theme .el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.custom-theme .el-time-range-picker__body{border-radius:2px;border:1px solid #dfe4ed}.custom-theme .el-time-panel{margin:5px 0;border:solid 1px #dfe4ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-time-panel__content{font-size:0;position:relative;overflow:hidden}.custom-theme .el-time-panel__content::after,.custom-theme .el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #dfe4ed;border-bottom:1px solid #dfe4ed}.custom-theme .el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.custom-theme .el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.custom-theme .el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.custom-theme .el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.custom-theme .el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#2d2f33}.custom-theme .el-time-panel__btn.confirm{font-weight:800;color:#262729}.custom-theme .el-time-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-picker-panel{color:#5a5e66;border:1px solid #dfe4ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.custom-theme .el-picker-panel__body-wrapper::after,.custom-theme .el-picker-panel__body::after{content:"";display:table;clear:both}.custom-theme .el-picker-panel__content{position:relative;margin:15px}.custom-theme .el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.custom-theme .el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#5a5e66;padding-left:12px;text-align:left;outline:0;cursor:pointer}.custom-theme .el-picker-panel__shortcut:hover{color:#262729}.custom-theme .el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#262729}.custom-theme .el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-picker-panel__icon-btn{font-size:12px;color:#2d2f33;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.custom-theme .el-picker-panel__icon-btn:hover{color:#262729}.custom-theme .el-picker-panel__icon-btn.is-disabled{color:#bbb}.custom-theme .el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.custom-theme .el-picker-panel__link-btn{vertical-align:middle}.custom-theme .el-picker-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-picker-panel [slot=sidebar],.custom-theme .el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.custom-theme .el-picker-panel [slot=sidebar]+.el-picker-panel__body,.custom-theme .el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.custom-theme .el-date-picker{width:322px}.custom-theme .el-date-picker.has-sidebar.has-time{width:434px}.custom-theme .el-date-picker.has-sidebar{width:438px}.custom-theme .el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.custom-theme .el-date-picker .el-picker-panel__content{width:292px}.custom-theme .el-date-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-picker__header{margin:12px;text-align:center}.custom-theme .el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #e6ebf5}.custom-theme .el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.custom-theme .el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#5a5e66}.custom-theme .el-date-picker__header-label:hover{color:#262729}.custom-theme .el-date-picker__header-label.active{color:#262729}.custom-theme .el-date-picker__prev-btn{float:left}.custom-theme .el-date-picker__next-btn{float:right}.custom-theme .el-date-picker__time-wrap{padding:10px;text-align:center}.custom-theme .el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .time-select{margin:5px 0;min-width:0}.custom-theme .time-select .el-picker-panel__content{max-height:200px;margin:0}.custom-theme .time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.custom-theme .time-select-item.selected:not(.disabled){color:#262729;font-weight:700}.custom-theme .time-select-item.disabled{color:#dfe4ed;cursor:not-allowed}.custom-theme .time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2){margin-left:1%}.custom-theme .el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.custom-theme .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.custom-theme .el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.custom-theme .el-time-spinner__arrow{font-size:12px;color:#878d99;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.custom-theme .el-time-spinner__arrow:hover{color:#262729}.custom-theme .el-time-spinner__arrow.el-icon-arrow-up{top:10px}.custom-theme .el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.custom-theme .el-time-spinner__input.el-input{width:70%}.custom-theme .el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.custom-theme .el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.custom-theme .el-time-spinner__list::after,.custom-theme .el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.custom-theme .el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#5a5e66}.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.custom-theme .el-time-spinner__item.active:not(.disabled){color:#2d2f33;font-weight:700}.custom-theme .el-time-spinner__item.disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-time-panel{margin:5px 0;border:solid 1px #dfe4ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-time-panel__content{font-size:0;position:relative;overflow:hidden}.custom-theme .el-time-panel__content::after,.custom-theme .el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #dfe4ed;border-bottom:1px solid #dfe4ed}.custom-theme .el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.custom-theme .el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.custom-theme .el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.custom-theme .el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.custom-theme .el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#2d2f33}.custom-theme .el-time-panel__btn.confirm{font-weight:800;color:#262729}.custom-theme .el-time-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #e6ebf5;padding:12px;z-index:2000;color:#5a5e66;line-height:1.4;text-align:justify;word-break:break-all;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-popover--plain{padding:18px 20px}.custom-theme .el-popover__title{color:#2d2f33;font-size:16px;line-height:1;margin-bottom:12px}.custom-theme .el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2}.custom-theme .el-tooltip__popper .popper__arrow,.custom-theme .el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-tooltip__popper .popper__arrow{border-width:6px}.custom-theme .el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.custom-theme .el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=right]{margin-left:12px}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=left]{margin-right:12px}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-dark{background:#2d2f33;color:#fff}.custom-theme .el-tooltip__popper.is-light{background:#fff;border:1px solid #2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#fff}.custom-theme .v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.custom-theme .v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.custom-theme .v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #e6ebf5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.custom-theme .el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.custom-theme .el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.custom-theme .el-message-box__header{position:relative;padding:15px;padding-bottom:10px}.custom-theme .el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#2d2f33}.custom-theme .el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.custom-theme .el-message-box__headerbtn .el-message-box__close{color:#0a76a4}.custom-theme .el-message-box__headerbtn:focus .el-message-box__close,.custom-theme .el-message-box__headerbtn:hover .el-message-box__close{color:#262729}.custom-theme .el-message-box__content{position:relative;padding:10px 15px;color:#5a5e66;font-size:14px}.custom-theme .el-message-box__input{padding-top:15px}.custom-theme .el-message-box__input input.invalid{border-color:#b3450e}.custom-theme .el-message-box__input input.invalid:focus{border-color:#b3450e}.custom-theme .el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.custom-theme .el-message-box__status::before{padding-left:1px}.custom-theme .el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.custom-theme .el-message-box__status.el-icon-success{color:#409167}.custom-theme .el-message-box__status.el-icon-info{color:#0a76a4}.custom-theme .el-message-box__status.el-icon-warning{color:#9da408}.custom-theme .el-message-box__status.el-icon-error{color:#b3450e}.custom-theme .el-message-box__message{margin:0}.custom-theme .el-message-box__message p{margin:0;line-height:24px}.custom-theme .el-message-box__errormsg{color:#b3450e;font-size:12px;min-height:18px;margin-top:2px}.custom-theme .el-message-box__btns{padding:5px 15px 0;text-align:right}.custom-theme .el-message-box__btns button:nth-child(2){margin-left:10px}.custom-theme .el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.custom-theme .el-message-box--center{padding-bottom:30px}.custom-theme .el-message-box--center .el-message-box__header{padding-top:30px}.custom-theme .el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.custom-theme .el-message-box--center .el-message-box__message{margin-left:0}.custom-theme .el-message-box--center .el-message-box__btns,.custom-theme .el-message-box--center .el-message-box__content{text-align:center}.custom-theme .el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.custom-theme .msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.custom-theme .msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.custom-theme .el-breadcrumb{font-size:14px;line-height:1}.custom-theme .el-breadcrumb::after,.custom-theme .el-breadcrumb::before{display:table;content:""}.custom-theme .el-breadcrumb::after{clear:both}.custom-theme .el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#b4bccc}.custom-theme .el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.custom-theme .el-breadcrumb__item{float:left}.custom-theme .el-breadcrumb__inner,.custom-theme .el-breadcrumb__inner a{font-weight:700;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#2d2f33}.custom-theme .el-breadcrumb__inner a:hover,.custom-theme .el-breadcrumb__inner:hover{color:#262729;cursor:pointer}.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner a,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#5a5e66;cursor:text}.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.custom-theme .el-form--label-left .el-form-item__label{text-align:left}.custom-theme .el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px 0}.custom-theme .el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.custom-theme .el-form--inline .el-form-item__label{float:none;display:inline-block}.custom-theme .el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.custom-theme .el-form--inline.el-form--label-top .el-form-item__content{display:block}.custom-theme .el-form-item{margin-bottom:22px}.custom-theme .el-form-item::after,.custom-theme .el-form-item::before{display:table;content:""}.custom-theme .el-form-item::after{clear:both}.custom-theme .el-form-item .el-form-item{margin-bottom:0}.custom-theme .el-form-item .el-input__validateIcon{display:none}.custom-theme .el-form-item--medium .el-form-item__label{line-height:36px}.custom-theme .el-form-item--medium .el-form-item__content{line-height:36px}.custom-theme .el-form-item--small .el-form-item__label{line-height:32px}.custom-theme .el-form-item--small .el-form-item__content{line-height:32px}.custom-theme .el-form-item--small.el-form-item{margin-bottom:18px}.custom-theme .el-form-item--small .el-form-item__error{padding-top:2px}.custom-theme .el-form-item--mini .el-form-item__label{line-height:28px}.custom-theme .el-form-item--mini .el-form-item__content{line-height:28px}.custom-theme .el-form-item--mini.el-form-item{margin-bottom:18px}.custom-theme .el-form-item--mini .el-form-item__error{padding-top:1px}.custom-theme .el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#5a5e66;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-form-item__content{line-height:40px;position:relative;font-size:14px}.custom-theme .el-form-item__content::after,.custom-theme .el-form-item__content::before{display:table;content:""}.custom-theme .el-form-item__content::after{clear:both}.custom-theme .el-form-item__error{color:#b3450e;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.custom-theme .el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.custom-theme .el-form-item.is-required .el-form-item__label:before{content:'*';color:#b3450e;margin-right:4px}.custom-theme .el-form-item.is-error .el-input__inner,.custom-theme .el-form-item.is-error .el-input__inner:focus,.custom-theme .el-form-item.is-error .el-textarea__inner,.custom-theme .el-form-item.is-error .el-textarea__inner:focus{border-color:#b3450e}.custom-theme .el-form-item.is-error .el-input-group__append .el-input__inner,.custom-theme .el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.custom-theme .el-form-item.is-error .el-input__validateIcon{color:#b3450e}.custom-theme .el-form-item.is-success .el-input__inner,.custom-theme .el-form-item.is-success .el-input__inner:focus,.custom-theme .el-form-item.is-success .el-textarea__inner,.custom-theme .el-form-item.is-success .el-textarea__inner:focus{border-color:#409167}.custom-theme .el-form-item.is-success .el-input-group__append .el-input__inner,.custom-theme .el-form-item.is-success .el-input-group__prepend .el-input__inner{border-color:transparent}.custom-theme .el-form-item.is-success .el-input__validateIcon{color:#409167}.custom-theme .el-form-item--feedback .el-input__validateIcon{display:inline-block}.custom-theme .el-tabs__header{padding:0;position:relative;margin:0 0 15px}.custom-theme .el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#262729;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.custom-theme .el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.custom-theme .el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.custom-theme .el-tabs__new-tab:hover{color:#262729}.custom-theme .el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.custom-theme .el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#dfe4ed;z-index:1}.custom-theme .el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-tabs__nav-scroll{overflow:hidden}.custom-theme .el-tabs__nav-next,.custom-theme .el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#878d99}.custom-theme .el-tabs__nav-next{right:0}.custom-theme .el-tabs__nav-prev{left:0}.custom-theme .el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.custom-theme .el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#2d2f33;position:relative}.custom-theme .el-tabs__item:focus,.custom-theme .el-tabs__item:focus:active{outline:0}.custom-theme .el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.custom-theme .el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.custom-theme .el-tabs__item .el-icon-close:hover{background-color:#b4bccc;color:#fff}.custom-theme .el-tabs__item.is-active{color:#262729}.custom-theme .el-tabs__item:hover{color:#262729;cursor:pointer}.custom-theme .el-tabs__item.is-disabled{color:#b4bccc;cursor:default}.custom-theme .el-tabs__content{overflow:hidden;position:relative}.custom-theme .el-tabs--card>.el-tabs__header{border-bottom:1px solid #dfe4ed}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #dfe4ed;border-bottom:none;border-radius:4px 4px 0 0}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #dfe4ed;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.custom-theme .el-tabs--border-card{background:#fff;border:1px solid #d8dce5;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.custom-theme .el-tabs--border-card>.el-tabs__content{padding:15px}.custom-theme .el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #dfe4ed;margin:0}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin:-1px -1px 0;color:#878d99}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#262729;background-color:#fff;border-right-color:#d8dce5;border-left-color:#d8dce5}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item:hover{color:#262729}.custom-theme .el-tabs--bottom:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item:nth-child(2),.custom-theme .el-tabs--top:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item:nth-child(2){padding-left:0}.custom-theme .el-tabs--bottom .el-tabs__header{margin-bottom:0;margin-top:10px}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__header{border-bottom:0;border-top:1px solid #d8dce5}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap{margin-top:-1px;margin-bottom:0}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:0 -1px -1px -1px}.custom-theme .el-tabs--left,.custom-theme .el-tabs--right{overflow:hidden}.custom-theme .el-tabs--left .el-tabs__header,.custom-theme .el-tabs--left .el-tabs__nav-scroll,.custom-theme .el-tabs--left .el-tabs__nav-wrap,.custom-theme .el-tabs--right .el-tabs__header,.custom-theme .el-tabs--right .el-tabs__nav-scroll,.custom-theme .el-tabs--right .el-tabs__nav-wrap{height:100%}.custom-theme .el-tabs--left .el-tabs__active-bar,.custom-theme .el-tabs--right .el-tabs__active-bar{top:0;bottom:auto;width:2px;height:auto}.custom-theme .el-tabs--left .el-tabs__nav-wrap,.custom-theme .el-tabs--right .el-tabs__nav-wrap{margin-bottom:0}.custom-theme .el-tabs--left .el-tabs__nav-wrap.is-scrollable,.custom-theme .el-tabs--right .el-tabs__nav-wrap.is-scrollable{padding:30px 0}.custom-theme .el-tabs--left .el-tabs__nav-wrap::after,.custom-theme .el-tabs--right .el-tabs__nav-wrap::after{height:100%;width:2px;bottom:auto;top:0}.custom-theme .el-tabs--left .el-tabs__nav,.custom-theme .el-tabs--right .el-tabs__nav{float:none}.custom-theme .el-tabs--left .el-tabs__item,.custom-theme .el-tabs--right .el-tabs__item{display:block}.custom-theme .el-tabs--left .el-tabs__nav-next,.custom-theme .el-tabs--left .el-tabs__nav-prev,.custom-theme .el-tabs--right .el-tabs__nav-next,.custom-theme .el-tabs--right .el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.custom-theme .el-tabs--left .el-tabs__nav-next i,.custom-theme .el-tabs--left .el-tabs__nav-prev i,.custom-theme .el-tabs--right .el-tabs__nav-next i,.custom-theme .el-tabs--right .el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.custom-theme .el-tabs--left .el-tabs__nav-prev,.custom-theme .el-tabs--right .el-tabs__nav-prev{left:auto;top:0}.custom-theme .el-tabs--left .el-tabs__nav-next,.custom-theme .el-tabs--right .el-tabs__nav-next{right:auto;bottom:0}.custom-theme .el-tabs--left .el-tabs__header{float:left;margin-bottom:0;margin-right:10px}.custom-theme .el-tabs--left .el-tabs__nav-wrap{margin-right:-1px}.custom-theme .el-tabs--left .el-tabs__nav-wrap::after{left:auto;right:0}.custom-theme .el-tabs--left .el-tabs__active-bar{right:0;left:auto}.custom-theme .el-tabs--left .el-tabs__item{text-align:right}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__active-bar{display:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item{border-left:none;border-right:1px solid #dfe4ed;border-bottom:none;border-top:1px solid #dfe4ed}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item:first-child{border-right:1px solid #dfe4ed;border-top:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active{border:1px solid #dfe4ed;border-right-color:#fff;border-left:none;border-bottom:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active:first-child{border-top:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active:last-child{border-bottom:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #dfe4ed;border-right:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__header{border-right:1px solid #dfe4ed}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:-1px 0 -1px -1px}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__item.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.custom-theme .el-tabs--right .el-tabs__header{float:right;margin-bottom:0;margin-left:10px}.custom-theme .el-tabs--right .el-tabs__nav-wrap{margin-left:-1px}.custom-theme .el-tabs--right .el-tabs__nav-wrap::after{left:0;right:auto}.custom-theme .el-tabs--right .el-tabs__active-bar{left:0}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__active-bar{display:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item{border-bottom:none;border-top:1px solid #dfe4ed}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item:first-child{border-left:1px solid #dfe4ed;border-top:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active{border:1px solid #dfe4ed;border-left-color:#fff;border-right:none;border-bottom:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active:first-child{border-top:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active:last-child{border-bottom:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #dfe4ed;border-left:none}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__header{border-left:1px solid #dfe4ed}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__item.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.custom-theme .slideInLeft-transition,.custom-theme .slideInRight-transition{display:inline-block}.custom-theme .slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.custom-theme .slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.custom-theme .slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.custom-theme .slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-tree{cursor:default;background:#fff;color:#5a5e66}.custom-theme .el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.custom-theme .el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#623615}.custom-theme .el-tree-node{white-space:nowrap}.custom-theme .el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.custom-theme .el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.custom-theme .el-tree-node__content>.el-checkbox{margin-right:8px}.custom-theme .el-tree-node__content:hover{background-color:#f5f7fa}.custom-theme .el-tree-node__expand-icon{cursor:pointer;color:#b4bccc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.custom-theme .el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.custom-theme .el-tree-node__label{font-size:14px}.custom-theme .el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#b4bccc}.custom-theme .el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.custom-theme .el-tree-node.is-expanded>.el-tree-node__children{display:block}.custom-theme .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#eee}.custom-theme .el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.custom-theme .el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-alert--success{background-color:#ecf4f0;color:#409167}.custom-theme .el-alert--success .el-alert__description{color:#409167}.custom-theme .el-alert--info{background-color:#e7f1f6;color:#0a76a4}.custom-theme .el-alert--info .el-alert__description{color:#0a76a4}.custom-theme .el-alert--warning{background-color:#f5f6e6;color:#9da408}.custom-theme .el-alert--warning .el-alert__description{color:#9da408}.custom-theme .el-alert--error{background-color:#f7ece7;color:#b3450e}.custom-theme .el-alert--error .el-alert__description{color:#b3450e}.custom-theme .el-alert__content{display:table-cell;padding:0 8px}.custom-theme .el-alert__icon{font-size:16px;width:16px}.custom-theme .el-alert__icon.is-big{font-size:28px;width:28px}.custom-theme .el-alert__title{font-size:13px;line-height:18px}.custom-theme .el-alert__title.is-bold{font-weight:700}.custom-theme .el-alert .el-alert__description{font-size:12px;margin:5px 0 0 0}.custom-theme .el-alert__closebtn{font-size:12px;color:#b4bccc;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.custom-theme .el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.custom-theme .el-alert-fade-enter,.custom-theme .el-alert-fade-leave-active{opacity:0}.custom-theme .el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e6ebf5;position:fixed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.custom-theme .el-notification.right{right:16px}.custom-theme .el-notification.left{left:16px}.custom-theme .el-notification__group{margin-left:13px}.custom-theme .el-notification__title{font-weight:700;font-size:16px;color:#2d2f33;margin:0}.custom-theme .el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0 0;color:#5a5e66;text-align:justify}.custom-theme .el-notification__content p{margin:0}.custom-theme .el-notification__icon{height:24px;width:24px;font-size:24px;-webkit-transform:translateY(4px);transform:translateY(4px)}.custom-theme .el-notification__closeBtn{position:absolute;top:15px;right:15px;cursor:pointer;color:#878d99;font-size:16px}.custom-theme .el-notification__closeBtn:hover{color:#5a5e66}.custom-theme .el-notification .el-icon-success{color:#409167}.custom-theme .el-notification .el-icon-error{color:#b3450e}.custom-theme .el-notification .el-icon-info{color:#0a76a4}.custom-theme .el-notification .el-icon-warning{color:#9da408}.custom-theme .el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.custom-theme .el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.custom-theme .el-notification-fade-leave-active{opacity:0}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.custom-theme .el-input-number .el-input{display:block}.custom-theme .el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.custom-theme .el-input-number__decrease,.custom-theme .el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#5a5e66;cursor:pointer;font-size:13px}.custom-theme .el-input-number__decrease:hover,.custom-theme .el-input-number__increase:hover{color:#262729}.custom-theme .el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.custom-theme .el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#262729}.custom-theme .el-input-number__decrease.is-disabled,.custom-theme .el-input-number__increase.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #d8dce5}.custom-theme .el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #d8dce5}.custom-theme .el-input-number.is-disabled .el-input-number__decrease,.custom-theme .el-input-number.is-disabled .el-input-number__increase{border-color:#dfe4ed;color:#dfe4ed}.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover,.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover{color:#dfe4ed;cursor:not-allowed}.custom-theme .el-input-number--medium{width:200px;line-height:34px}.custom-theme .el-input-number--medium .el-input-number__decrease,.custom-theme .el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.custom-theme .el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.custom-theme .el-input-number--small{width:130px;line-height:30px}.custom-theme .el-input-number--small .el-input-number__decrease,.custom-theme .el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.custom-theme .el-input-number--small .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.custom-theme .el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.custom-theme .el-input-number--mini{width:130px;line-height:26px}.custom-theme .el-input-number--mini .el-input-number__decrease,.custom-theme .el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.custom-theme .el-input-number--mini .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.custom-theme .el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.custom-theme .el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease,.custom-theme .el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #d8dce5}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #d8dce5;border-radius:0 0 4px 0}.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.custom-theme .el-input-number.is-controls-right[class*=small] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.custom-theme .el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2}.custom-theme .el-tooltip__popper .popper__arrow,.custom-theme .el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-tooltip__popper .popper__arrow{border-width:6px}.custom-theme .el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.custom-theme .el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=right]{margin-left:12px}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=left]{margin-right:12px}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-dark{background:#2d2f33;color:#fff}.custom-theme .el-tooltip__popper.is-light{background:#fff;border:1px solid #2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#fff}.custom-theme .el-slider::after,.custom-theme .el-slider::before{display:table;content:""}.custom-theme .el-slider::after{clear:both}.custom-theme .el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#dfe4ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.custom-theme .el-slider__runway.show-input{margin-right:160px;width:auto}.custom-theme .el-slider__runway.disabled{cursor:default}.custom-theme .el-slider__runway.disabled .el-slider__bar{background-color:#b4bccc}.custom-theme .el-slider__runway.disabled .el-slider__button{border-color:#b4bccc}.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.hover,.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button.dragging,.custom-theme .el-slider__runway.disabled .el-slider__button.hover,.custom-theme .el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1)}.custom-theme .el-slider__runway.disabled .el-slider__button.hover,.custom-theme .el-slider__runway.disabled .el-slider__button:hover{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button.dragging{cursor:not-allowed}.custom-theme .el-slider__input{float:right;margin-top:3px}.custom-theme .el-slider__bar{height:6px;background-color:#262729;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.custom-theme .el-slider__button-wrapper{height:36px;width:36px;position:absolute;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-slider__button-wrapper::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-slider__button-wrapper .el-tooltip{vertical-align:middle;display:inline-block}.custom-theme .el-slider__button-wrapper.hover,.custom-theme .el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.custom-theme .el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.custom-theme .el-slider__button{width:16px;height:16px;border:solid 2px #262729;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-slider__button.dragging,.custom-theme .el-slider__button.hover,.custom-theme .el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.custom-theme .el-slider__button.hover,.custom-theme .el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.custom-theme .el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.custom-theme .el-slider__stop{position:absolute;height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.custom-theme .el-slider.is-vertical{position:relative}.custom-theme .el-slider.is-vertical .el-slider__runway{width:4px;height:100%;margin:0 16px}.custom-theme .el-slider.is-vertical .el-slider__bar{width:4px;height:auto;border-radius:0 0 3px 3px}.custom-theme .el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.custom-theme .el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.custom-theme .el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #d8dce5;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#b4bccc}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#262729}.custom-theme .el-loading-parent--relative{position:relative!important}.custom-theme .el-loading-parent--hidden{overflow:hidden!important}.custom-theme .el-loading-mask{position:absolute;z-index:10000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.custom-theme .el-loading-mask.is-fullscreen{position:fixed}.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.custom-theme .el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.custom-theme .el-loading-spinner .el-loading-text{color:#262729;margin:3px 0;font-size:14px}.custom-theme .el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.custom-theme .el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#262729;stroke-linecap:round}.custom-theme .el-loading-spinner i{color:#262729}.custom-theme .el-loading-fade-enter,.custom-theme .el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.custom-theme .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-row::after,.custom-theme .el-row::before{display:table;content:""}.custom-theme .el-row::after{clear:both}.custom-theme .el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-row--flex:after,.custom-theme .el-row--flex:before{display:none}.custom-theme .el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.custom-theme .el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.custom-theme .el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.custom-theme .el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.custom-theme [class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-col-0{display:none}.custom-theme .el-col-1{width:4.16667%}.custom-theme .el-col-offset-1{margin-left:4.16667%}.custom-theme .el-col-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-push-1{position:relative;left:4.16667%}.custom-theme .el-col-2{width:8.33333%}.custom-theme .el-col-offset-2{margin-left:8.33333%}.custom-theme .el-col-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-push-2{position:relative;left:8.33333%}.custom-theme .el-col-3{width:12.5%}.custom-theme .el-col-offset-3{margin-left:12.5%}.custom-theme .el-col-pull-3{position:relative;right:12.5%}.custom-theme .el-col-push-3{position:relative;left:12.5%}.custom-theme .el-col-4{width:16.66667%}.custom-theme .el-col-offset-4{margin-left:16.66667%}.custom-theme .el-col-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-push-4{position:relative;left:16.66667%}.custom-theme .el-col-5{width:20.83333%}.custom-theme .el-col-offset-5{margin-left:20.83333%}.custom-theme .el-col-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-push-5{position:relative;left:20.83333%}.custom-theme .el-col-6{width:25%}.custom-theme .el-col-offset-6{margin-left:25%}.custom-theme .el-col-pull-6{position:relative;right:25%}.custom-theme .el-col-push-6{position:relative;left:25%}.custom-theme .el-col-7{width:29.16667%}.custom-theme .el-col-offset-7{margin-left:29.16667%}.custom-theme .el-col-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-push-7{position:relative;left:29.16667%}.custom-theme .el-col-8{width:33.33333%}.custom-theme .el-col-offset-8{margin-left:33.33333%}.custom-theme .el-col-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-push-8{position:relative;left:33.33333%}.custom-theme .el-col-9{width:37.5%}.custom-theme .el-col-offset-9{margin-left:37.5%}.custom-theme .el-col-pull-9{position:relative;right:37.5%}.custom-theme .el-col-push-9{position:relative;left:37.5%}.custom-theme .el-col-10{width:41.66667%}.custom-theme .el-col-offset-10{margin-left:41.66667%}.custom-theme .el-col-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-push-10{position:relative;left:41.66667%}.custom-theme .el-col-11{width:45.83333%}.custom-theme .el-col-offset-11{margin-left:45.83333%}.custom-theme .el-col-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-push-11{position:relative;left:45.83333%}.custom-theme .el-col-12{width:50%}.custom-theme .el-col-offset-12{margin-left:50%}.custom-theme .el-col-pull-12{position:relative;right:50%}.custom-theme .el-col-push-12{position:relative;left:50%}.custom-theme .el-col-13{width:54.16667%}.custom-theme .el-col-offset-13{margin-left:54.16667%}.custom-theme .el-col-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-push-13{position:relative;left:54.16667%}.custom-theme .el-col-14{width:58.33333%}.custom-theme .el-col-offset-14{margin-left:58.33333%}.custom-theme .el-col-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-push-14{position:relative;left:58.33333%}.custom-theme .el-col-15{width:62.5%}.custom-theme .el-col-offset-15{margin-left:62.5%}.custom-theme .el-col-pull-15{position:relative;right:62.5%}.custom-theme .el-col-push-15{position:relative;left:62.5%}.custom-theme .el-col-16{width:66.66667%}.custom-theme .el-col-offset-16{margin-left:66.66667%}.custom-theme .el-col-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-push-16{position:relative;left:66.66667%}.custom-theme .el-col-17{width:70.83333%}.custom-theme .el-col-offset-17{margin-left:70.83333%}.custom-theme .el-col-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-push-17{position:relative;left:70.83333%}.custom-theme .el-col-18{width:75%}.custom-theme .el-col-offset-18{margin-left:75%}.custom-theme .el-col-pull-18{position:relative;right:75%}.custom-theme .el-col-push-18{position:relative;left:75%}.custom-theme .el-col-19{width:79.16667%}.custom-theme .el-col-offset-19{margin-left:79.16667%}.custom-theme .el-col-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-push-19{position:relative;left:79.16667%}.custom-theme .el-col-20{width:83.33333%}.custom-theme .el-col-offset-20{margin-left:83.33333%}.custom-theme .el-col-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-push-20{position:relative;left:83.33333%}.custom-theme .el-col-21{width:87.5%}.custom-theme .el-col-offset-21{margin-left:87.5%}.custom-theme .el-col-pull-21{position:relative;right:87.5%}.custom-theme .el-col-push-21{position:relative;left:87.5%}.custom-theme .el-col-22{width:91.66667%}.custom-theme .el-col-offset-22{margin-left:91.66667%}.custom-theme .el-col-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-push-22{position:relative;left:91.66667%}.custom-theme .el-col-23{width:95.83333%}.custom-theme .el-col-offset-23{margin-left:95.83333%}.custom-theme .el-col-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-push-23{position:relative;left:95.83333%}.custom-theme .el-col-24{width:100%}.custom-theme .el-col-offset-24{margin-left:100%}.custom-theme .el-col-pull-24{position:relative;right:100%}.custom-theme .el-col-push-24{position:relative;left:100%}@media only screen and (max-width:768px){.custom-theme .el-col-xs-0{display:none}.custom-theme .el-col-xs-1{width:4.16667%}.custom-theme .el-col-xs-offset-1{margin-left:4.16667%}.custom-theme .el-col-xs-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-xs-push-1{position:relative;left:4.16667%}.custom-theme .el-col-xs-2{width:8.33333%}.custom-theme .el-col-xs-offset-2{margin-left:8.33333%}.custom-theme .el-col-xs-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-xs-push-2{position:relative;left:8.33333%}.custom-theme .el-col-xs-3{width:12.5%}.custom-theme .el-col-xs-offset-3{margin-left:12.5%}.custom-theme .el-col-xs-pull-3{position:relative;right:12.5%}.custom-theme .el-col-xs-push-3{position:relative;left:12.5%}.custom-theme .el-col-xs-4{width:16.66667%}.custom-theme .el-col-xs-offset-4{margin-left:16.66667%}.custom-theme .el-col-xs-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-xs-push-4{position:relative;left:16.66667%}.custom-theme .el-col-xs-5{width:20.83333%}.custom-theme .el-col-xs-offset-5{margin-left:20.83333%}.custom-theme .el-col-xs-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-xs-push-5{position:relative;left:20.83333%}.custom-theme .el-col-xs-6{width:25%}.custom-theme .el-col-xs-offset-6{margin-left:25%}.custom-theme .el-col-xs-pull-6{position:relative;right:25%}.custom-theme .el-col-xs-push-6{position:relative;left:25%}.custom-theme .el-col-xs-7{width:29.16667%}.custom-theme .el-col-xs-offset-7{margin-left:29.16667%}.custom-theme .el-col-xs-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-xs-push-7{position:relative;left:29.16667%}.custom-theme .el-col-xs-8{width:33.33333%}.custom-theme .el-col-xs-offset-8{margin-left:33.33333%}.custom-theme .el-col-xs-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-xs-push-8{position:relative;left:33.33333%}.custom-theme .el-col-xs-9{width:37.5%}.custom-theme .el-col-xs-offset-9{margin-left:37.5%}.custom-theme .el-col-xs-pull-9{position:relative;right:37.5%}.custom-theme .el-col-xs-push-9{position:relative;left:37.5%}.custom-theme .el-col-xs-10{width:41.66667%}.custom-theme .el-col-xs-offset-10{margin-left:41.66667%}.custom-theme .el-col-xs-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-xs-push-10{position:relative;left:41.66667%}.custom-theme .el-col-xs-11{width:45.83333%}.custom-theme .el-col-xs-offset-11{margin-left:45.83333%}.custom-theme .el-col-xs-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-xs-push-11{position:relative;left:45.83333%}.custom-theme .el-col-xs-12{width:50%}.custom-theme .el-col-xs-offset-12{margin-left:50%}.custom-theme .el-col-xs-pull-12{position:relative;right:50%}.custom-theme .el-col-xs-push-12{position:relative;left:50%}.custom-theme .el-col-xs-13{width:54.16667%}.custom-theme .el-col-xs-offset-13{margin-left:54.16667%}.custom-theme .el-col-xs-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-xs-push-13{position:relative;left:54.16667%}.custom-theme .el-col-xs-14{width:58.33333%}.custom-theme .el-col-xs-offset-14{margin-left:58.33333%}.custom-theme .el-col-xs-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-xs-push-14{position:relative;left:58.33333%}.custom-theme .el-col-xs-15{width:62.5%}.custom-theme .el-col-xs-offset-15{margin-left:62.5%}.custom-theme .el-col-xs-pull-15{position:relative;right:62.5%}.custom-theme .el-col-xs-push-15{position:relative;left:62.5%}.custom-theme .el-col-xs-16{width:66.66667%}.custom-theme .el-col-xs-offset-16{margin-left:66.66667%}.custom-theme .el-col-xs-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-xs-push-16{position:relative;left:66.66667%}.custom-theme .el-col-xs-17{width:70.83333%}.custom-theme .el-col-xs-offset-17{margin-left:70.83333%}.custom-theme .el-col-xs-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-xs-push-17{position:relative;left:70.83333%}.custom-theme .el-col-xs-18{width:75%}.custom-theme .el-col-xs-offset-18{margin-left:75%}.custom-theme .el-col-xs-pull-18{position:relative;right:75%}.custom-theme .el-col-xs-push-18{position:relative;left:75%}.custom-theme .el-col-xs-19{width:79.16667%}.custom-theme .el-col-xs-offset-19{margin-left:79.16667%}.custom-theme .el-col-xs-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-xs-push-19{position:relative;left:79.16667%}.custom-theme .el-col-xs-20{width:83.33333%}.custom-theme .el-col-xs-offset-20{margin-left:83.33333%}.custom-theme .el-col-xs-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-xs-push-20{position:relative;left:83.33333%}.custom-theme .el-col-xs-21{width:87.5%}.custom-theme .el-col-xs-offset-21{margin-left:87.5%}.custom-theme .el-col-xs-pull-21{position:relative;right:87.5%}.custom-theme .el-col-xs-push-21{position:relative;left:87.5%}.custom-theme .el-col-xs-22{width:91.66667%}.custom-theme .el-col-xs-offset-22{margin-left:91.66667%}.custom-theme .el-col-xs-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-xs-push-22{position:relative;left:91.66667%}.custom-theme .el-col-xs-23{width:95.83333%}.custom-theme .el-col-xs-offset-23{margin-left:95.83333%}.custom-theme .el-col-xs-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-xs-push-23{position:relative;left:95.83333%}.custom-theme .el-col-xs-24{width:100%}.custom-theme .el-col-xs-offset-24{margin-left:100%}.custom-theme .el-col-xs-pull-24{position:relative;right:100%}.custom-theme .el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.custom-theme .el-col-sm-0{display:none}.custom-theme .el-col-sm-1{width:4.16667%}.custom-theme .el-col-sm-offset-1{margin-left:4.16667%}.custom-theme .el-col-sm-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-sm-push-1{position:relative;left:4.16667%}.custom-theme .el-col-sm-2{width:8.33333%}.custom-theme .el-col-sm-offset-2{margin-left:8.33333%}.custom-theme .el-col-sm-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-sm-push-2{position:relative;left:8.33333%}.custom-theme .el-col-sm-3{width:12.5%}.custom-theme .el-col-sm-offset-3{margin-left:12.5%}.custom-theme .el-col-sm-pull-3{position:relative;right:12.5%}.custom-theme .el-col-sm-push-3{position:relative;left:12.5%}.custom-theme .el-col-sm-4{width:16.66667%}.custom-theme .el-col-sm-offset-4{margin-left:16.66667%}.custom-theme .el-col-sm-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-sm-push-4{position:relative;left:16.66667%}.custom-theme .el-col-sm-5{width:20.83333%}.custom-theme .el-col-sm-offset-5{margin-left:20.83333%}.custom-theme .el-col-sm-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-sm-push-5{position:relative;left:20.83333%}.custom-theme .el-col-sm-6{width:25%}.custom-theme .el-col-sm-offset-6{margin-left:25%}.custom-theme .el-col-sm-pull-6{position:relative;right:25%}.custom-theme .el-col-sm-push-6{position:relative;left:25%}.custom-theme .el-col-sm-7{width:29.16667%}.custom-theme .el-col-sm-offset-7{margin-left:29.16667%}.custom-theme .el-col-sm-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-sm-push-7{position:relative;left:29.16667%}.custom-theme .el-col-sm-8{width:33.33333%}.custom-theme .el-col-sm-offset-8{margin-left:33.33333%}.custom-theme .el-col-sm-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-sm-push-8{position:relative;left:33.33333%}.custom-theme .el-col-sm-9{width:37.5%}.custom-theme .el-col-sm-offset-9{margin-left:37.5%}.custom-theme .el-col-sm-pull-9{position:relative;right:37.5%}.custom-theme .el-col-sm-push-9{position:relative;left:37.5%}.custom-theme .el-col-sm-10{width:41.66667%}.custom-theme .el-col-sm-offset-10{margin-left:41.66667%}.custom-theme .el-col-sm-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-sm-push-10{position:relative;left:41.66667%}.custom-theme .el-col-sm-11{width:45.83333%}.custom-theme .el-col-sm-offset-11{margin-left:45.83333%}.custom-theme .el-col-sm-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-sm-push-11{position:relative;left:45.83333%}.custom-theme .el-col-sm-12{width:50%}.custom-theme .el-col-sm-offset-12{margin-left:50%}.custom-theme .el-col-sm-pull-12{position:relative;right:50%}.custom-theme .el-col-sm-push-12{position:relative;left:50%}.custom-theme .el-col-sm-13{width:54.16667%}.custom-theme .el-col-sm-offset-13{margin-left:54.16667%}.custom-theme .el-col-sm-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-sm-push-13{position:relative;left:54.16667%}.custom-theme .el-col-sm-14{width:58.33333%}.custom-theme .el-col-sm-offset-14{margin-left:58.33333%}.custom-theme .el-col-sm-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-sm-push-14{position:relative;left:58.33333%}.custom-theme .el-col-sm-15{width:62.5%}.custom-theme .el-col-sm-offset-15{margin-left:62.5%}.custom-theme .el-col-sm-pull-15{position:relative;right:62.5%}.custom-theme .el-col-sm-push-15{position:relative;left:62.5%}.custom-theme .el-col-sm-16{width:66.66667%}.custom-theme .el-col-sm-offset-16{margin-left:66.66667%}.custom-theme .el-col-sm-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-sm-push-16{position:relative;left:66.66667%}.custom-theme .el-col-sm-17{width:70.83333%}.custom-theme .el-col-sm-offset-17{margin-left:70.83333%}.custom-theme .el-col-sm-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-sm-push-17{position:relative;left:70.83333%}.custom-theme .el-col-sm-18{width:75%}.custom-theme .el-col-sm-offset-18{margin-left:75%}.custom-theme .el-col-sm-pull-18{position:relative;right:75%}.custom-theme .el-col-sm-push-18{position:relative;left:75%}.custom-theme .el-col-sm-19{width:79.16667%}.custom-theme .el-col-sm-offset-19{margin-left:79.16667%}.custom-theme .el-col-sm-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-sm-push-19{position:relative;left:79.16667%}.custom-theme .el-col-sm-20{width:83.33333%}.custom-theme .el-col-sm-offset-20{margin-left:83.33333%}.custom-theme .el-col-sm-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-sm-push-20{position:relative;left:83.33333%}.custom-theme .el-col-sm-21{width:87.5%}.custom-theme .el-col-sm-offset-21{margin-left:87.5%}.custom-theme .el-col-sm-pull-21{position:relative;right:87.5%}.custom-theme .el-col-sm-push-21{position:relative;left:87.5%}.custom-theme .el-col-sm-22{width:91.66667%}.custom-theme .el-col-sm-offset-22{margin-left:91.66667%}.custom-theme .el-col-sm-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-sm-push-22{position:relative;left:91.66667%}.custom-theme .el-col-sm-23{width:95.83333%}.custom-theme .el-col-sm-offset-23{margin-left:95.83333%}.custom-theme .el-col-sm-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-sm-push-23{position:relative;left:95.83333%}.custom-theme .el-col-sm-24{width:100%}.custom-theme .el-col-sm-offset-24{margin-left:100%}.custom-theme .el-col-sm-pull-24{position:relative;right:100%}.custom-theme .el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.custom-theme .el-col-md-0{display:none}.custom-theme .el-col-md-1{width:4.16667%}.custom-theme .el-col-md-offset-1{margin-left:4.16667%}.custom-theme .el-col-md-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-md-push-1{position:relative;left:4.16667%}.custom-theme .el-col-md-2{width:8.33333%}.custom-theme .el-col-md-offset-2{margin-left:8.33333%}.custom-theme .el-col-md-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-md-push-2{position:relative;left:8.33333%}.custom-theme .el-col-md-3{width:12.5%}.custom-theme .el-col-md-offset-3{margin-left:12.5%}.custom-theme .el-col-md-pull-3{position:relative;right:12.5%}.custom-theme .el-col-md-push-3{position:relative;left:12.5%}.custom-theme .el-col-md-4{width:16.66667%}.custom-theme .el-col-md-offset-4{margin-left:16.66667%}.custom-theme .el-col-md-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-md-push-4{position:relative;left:16.66667%}.custom-theme .el-col-md-5{width:20.83333%}.custom-theme .el-col-md-offset-5{margin-left:20.83333%}.custom-theme .el-col-md-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-md-push-5{position:relative;left:20.83333%}.custom-theme .el-col-md-6{width:25%}.custom-theme .el-col-md-offset-6{margin-left:25%}.custom-theme .el-col-md-pull-6{position:relative;right:25%}.custom-theme .el-col-md-push-6{position:relative;left:25%}.custom-theme .el-col-md-7{width:29.16667%}.custom-theme .el-col-md-offset-7{margin-left:29.16667%}.custom-theme .el-col-md-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-md-push-7{position:relative;left:29.16667%}.custom-theme .el-col-md-8{width:33.33333%}.custom-theme .el-col-md-offset-8{margin-left:33.33333%}.custom-theme .el-col-md-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-md-push-8{position:relative;left:33.33333%}.custom-theme .el-col-md-9{width:37.5%}.custom-theme .el-col-md-offset-9{margin-left:37.5%}.custom-theme .el-col-md-pull-9{position:relative;right:37.5%}.custom-theme .el-col-md-push-9{position:relative;left:37.5%}.custom-theme .el-col-md-10{width:41.66667%}.custom-theme .el-col-md-offset-10{margin-left:41.66667%}.custom-theme .el-col-md-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-md-push-10{position:relative;left:41.66667%}.custom-theme .el-col-md-11{width:45.83333%}.custom-theme .el-col-md-offset-11{margin-left:45.83333%}.custom-theme .el-col-md-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-md-push-11{position:relative;left:45.83333%}.custom-theme .el-col-md-12{width:50%}.custom-theme .el-col-md-offset-12{margin-left:50%}.custom-theme .el-col-md-pull-12{position:relative;right:50%}.custom-theme .el-col-md-push-12{position:relative;left:50%}.custom-theme .el-col-md-13{width:54.16667%}.custom-theme .el-col-md-offset-13{margin-left:54.16667%}.custom-theme .el-col-md-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-md-push-13{position:relative;left:54.16667%}.custom-theme .el-col-md-14{width:58.33333%}.custom-theme .el-col-md-offset-14{margin-left:58.33333%}.custom-theme .el-col-md-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-md-push-14{position:relative;left:58.33333%}.custom-theme .el-col-md-15{width:62.5%}.custom-theme .el-col-md-offset-15{margin-left:62.5%}.custom-theme .el-col-md-pull-15{position:relative;right:62.5%}.custom-theme .el-col-md-push-15{position:relative;left:62.5%}.custom-theme .el-col-md-16{width:66.66667%}.custom-theme .el-col-md-offset-16{margin-left:66.66667%}.custom-theme .el-col-md-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-md-push-16{position:relative;left:66.66667%}.custom-theme .el-col-md-17{width:70.83333%}.custom-theme .el-col-md-offset-17{margin-left:70.83333%}.custom-theme .el-col-md-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-md-push-17{position:relative;left:70.83333%}.custom-theme .el-col-md-18{width:75%}.custom-theme .el-col-md-offset-18{margin-left:75%}.custom-theme .el-col-md-pull-18{position:relative;right:75%}.custom-theme .el-col-md-push-18{position:relative;left:75%}.custom-theme .el-col-md-19{width:79.16667%}.custom-theme .el-col-md-offset-19{margin-left:79.16667%}.custom-theme .el-col-md-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-md-push-19{position:relative;left:79.16667%}.custom-theme .el-col-md-20{width:83.33333%}.custom-theme .el-col-md-offset-20{margin-left:83.33333%}.custom-theme .el-col-md-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-md-push-20{position:relative;left:83.33333%}.custom-theme .el-col-md-21{width:87.5%}.custom-theme .el-col-md-offset-21{margin-left:87.5%}.custom-theme .el-col-md-pull-21{position:relative;right:87.5%}.custom-theme .el-col-md-push-21{position:relative;left:87.5%}.custom-theme .el-col-md-22{width:91.66667%}.custom-theme .el-col-md-offset-22{margin-left:91.66667%}.custom-theme .el-col-md-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-md-push-22{position:relative;left:91.66667%}.custom-theme .el-col-md-23{width:95.83333%}.custom-theme .el-col-md-offset-23{margin-left:95.83333%}.custom-theme .el-col-md-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-md-push-23{position:relative;left:95.83333%}.custom-theme .el-col-md-24{width:100%}.custom-theme .el-col-md-offset-24{margin-left:100%}.custom-theme .el-col-md-pull-24{position:relative;right:100%}.custom-theme .el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.custom-theme .el-col-lg-0{display:none}.custom-theme .el-col-lg-1{width:4.16667%}.custom-theme .el-col-lg-offset-1{margin-left:4.16667%}.custom-theme .el-col-lg-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-lg-push-1{position:relative;left:4.16667%}.custom-theme .el-col-lg-2{width:8.33333%}.custom-theme .el-col-lg-offset-2{margin-left:8.33333%}.custom-theme .el-col-lg-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-lg-push-2{position:relative;left:8.33333%}.custom-theme .el-col-lg-3{width:12.5%}.custom-theme .el-col-lg-offset-3{margin-left:12.5%}.custom-theme .el-col-lg-pull-3{position:relative;right:12.5%}.custom-theme .el-col-lg-push-3{position:relative;left:12.5%}.custom-theme .el-col-lg-4{width:16.66667%}.custom-theme .el-col-lg-offset-4{margin-left:16.66667%}.custom-theme .el-col-lg-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-lg-push-4{position:relative;left:16.66667%}.custom-theme .el-col-lg-5{width:20.83333%}.custom-theme .el-col-lg-offset-5{margin-left:20.83333%}.custom-theme .el-col-lg-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-lg-push-5{position:relative;left:20.83333%}.custom-theme .el-col-lg-6{width:25%}.custom-theme .el-col-lg-offset-6{margin-left:25%}.custom-theme .el-col-lg-pull-6{position:relative;right:25%}.custom-theme .el-col-lg-push-6{position:relative;left:25%}.custom-theme .el-col-lg-7{width:29.16667%}.custom-theme .el-col-lg-offset-7{margin-left:29.16667%}.custom-theme .el-col-lg-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-lg-push-7{position:relative;left:29.16667%}.custom-theme .el-col-lg-8{width:33.33333%}.custom-theme .el-col-lg-offset-8{margin-left:33.33333%}.custom-theme .el-col-lg-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-lg-push-8{position:relative;left:33.33333%}.custom-theme .el-col-lg-9{width:37.5%}.custom-theme .el-col-lg-offset-9{margin-left:37.5%}.custom-theme .el-col-lg-pull-9{position:relative;right:37.5%}.custom-theme .el-col-lg-push-9{position:relative;left:37.5%}.custom-theme .el-col-lg-10{width:41.66667%}.custom-theme .el-col-lg-offset-10{margin-left:41.66667%}.custom-theme .el-col-lg-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-lg-push-10{position:relative;left:41.66667%}.custom-theme .el-col-lg-11{width:45.83333%}.custom-theme .el-col-lg-offset-11{margin-left:45.83333%}.custom-theme .el-col-lg-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-lg-push-11{position:relative;left:45.83333%}.custom-theme .el-col-lg-12{width:50%}.custom-theme .el-col-lg-offset-12{margin-left:50%}.custom-theme .el-col-lg-pull-12{position:relative;right:50%}.custom-theme .el-col-lg-push-12{position:relative;left:50%}.custom-theme .el-col-lg-13{width:54.16667%}.custom-theme .el-col-lg-offset-13{margin-left:54.16667%}.custom-theme .el-col-lg-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-lg-push-13{position:relative;left:54.16667%}.custom-theme .el-col-lg-14{width:58.33333%}.custom-theme .el-col-lg-offset-14{margin-left:58.33333%}.custom-theme .el-col-lg-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-lg-push-14{position:relative;left:58.33333%}.custom-theme .el-col-lg-15{width:62.5%}.custom-theme .el-col-lg-offset-15{margin-left:62.5%}.custom-theme .el-col-lg-pull-15{position:relative;right:62.5%}.custom-theme .el-col-lg-push-15{position:relative;left:62.5%}.custom-theme .el-col-lg-16{width:66.66667%}.custom-theme .el-col-lg-offset-16{margin-left:66.66667%}.custom-theme .el-col-lg-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-lg-push-16{position:relative;left:66.66667%}.custom-theme .el-col-lg-17{width:70.83333%}.custom-theme .el-col-lg-offset-17{margin-left:70.83333%}.custom-theme .el-col-lg-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-lg-push-17{position:relative;left:70.83333%}.custom-theme .el-col-lg-18{width:75%}.custom-theme .el-col-lg-offset-18{margin-left:75%}.custom-theme .el-col-lg-pull-18{position:relative;right:75%}.custom-theme .el-col-lg-push-18{position:relative;left:75%}.custom-theme .el-col-lg-19{width:79.16667%}.custom-theme .el-col-lg-offset-19{margin-left:79.16667%}.custom-theme .el-col-lg-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-lg-push-19{position:relative;left:79.16667%}.custom-theme .el-col-lg-20{width:83.33333%}.custom-theme .el-col-lg-offset-20{margin-left:83.33333%}.custom-theme .el-col-lg-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-lg-push-20{position:relative;left:83.33333%}.custom-theme .el-col-lg-21{width:87.5%}.custom-theme .el-col-lg-offset-21{margin-left:87.5%}.custom-theme .el-col-lg-pull-21{position:relative;right:87.5%}.custom-theme .el-col-lg-push-21{position:relative;left:87.5%}.custom-theme .el-col-lg-22{width:91.66667%}.custom-theme .el-col-lg-offset-22{margin-left:91.66667%}.custom-theme .el-col-lg-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-lg-push-22{position:relative;left:91.66667%}.custom-theme .el-col-lg-23{width:95.83333%}.custom-theme .el-col-lg-offset-23{margin-left:95.83333%}.custom-theme .el-col-lg-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-lg-push-23{position:relative;left:95.83333%}.custom-theme .el-col-lg-24{width:100%}.custom-theme .el-col-lg-offset-24{margin-left:100%}.custom-theme .el-col-lg-pull-24{position:relative;right:100%}.custom-theme .el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.custom-theme .el-col-xl-0{display:none}.custom-theme .el-col-xl-1{width:4.16667%}.custom-theme .el-col-xl-offset-1{margin-left:4.16667%}.custom-theme .el-col-xl-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-xl-push-1{position:relative;left:4.16667%}.custom-theme .el-col-xl-2{width:8.33333%}.custom-theme .el-col-xl-offset-2{margin-left:8.33333%}.custom-theme .el-col-xl-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-xl-push-2{position:relative;left:8.33333%}.custom-theme .el-col-xl-3{width:12.5%}.custom-theme .el-col-xl-offset-3{margin-left:12.5%}.custom-theme .el-col-xl-pull-3{position:relative;right:12.5%}.custom-theme .el-col-xl-push-3{position:relative;left:12.5%}.custom-theme .el-col-xl-4{width:16.66667%}.custom-theme .el-col-xl-offset-4{margin-left:16.66667%}.custom-theme .el-col-xl-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-xl-push-4{position:relative;left:16.66667%}.custom-theme .el-col-xl-5{width:20.83333%}.custom-theme .el-col-xl-offset-5{margin-left:20.83333%}.custom-theme .el-col-xl-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-xl-push-5{position:relative;left:20.83333%}.custom-theme .el-col-xl-6{width:25%}.custom-theme .el-col-xl-offset-6{margin-left:25%}.custom-theme .el-col-xl-pull-6{position:relative;right:25%}.custom-theme .el-col-xl-push-6{position:relative;left:25%}.custom-theme .el-col-xl-7{width:29.16667%}.custom-theme .el-col-xl-offset-7{margin-left:29.16667%}.custom-theme .el-col-xl-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-xl-push-7{position:relative;left:29.16667%}.custom-theme .el-col-xl-8{width:33.33333%}.custom-theme .el-col-xl-offset-8{margin-left:33.33333%}.custom-theme .el-col-xl-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-xl-push-8{position:relative;left:33.33333%}.custom-theme .el-col-xl-9{width:37.5%}.custom-theme .el-col-xl-offset-9{margin-left:37.5%}.custom-theme .el-col-xl-pull-9{position:relative;right:37.5%}.custom-theme .el-col-xl-push-9{position:relative;left:37.5%}.custom-theme .el-col-xl-10{width:41.66667%}.custom-theme .el-col-xl-offset-10{margin-left:41.66667%}.custom-theme .el-col-xl-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-xl-push-10{position:relative;left:41.66667%}.custom-theme .el-col-xl-11{width:45.83333%}.custom-theme .el-col-xl-offset-11{margin-left:45.83333%}.custom-theme .el-col-xl-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-xl-push-11{position:relative;left:45.83333%}.custom-theme .el-col-xl-12{width:50%}.custom-theme .el-col-xl-offset-12{margin-left:50%}.custom-theme .el-col-xl-pull-12{position:relative;right:50%}.custom-theme .el-col-xl-push-12{position:relative;left:50%}.custom-theme .el-col-xl-13{width:54.16667%}.custom-theme .el-col-xl-offset-13{margin-left:54.16667%}.custom-theme .el-col-xl-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-xl-push-13{position:relative;left:54.16667%}.custom-theme .el-col-xl-14{width:58.33333%}.custom-theme .el-col-xl-offset-14{margin-left:58.33333%}.custom-theme .el-col-xl-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-xl-push-14{position:relative;left:58.33333%}.custom-theme .el-col-xl-15{width:62.5%}.custom-theme .el-col-xl-offset-15{margin-left:62.5%}.custom-theme .el-col-xl-pull-15{position:relative;right:62.5%}.custom-theme .el-col-xl-push-15{position:relative;left:62.5%}.custom-theme .el-col-xl-16{width:66.66667%}.custom-theme .el-col-xl-offset-16{margin-left:66.66667%}.custom-theme .el-col-xl-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-xl-push-16{position:relative;left:66.66667%}.custom-theme .el-col-xl-17{width:70.83333%}.custom-theme .el-col-xl-offset-17{margin-left:70.83333%}.custom-theme .el-col-xl-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-xl-push-17{position:relative;left:70.83333%}.custom-theme .el-col-xl-18{width:75%}.custom-theme .el-col-xl-offset-18{margin-left:75%}.custom-theme .el-col-xl-pull-18{position:relative;right:75%}.custom-theme .el-col-xl-push-18{position:relative;left:75%}.custom-theme .el-col-xl-19{width:79.16667%}.custom-theme .el-col-xl-offset-19{margin-left:79.16667%}.custom-theme .el-col-xl-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-xl-push-19{position:relative;left:79.16667%}.custom-theme .el-col-xl-20{width:83.33333%}.custom-theme .el-col-xl-offset-20{margin-left:83.33333%}.custom-theme .el-col-xl-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-xl-push-20{position:relative;left:83.33333%}.custom-theme .el-col-xl-21{width:87.5%}.custom-theme .el-col-xl-offset-21{margin-left:87.5%}.custom-theme .el-col-xl-pull-21{position:relative;right:87.5%}.custom-theme .el-col-xl-push-21{position:relative;left:87.5%}.custom-theme .el-col-xl-22{width:91.66667%}.custom-theme .el-col-xl-offset-22{margin-left:91.66667%}.custom-theme .el-col-xl-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-xl-push-22{position:relative;left:91.66667%}.custom-theme .el-col-xl-23{width:95.83333%}.custom-theme .el-col-xl-offset-23{margin-left:95.83333%}.custom-theme .el-col-xl-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-xl-push-23{position:relative;left:95.83333%}.custom-theme .el-col-xl-24{width:100%}.custom-theme .el-col-xl-offset-24{margin-left:100%}.custom-theme .el-col-xl-pull-24{position:relative;right:100%}.custom-theme .el-col-xl-push-24{position:relative;left:100%}}.custom-theme .el-progress{position:relative;line-height:1}.custom-theme .el-progress__text{font-size:14px;color:#5a5e66;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.custom-theme .el-progress__text i{vertical-align:middle;display:block}.custom-theme .el-progress--circle{display:inline-block}.custom-theme .el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.custom-theme .el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.custom-theme .el-progress--without-text .el-progress__text{display:none}.custom-theme .el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.custom-theme .el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.custom-theme .el-progress.is-success .el-progress-bar__inner{background-color:#409167}.custom-theme .el-progress.is-success .el-progress__text{color:#409167}.custom-theme .el-progress.is-exception .el-progress-bar__inner{background-color:#b3450e}.custom-theme .el-progress.is-exception .el-progress__text{color:#b3450e}.custom-theme .el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-progress-bar__outer{height:6px;border-radius:100px;background-color:#e6ebf5;overflow:hidden;position:relative;vertical-align:middle}.custom-theme .el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#262729;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.custom-theme .el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.custom-theme .el-upload{display:inline-block;text-align:center;cursor:pointer}.custom-theme .el-upload__input{display:none}.custom-theme .el-upload__tip{font-size:12px;color:#5a5e66;margin-top:7px}.custom-theme .el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.custom-theme .el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.custom-theme .el-upload--picture-card i{font-size:28px;color:#8c939d}.custom-theme .el-upload--picture-card:hover{border-color:#262729;color:#262729}.custom-theme .el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.custom-theme .el-upload-dragger .el-icon-upload{font-size:67px;color:#b4bccc;margin:40px 0 16px;line-height:50px}.custom-theme .el-upload-dragger+.el-upload__tip{text-align:center}.custom-theme .el-upload-dragger~.el-upload__files{border-top:1px solid #d8dce5;margin-top:7px;padding-top:5px}.custom-theme .el-upload-dragger .el-upload__text{color:#5a5e66;font-size:14px;text-align:center}.custom-theme .el-upload-dragger .el-upload__text em{color:#262729;font-style:normal}.custom-theme .el-upload-dragger:hover{border-color:#262729}.custom-theme .el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #262729}.custom-theme .el-upload-list{margin:0;padding:0;list-style:none}.custom-theme .el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#5a5e66;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.custom-theme .el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.custom-theme .el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.custom-theme .el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.custom-theme .el-upload-list__item:first-child{margin-top:10px}.custom-theme .el-upload-list__item .el-icon-upload-success{color:#409167}.custom-theme .el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#5a5e66}.custom-theme .el-upload-list__item .el-icon-close:hover{opacity:1}.custom-theme .el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:0;cursor:pointer;opacity:1;color:#262729;-webkit-transform:translate(15%,0);transform:translate(15%,0)}.custom-theme .el-upload-list__item:hover{background-color:#f5f7fa}.custom-theme .el-upload-list__item:hover .el-icon-close{display:inline-block}.custom-theme .el-upload-list__item:hover .el-progress__text{display:none}.custom-theme .el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.custom-theme .el-upload-list__item.is-success .el-upload-list__item-name:focus,.custom-theme .el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#262729;cursor:pointer}.custom-theme .el-upload-list__item.is-success:focus .el-icon-close-tip{display:inline-block}.custom-theme .el-upload-list__item.is-success:active,.custom-theme .el-upload-list__item.is-success:focus:not(.focusing){outline-width:0}.custom-theme .el-upload-list__item.is-success:active .el-icon-close-tip,.custom-theme .el-upload-list__item.is-success:focus:not(.focusing) .el-icon-close-tip{display:none}.custom-theme .el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.custom-theme .el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none}.custom-theme .el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.custom-theme .el-upload-list__item-name{color:#5a5e66;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.custom-theme .el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#878d99;line-height:inherit}.custom-theme .el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.custom-theme .el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#5a5e66;display:none}.custom-theme .el-upload-list__item-delete:hover{color:#262729}.custom-theme .el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.custom-theme .el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-check,.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-close{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.custom-theme .el-upload-list--picture-card .el-upload-list__item-name{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.custom-theme .el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.custom-theme .el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.custom-theme .el-upload-list--picture .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.custom-theme .el-upload-list--picture .el-upload-list__item .el-icon-check,.custom-theme .el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.custom-theme .el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px}.custom-theme .el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.custom-theme .el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.custom-theme .el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.custom-theme .el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.custom-theme .el-upload-list--picture .el-progress{position:relative;top:-7px}.custom-theme .el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.custom-theme .el-upload-cover::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-upload-cover img{display:block;width:100%;height:100%}.custom-theme .el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.custom-theme .el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.custom-theme .el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.custom-theme .el-upload-cover__progress+.el-upload__inner{opacity:0}.custom-theme .el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.custom-theme .el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.custom-theme .el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;margin-top:60px}.custom-theme .el-upload-cover__interact .btn i{margin-top:0}.custom-theme .el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.custom-theme .el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.custom-theme .el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.custom-theme .el-upload-cover__interact .btn:hover span{opacity:1}.custom-theme .el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.custom-theme .el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#2d2f33}.custom-theme .el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.custom-theme .el-progress{position:relative;line-height:1}.custom-theme .el-progress__text{font-size:14px;color:#5a5e66;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.custom-theme .el-progress__text i{vertical-align:middle;display:block}.custom-theme .el-progress--circle{display:inline-block}.custom-theme .el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.custom-theme .el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.custom-theme .el-progress--without-text .el-progress__text{display:none}.custom-theme .el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.custom-theme .el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.custom-theme .el-progress.is-success .el-progress-bar__inner{background-color:#409167}.custom-theme .el-progress.is-success .el-progress__text{color:#409167}.custom-theme .el-progress.is-exception .el-progress-bar__inner{background-color:#b3450e}.custom-theme .el-progress.is-exception .el-progress__text{color:#b3450e}.custom-theme .el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-progress-bar__outer{height:6px;border-radius:100px;background-color:#e6ebf5;overflow:hidden;position:relative;vertical-align:middle}.custom-theme .el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#262729;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.custom-theme .el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.custom-theme .el-time-spinner{width:100%;white-space:nowrap}.custom-theme .el-spinner{display:inline-block;vertical-align:middle}.custom-theme .el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.custom-theme .el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.custom-theme .el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#e6ebf5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,transform .4s;transition:opacity .3s,transform .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-message p{margin:0}.custom-theme .el-message--info .el-message__content{color:#0a76a4}.custom-theme .el-message--success{background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-message--success .el-message__content{color:#409167}.custom-theme .el-message--warning{background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-message--warning .el-message__content{color:#9da408}.custom-theme .el-message--error{background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-message--error .el-message__content{color:#b3450e}.custom-theme .el-message__icon{margin-right:10px}.custom-theme .el-message__content{padding:0;font-size:14px;line-height:1}.custom-theme .el-message__content:focus{outline-width:0}.custom-theme .el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#b4bccc;font-size:16px}.custom-theme .el-message__closeBtn:focus{outline-width:0}.custom-theme .el-message__closeBtn:hover{color:#878d99}.custom-theme .el-message .el-icon-success{color:#409167}.custom-theme .el-message .el-icon-error{color:#b3450e}.custom-theme .el-message .el-icon-info{color:#0a76a4}.custom-theme .el-message .el-icon-warning{color:#9da408}.custom-theme .el-message-fade-enter,.custom-theme .el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.custom-theme .el-badge{position:relative;vertical-align:middle;display:inline-block}.custom-theme .el-badge__content{background-color:#b3450e;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.custom-theme .el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.custom-theme .el-badge__content.is-fixed.is-dot{right:5px}.custom-theme .el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.custom-theme .el-card{border-radius:4px;border:1px solid #e6ebf5;background-color:#fff;overflow:hidden;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);color:#2d2f33}.custom-theme .el-card__header{padding:18px 20px;border-bottom:1px solid #e6ebf5;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-card__body{padding:20px}.custom-theme .el-rate{height:20px;line-height:1}.custom-theme .el-rate:active,.custom-theme .el-rate:focus{outline-width:0}.custom-theme .el-rate__item{display:inline-block;position:relative;font-size:0;vertical-align:middle}.custom-theme .el-rate__icon{position:relative;display:inline-block;font-size:18px;margin-right:6px;color:#b4bccc;-webkit-transition:.3s;transition:.3s}.custom-theme .el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.custom-theme .el-rate__icon .path2{position:absolute;left:0;top:0}.custom-theme .el-rate__decimal{position:absolute;top:0;left:0;display:inline-block;overflow:hidden}.custom-theme .el-rate__text{font-size:14px;vertical-align:middle}.custom-theme .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.custom-theme .el-steps--horizontal{white-space:nowrap}.custom-theme .el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.custom-theme .el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.custom-theme .el-step:last-of-type .el-step__line{display:none}.custom-theme .el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.custom-theme .el-step:last-of-type .el-step__description,.custom-theme .el-step:last-of-type .el-step__main{padding-right:0}.custom-theme .el-step__head{position:relative;width:100%}.custom-theme .el-step__head.is-process{color:#2d2f33;border-color:#2d2f33}.custom-theme .el-step__head.is-wait{color:#b4bccc;border-color:#b4bccc}.custom-theme .el-step__head.is-success{color:#409167;border-color:#409167}.custom-theme .el-step__head.is-error{color:#b3450e;border-color:#b3450e}.custom-theme .el-step__head.is-finish{color:#262729;border-color:#262729}.custom-theme .el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.custom-theme .el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.custom-theme .el-step__icon.is-icon{width:40px}.custom-theme .el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.custom-theme .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.custom-theme .el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.custom-theme .el-step__line{position:absolute;border-color:inherit;background-color:#b4bccc}.custom-theme .el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.custom-theme .el-step__main{white-space:normal;text-align:left}.custom-theme .el-step__title{font-size:16px;line-height:38px}.custom-theme .el-step__title.is-process{font-weight:700;color:#2d2f33}.custom-theme .el-step__title.is-wait{color:#b4bccc}.custom-theme .el-step__title.is-success{color:#409167}.custom-theme .el-step__title.is-error{color:#b3450e}.custom-theme .el-step__title.is-finish{color:#262729}.custom-theme .el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.custom-theme .el-step__description.is-process{color:#2d2f33}.custom-theme .el-step__description.is-wait{color:#b4bccc}.custom-theme .el-step__description.is-success{color:#409167}.custom-theme .el-step__description.is-error{color:#b3450e}.custom-theme .el-step__description.is-finish{color:#262729}.custom-theme .el-step.is-horizontal{display:inline-block}.custom-theme .el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.custom-theme .el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.custom-theme .el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.custom-theme .el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.custom-theme .el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.custom-theme .el-step.is-vertical .el-step__icon.is-icon{width:24px}.custom-theme .el-step.is-center .el-step__head{text-align:center}.custom-theme .el-step.is-center .el-step__main{text-align:center}.custom-theme .el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.custom-theme .el-step.is-center .el-step__line{left:50%;right:-50%}.custom-theme .el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.custom-theme .el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.custom-theme .el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.custom-theme .el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.custom-theme .el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.custom-theme .el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.custom-theme .el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.custom-theme .el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-step.is-simple .el-step__arrow::after,.custom-theme .el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#b4bccc}.custom-theme .el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.custom-theme .el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.custom-theme .el-step.is-simple:last-of-type .el-step__arrow{display:none}.custom-theme .el-carousel{overflow-x:hidden;position:relative}.custom-theme .el-carousel__container{position:relative;height:300px}.custom-theme .el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.custom-theme .el-carousel__arrow--left{left:16px}.custom-theme .el-carousel__arrow--right{right:16px}.custom-theme .el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.custom-theme .el-carousel__arrow i{cursor:pointer}.custom-theme .el-carousel__indicators{position:absolute;list-style:none;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin:0;padding:0;z-index:2}.custom-theme .el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.custom-theme .el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.custom-theme .el-carousel__indicators--outside button{background-color:#b4bccc;opacity:.24}.custom-theme .el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.custom-theme .el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.custom-theme .el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.custom-theme .el-carousel__indicator{display:inline-block;background-color:transparent;padding:12px 4px;cursor:pointer}.custom-theme .el-carousel__indicator:hover button{opacity:.72}.custom-theme .el-carousel__indicator.is-active button{opacity:1}.custom-theme .el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.custom-theme .carousel-arrow-left-enter,.custom-theme .carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.custom-theme .carousel-arrow-right-enter,.custom-theme .carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-carousel__item{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;z-index:0}.custom-theme .el-carousel__item.is-active{z-index:2}.custom-theme .el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.custom-theme .el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.custom-theme .el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.custom-theme .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.custom-theme .el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.custom-theme .el-carousel__item--card.is-active{z-index:2}.custom-theme .el-carousel__mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.custom-theme .el-collapse{border-top:1px solid #e6ebf5;border-bottom:1px solid #e6ebf5}.custom-theme .el-collapse-item__header{height:48px;line-height:48px;background-color:#fff;color:#2d2f33;cursor:pointer;border-bottom:1px solid #e6ebf5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s}.custom-theme .el-collapse-item__header:active,.custom-theme .el-collapse-item__header:focus:not(.focusing){outline-width:0}.custom-theme .el-collapse-item__arrow{margin-right:8px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:right;line-height:48px;font-weight:300}.custom-theme .el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e6ebf5}.custom-theme .el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#2d2f33;line-height:1.769230769230769}.custom-theme .el-collapse-item.is-active .el-collapse-item__header{border-bottom-color:transparent}.custom-theme .el-collapse-item.is-active .el-collapse-item__header .el-collapse-item__arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-collapse-item:last-child{margin-bottom:-1px}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.custom-theme .el-cascader .el-input,.custom-theme .el-cascader .el-input__inner{cursor:pointer}.custom-theme .el-cascader .el-input__icon{-webkit-transition:none;transition:none}.custom-theme .el-cascader .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.custom-theme .el-cascader .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.custom-theme .el-cascader .el-icon-circle-close{z-index:2;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-cascader .el-icon-circle-close:hover{color:#878d99}.custom-theme .el-cascader__clearIcon{z-index:2;position:relative}.custom-theme .el-cascader__label{position:absolute;left:0;top:0;height:100%;padding:0 25px 0 15px;color:#5a5e66;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;text-align:left;font-size:inherit}.custom-theme .el-cascader__label span{color:#000}.custom-theme .el-cascader--medium{font-size:14px;line-height:36px}.custom-theme .el-cascader--small{font-size:13px;line-height:32px}.custom-theme .el-cascader--mini{font-size:12px;line-height:28px}.custom-theme .el-cascader.is-disabled .el-cascader__label{z-index:2;color:#b4bccc}.custom-theme .el-cascader-menus{white-space:nowrap;background:#fff;position:absolute;margin:5px 0;z-index:2;border:solid 1px #dfe4ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-cascader-menus .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-cascader-menu{display:inline-block;vertical-align:top;height:204px;overflow:auto;border-right:solid 1px #dfe4ed;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:6px 0;min-width:160px}.custom-theme .el-cascader-menu:last-child{border-right:0}.custom-theme .el-cascader-menu__item{font-size:14px;padding:8px 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-cascader-menu__item--extensible:after{font-family:element-icons;content:"\e604";font-size:14px;color:#bfcbd9;position:absolute;right:15px}.custom-theme .el-cascader-menu__item.is-disabled{color:#b4bccc;background-color:#fff;cursor:not-allowed}.custom-theme .el-cascader-menu__item.is-disabled:hover{background-color:#fff}.custom-theme .el-cascader-menu__item.is-active{color:#262729}.custom-theme .el-cascader-menu__item:hover{background-color:#f5f7fa}.custom-theme .el-cascader-menu__item.selected{color:#fff;background-color:#f5f7fa}.custom-theme .el-cascader-menu__item__keyword{font-weight:700}.custom-theme .el-cascader-menu--flexible{height:auto;max-height:180px;overflow:auto}.custom-theme .el-cascader-menu--flexible .el-cascader-menu__item{overflow:visible}.custom-theme .el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.custom-theme .el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.custom-theme .el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.custom-theme .el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.custom-theme .el-color-svpanel{position:relative;width:280px;height:180px}.custom-theme .el-color-svpanel__black,.custom-theme .el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.custom-theme .el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.custom-theme .el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(to top,#000,transparent)}.custom-theme .el-color-svpanel__cursor{position:absolute}.custom-theme .el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.custom-theme .el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.custom-theme .el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.custom-theme .el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.custom-theme .el-color-alpha-slider.is-vertical{width:20px;height:180px}.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.custom-theme .el-color-dropdown{width:300px}.custom-theme .el-color-dropdown__main-wrapper{margin-bottom:6px}.custom-theme .el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.custom-theme .el-color-dropdown__btns{margin-top:6px;text-align:right}.custom-theme .el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.custom-theme .el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-color-dropdown__btn:hover{color:#262729;border-color:#262729}.custom-theme .el-color-dropdown__link-btn{cursor:pointer;color:#262729;text-decoration:none;padding:15px;font-size:12px}.custom-theme .el-color-dropdown__link-btn:hover{color:tint(#262729,20%)}.custom-theme .el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.custom-theme .el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.custom-theme .el-color-picker--medium{height:36px}.custom-theme .el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.custom-theme .el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.custom-theme .el-color-picker--small{height:32px}.custom-theme .el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.custom-theme .el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.custom-theme .el-color-picker--small .el-color-picker__empty,.custom-theme .el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.custom-theme .el-color-picker--mini{height:28px}.custom-theme .el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.custom-theme .el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.custom-theme .el-color-picker--mini .el-color-picker__empty,.custom-theme .el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.custom-theme .el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.custom-theme .el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.custom-theme .el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.custom-theme .el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.custom-theme .el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.custom-theme .el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.custom-theme .el-color-picker__icon{display:inline-block;position:absolute;width:100%;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#fff;text-align:center;font-size:12px}.custom-theme .el-color-picker__panel{position:absolute;z-index:10;padding:6px;background-color:#fff;border:1px solid #e6ebf5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-transfer{font-size:14px}.custom-theme .el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.custom-theme .el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#262729;font-size:0}.custom-theme .el-transfer__button.is-with-texts{border-radius:4px}.custom-theme .el-transfer__button.is-disabled{border:1px solid #d8dce5;background-color:#f5f7fa;color:#b4bccc}.custom-theme .el-transfer__button.is-disabled:hover{border:1px solid #d8dce5;background-color:#f5f7fa;color:#b4bccc}.custom-theme .el-transfer__button:first-child{margin-bottom:10px}.custom-theme .el-transfer__button:nth-child(2){margin:0}.custom-theme .el-transfer__button i,.custom-theme .el-transfer__button span{font-size:14px}.custom-theme .el-transfer__button [class*=el-icon-]+span{margin-left:0}.custom-theme .el-transfer-panel{border:1px solid #e6ebf5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.custom-theme .el-transfer-panel__body{height:246px}.custom-theme .el-transfer-panel__body.is-with-footer{padding-bottom:40px}.custom-theme .el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.custom-theme .el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.custom-theme .el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.custom-theme .el-transfer-panel__item.el-checkbox{color:#5a5e66}.custom-theme .el-transfer-panel__item:hover{color:#262729}.custom-theme .el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.custom-theme .el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.custom-theme .el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.custom-theme .el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.custom-theme .el-transfer-panel__filter .el-input__icon{margin-left:5px}.custom-theme .el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.custom-theme .el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #e6ebf5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#2d2f33;font-weight:400}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#878d99;font-size:12px;font-weight:400}.custom-theme .el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #e6ebf5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.custom-theme .el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#5a5e66}.custom-theme .el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#878d99}.custom-theme .el-transfer-panel .el-checkbox__label{padding-left:8px}.custom-theme .el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.custom-theme .el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.custom-theme .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-theme .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-main{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px}.custom-theme .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box} \ No newline at end of file diff --git a/admin-ui/src/assets/dark.svg b/admin-ui/src/assets/dark.svg new file mode 100644 index 0000000..f646bd7 --- /dev/null +++ b/admin-ui/src/assets/dark.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin-ui/src/assets/icons/12-01.png b/admin-ui/src/assets/icons/12-01.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ce3f88f6600318ae3ae27f09f1c956f0f5077a GIT binary patch literal 5803 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 UBqwK1=3t&ChGx(*eWyqN19sZ|Z~y=R literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/AU-01.png b/admin-ui/src/assets/icons/AU-01.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ef10ef71e6b0dc92041412d20f312f380ddcc5 GIT binary patch literal 4392 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/UTools.png b/admin-ui/src/assets/icons/UTools.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1104677a8e1f84976da80b331cfeec909c22da GIT binary patch literal 10287 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 AM*si- literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Unknow.png b/admin-ui/src/assets/icons/Unknow.png new file mode 100644 index 0000000000000000000000000000000000000000..887e8345b5ef28157fd5a0c6656742b36048e7b6 GIT binary patch literal 5028 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Visio.png b/admin-ui/src/assets/icons/Visio.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee43db28b3a642e06df28bbeded4d106d488f3d GIT binary patch literal 7847 zcmb7pcQjm4*Y{w;2w@O}D1#^=h!QQzU>IHW=n=g}8NG~>V3ZIgB6{y7gCshMgb-wu zh+d)$qnD`Ry?NgC{qe2!eSbW6t$X)9_w4;U`_#Sf-k3)^$Q#$0uY*9K8|rEZeSr4; zyP>4O^KYN`EI`1HirR`G(7Pmx3!7^|naD>UsRXJWVp#_YFk3Z!Z4fAk2LuX#4g#G4 zpThAVknepEXyXY8B=ZIYV)V>z(US!#NS|sV5da0QQ{`4PK*&ASOnm^V_Mcnzo2xts z#Hyx_P&5pf+L{dvNi}LA+g&SGZ&74)nvBD8!5~;=8oS#P6xS*9`8HTt=;_n;T1YY! zza~~iiE&9;NqW}9iRkT(@&%jjl|W|U`O0N!+u9?ggO|DI$N;jf`o?cr+4nkk6i!~P zt^_K7t6OVZla7G^t^XHSZ3IRL)Wul6ARx8IKhCjnWZi@zA*+177tCsJ+1lSJT=UfW zMWevIwydEL+VodB?I|^O3F;~M79xaFIQ-Gs)}~-qbMd(GU_H9j{GAexv?U8wDvDK2^gar@@cKiZURHL{JZ2<@Uj1(Prwb|AP*sVT=M9&H z!C`y}mDAW}p@;HTKDeKgKTl)WokVhYHzsu7DZpM0HS`W;zcO|XnqEy{&FWwM?kx79 zTI(>BB!HF}O#HStsz?M(4yH-R6N6;C3Edn6`P&yoR_%tS?^WJXQ?cCo{K2i_*Gz2= z{+OhT?mlruIOjd7+BJ8xPul`~$)v9G^@7ZjR9v)>I}j)YBG1T@$e{)UalpIkPD4D! zqhS%CNDxuyvVS-3RwS4h#8wz({VGb?9UE#Je{mVyNkKJ9(fE1?KYN>cx;xJXOdMu2 zR*t?3U!SyRfAtp+0c4YeLt*npA=BhYtvn#OOz${QhVGE9o$;o-X1-!C{(DiU9Uh=}F6fBmOxC!%1;2^ic9=+(u@0f+N}kq0oft_&C)4gtpm zL+>n504PQfsu!leH2NR~wM$*nS5&@y2Q98Ze(vC(Oah6Q|47+L%VQ9l+Vf9bI#BnD{3%_(U zoo5%i3ki_|_c@8E;o;%tP?j)KMdIs9;o+KJcXgXz_V$!tR=UY3WkW2M{;!mT3mxbKXQPP$%@HvF&KQ|EtExZTO+x=WqQuAERp@{b99WO zYP*@GV9UK-K?wAO9!z%8Z|I^D6LzMaZYxvBNzf! zf20%+{uqpvzu4WkrJ?z1CHQ^u6&W@5PTcQ-7%F;zr<{xrGbrbcFmrORn3wc(;}1^r zwQ*>`W4pxabArRgzN%1B$A=zhgUJHE@JxM^q-L)TQhO-N6L{o;TM2ix0n_HoxMjB3 zle6E4A0vLUcd}*WX!BI&$5W!`6U)bGXmB`0K|zg~FCKoAb+%#cM*+giD~fF1hguJT zIR7)-f~g&$wjbdSntl38>#f36jPG{#|Je&D)BJlO`QUQDyZ&2mf&)iOv6Jh^?%SSM ze+vnFCjVe`vsA}wre~T5GU!wgDEyD27<}agnYEf@v-9F7<%6}WcfOx`+2d=;(q7!H z2H6i(xz-G9Pn)1vFKa9L1qiJ>u`k)tE9tl*O#cA-LWEldWpo*}RoY(JC?ATLAj;(k z0gr6=lI^3*ndIIg>lNxdU$PJ9uCni6SheHHgD^~HO|+JIo!GxMOQ!}&iMM-)HHN2! z%Ofwzt_`tL#lKKX`R>r3+vieK*+0ySeH<4*I*PgT&84QwwLkrqZ9=)@Fp}M}A)1fF z=Hdj&P9N&uF)&i{{;O-pFiVjzs3x5i@B%VxfHMAK3k$VlkcgNIUX}O^)bdy8ziXWRxFbyi0>?B zo({7tvp$p=+UHvjFlNXpMeAEmzb~8zgZTy4I&J7b`%s8FR$h04681`qJT=X zFvJh4+BI-US#h+Vl6pxH z52iabj@J8LHD*yB+N#CkZ<9J*PvnvBuZ^yG~#=5~{+_m>wn)izC(4;u*H49{eS6fAjcYhPlU( zQ`=~WI-0vfh74@B(zO#^Ke}uv(uqY4%@R#2~VBu(9DXFni(mpg>);TX0A zfBTvfRk}tICc*8JP;HzeBz0DEn=D4h#9Fwev}@%t^M1i$tEpa!|6*&Usc^ zT3Cg`K)VzWDkm8*1O$yFv4{W>L0lkIo~*=R7$1jJS11G;o*%gYT7khqk;IWCX)yqU z6NGA)1q^}1l{~}O7B?FOa>HcqRv7RWKHSESs9gTjS#~SnN=a*e%3-&bh-N z^MgvuhlT2?q*MvcdPrcrEpWDNA?fkF*9sOiZVzGOV~S@hd9R-fl@0I=k=1+r#+aaMU`j%Y+G3_x8EbNF^`oKLwicG2 zl=i(=3yk&7UQv?xPV(BSfqohjrqPLpfq_;Dbv)}ogKKHRx4O14iK!+$db(V2IQC>$ z5#Uz}w}_EVFBvPETOUm~on3KG5K%>-hUJuF`1R^W;^`vEB1uBniI-)rQw;PoGpCtH zKXe|+SM>5i(9jeVbogWUjFe;kY%$;xj- zNLuP^B4K_$qYRt&wuS%RJwbOTn2gub#VH&gwI>VonH}7x%_n!QXpF3JL`lhz|7%)S z%h|r>S|7UbreH9zI9&(LIq)gB=czK4i6e(6?#mJ?VZIrI1*^Ib2c_jyiB~k&8Aic3U~S$ zIiz5_FaUV{5_)RW(zb%(v+b23#A2LrN=06OW%eD?&X4nCO)Ukt!$PPdNr)MVi!;+U zsBtb2nA0^b41XptajEjX8}EPb&cw8`f-tTcnk2H;Hm-r@Ux2()XV|?@ zvB7^iT$+6NUH6x}qvWK46*xvOq24A@v^P?+^tABoY-D6015<5W^se@0tdIJq4RMG# z1S%i zWF!qw%_NQ0&3kjJ&~NLht+H}@mGIqflc%+~^6_mg%WqY~n|?7Q(|06tWQpHBJ`Bov z+4tn5=i-cX;r@PgH5W3LpC8+h#O6ynP@;)QvHLK+Raiy(Q3M>Tw0sHm{~&Bqk&Tqm z&Mf@?lT)-rRYD_=iCRa(JTx@4UF>n#WoCKxCLZ@W27_wJLksc2u+z7h>+jtPxj~Gu z(FpD0Z`umZk`NIw6U4>Rvg>cPEG)>)FFZUX@0ULFoX zlY(gUS;H04)8_`y=Lbsplg8m5>+4%+8Cq>q-b}4%F~j({0(ORIi9^HPcgY2G=T4&s zD}$=I)1%{U9Ip22bUrM2^Rdd8@h9N2;O zUIP%Eou#EU4rBU=JO>2#_H1ml(X*k)i7b=v1z-8F{Fc$OJS~fkj*G*J7RJS;^6F-H zDF^IQf@5PW

    _E2b-&wK~CGID`E~GC4G%7EKHpx=93yFT*XJwQrtz9Z-12e);d*`d2q(va>>uWe5$ z7GS*x2A1j4jZb8x+t6uwG7|TE7P89PoJY8(HLT}GxikUoIA_DB~9&L##XDZKZ!1Qs2K~5HT3qKc^f^``e zKYwNU{miy2`3V1Stb6-&mY_j^Ii;?{`%g^Yz*9@#cB-R4TjovIZ?wzkdl`9SMHR^| zRq8rD7dK5gQ!B8v(+A219PqYf7jz$nZo7JvU835g4v(*5T@^j$XsxQMT|UtMXX_|K z!QFk*P2A6No;Hk+H;b(Rzc55g_S+u5oRYV6vIEv~I?znPaCnlRp6 zUItt>V}YUI2!djGfT_#I`sjlP+s83|2B!N&hWkHxYc>8E3Kprp<*$gG?aj#<3(o4E zC|7_vv+bVWw8Zh5vTD-yM4gd9VY3f1$zy)*sJ-?&MNU-@wn5mUEA5&%&ohN*;#Mt( zb!bd2>A&3pY%Lj_Q#S9dj@?h2la?(X!*YZ>QGRcWrb#@CYqyuad{RO+ey-zygQd}z z`}W*t%8h1;U(-nnmq`lr_0y!)X^3yH0S?kZ@s|ci6%&#UVj|8r`hPhFeeuZ$rdp<% zI*#vR!x+1)AKxR5vO@cs2SPj`&~D&dcdlJtZWNalCo>uUY1J06_-TB|526FqEngx8N@S^6EY{kn>ER^$^X}Lfp7vZ|@{~!wLdre`l|0_Es`irEgfa+Bj=4 zi;E4SrE06Lu17=j+6K%Ej!jC=Q%`&Sb1Yy#vuAbiS0y-&D+%%4!HteR0Sc2}%J|EX zdkeF?YSs4G1eum$VrVBG*I^D3KRU_~wr;u8a(!2#2~WH*vD}fMlQY%WjC;Q|cr+-9 zeEDRYG9YfUdK9pPlUoiAlUl{bF)tphfwgya0kydNqXBPir!y~0poKYnRV1^rN`ODs z?7f!S$0K9hczBu3bqdf;TTvt9r^UBr0e3O~R^aUbb#ITakcb{m;UO%xek>PL%)TQ=>jF z)<2$+4y4OIF_TCX#H}MHaJPuTAX(M94Y0*n9s^D<{)@g-AN7{mW4@N`uRqivAhzG0 zZw4XIiM`ToVARg#V~)?6o|!tAuS}`l*6;U~{JlG| zO7il7*qv#|4eyK``F3Bz&rqM$6W!$?S-9adJ<)kR!yXf;h&V$;o~P6XVPHVTWbx{I z5@G2uskmfiFifs!hi(1}GiBRxevBS0(narGO*};3g>k;+YUx`&IJwE7@N}MChKDPv z^pSYtVV>QK1&0PBV7DlF|syQU&Gr6 zp{6Bpl9ZmdL!=+0qkY!=w%snPjQDFLWXulbPLfL+6WU`znk~y zpuBaZrj8MRZnbhwN9Qc}mwgg_p?7#2)Sc*)RZ|dAUMuu4cvgn9NQBq%bM&e;vgT#n z#>f{YF6KnQyJLNM>XvS|+fL>3D0<=?&d=aJCC*V)pByWJEAHu`vN?Dr_bB%b{=T|O z+h7l7Q^;8B_;_3US?VkK*u)a0pq#WV5)!i_qWM%#;=T&Bv7tZR<+1X)Yaj7dglYn@U4f6rfuy#!WK|V(g0HVHzdFE zBZl%`=-Qpn3FSs8m3ZrzHn~Zo@UC^zNSIj-zA~gst0jKlUE(iqy8l@9Gh8GedPpOB z=QBL2MvM3t#?6g$(Rp!kwsrXJi-i+velyLyY?&7e5I0D2c&|7I&aV~EPps{P7yOXG zu3L=j`Es-)+`>Hn8I7!QGIA)z%XBqBVMIEt^G`$1Kj<5%OwjP%q97-y;JQw|GxgxE zI_g1(W>cb&J~zWRunbr&Ka2G;$vBu`=R$e-H>@yCzvU4*@lI1arG z1P*NUqA>Q$1s-dED-bLR#3scqwjM1t&`iI_O&@}{ra$PSSj0t01Vvn|P4hZ+Hxw)@TxGG7bVg)Tqo{1WU5zbVB5UofH6Eh)j5b{@0c$XB`O zCLu#ikUZTpy)du*)zG`^!C#emyxsZ_HWCzZRiC1s;$qV0Khk)O;>3kn%|HEhTrGK9 zJnzBq`nwd`UUJMY%r%PG?0LpQ0`Wfy*Gi03z0LZo6xt5GjbV@0W2-Hd6! zi}NoDB$z$Ass9rw2G&OQaujAr`bMhZ8n z^3+Fe&C5&we*)bOaSN~UWWBph^c0NPAZC>Zgr7J?{ZXq2eu00CY`^KGZuS(o%25%zw}YAzq2 z%2nF6DxC3cGHpF2oO7uH0RkZHK~xueiqgtE=H=zy`xC-A-{HZU)yr0zL`#d9pyxaB z+8CY_6k2ti)YOmZW&3=SK7d3O$Q_&^4GtK0CYue;MF_=KKdKmY7aAr)pUDzv!5$V~-?hBjYCJD*of zY*J?~t7)z+(@`y{O7ONMGi405uvzgaMu={~3{WbgQ2ut-!R4~YtRYWDow#lPO^-tD z>cOWeAJgmWH<9Y7(=MXdC2UY^=(L2E zN`wNCdJAU~-~D{Vtc}uGzCK_Qdah3-n0zVj3Cpo}|MgKZ>ap;Kvh-~00r-ryJsrrB z@MX)OHv3ve2sfGN$Hx?25KgGfZ0^@z+tm4q#iqCh3R!zz%1&#}HkPGM@=R5bP7*;Ou()-hHYrWg)_>P=(lblV#^L`Oot9~u_xRsB7FhF2aD)Kx`l z)|IpWq^zl`3jQ5)BfU4L1{(VL>JpBI>aDQg!>=5|>7jPhZbO8vc z{cFL;&r#;7jgP&cueUSE!P(7TMp#(b>6yE|u#KI&vxl&=?K2NShi4urVU)Y)e@fQU mj)8tsev*!&{_euY&OXl1gaDA*0zD}J6Qr)9gQ!({68S$D6P(=u literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/VisualStudio.png b/admin-ui/src/assets/icons/VisualStudio.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4bbe52201752e07a88a98c9dfb245c676db0d7 GIT binary patch literal 14959 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 LR}iZZF$nlSH`=G9 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Windows.png b/admin-ui/src/assets/icons/Windows.png new file mode 100644 index 0000000000000000000000000000000000000000..c4dd1220ca0cb074e32624f5f2c03c2834b644d3 GIT binary patch literal 8300 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

    bSLgk7mD8(w9p)h z;EGOm5g{*R{iHuFL15uP>Rr&G`tDgvNVw$}FSHsnEc8%u7#ero`K=c=V59`(9N885 z+Cc>A{V@D&{x(4KRouH;gU#cK@Uu0MrGeY_1t za|u9@SpTnFr;K2a)8KvWI^50&Av#~L7=us(fxEO1sV$?M*f%mwF6nIIjqpZtdSl}V zS?=AR92^{islpHuyvSv;E|3Hqwe!jkJR4E_Izlvzx(?a=G_xN2BBmH*$=hv|uAXP= zMnd3r{rr!=oA#Qs7f7EsC^J8~*L`I7<4waQY}^-JYCG3+l)F#^L&(i19^AvC09@vR9C7a(ZI4}btkw5!faA&u=Bi|B zXeE{ZSYgc8hmNJ%Vf?JmT{w7DsV-E&yFuP7_~Nn|sN@!KJ9GPIDSay&_%Gkx3}zEF z%x@^A{o{rHJG3i_`^Q3?fobUdnL*_gjQ)&qRhDByOJck5FD%{K(2?8*C!z+#<9WC| z>9Mp3Z1Wpi`O30=?y2B}#!x!kr|9HV@8)6uje}v#ApC1a6=x8xlFb-N0JUO@bMqCb zB8@YFP&|0#=!XZ1XsVd{?|l+*rvbMavE4?btX`#^P#wF#^(X_(jOjsUO|yA%8v&^m z+R`5L2rckxBw#wRFc6dt1yAyPXGLTH6Cj~R9mihjc2FXf40YY(%_jUq-=O2;V*W$N|Y&0Q*IpX)U&Dy$P0Q^{fPsW_E|;kTzG;s zGz4UeD7I|b)1!G7n)(ejY)Hwr6*R18&ccema6lYn&Dw<3#TAO$sd=T{X@;%K*wAKR&o^J+o&y0^iOu}z*4o|KCaL)b`i@HfD*T*1M~ zHosq!mh?Jwrdbjp`=gWf($&r*FEi-Zzx4)71TsI0mxEEYx%=#_m)kb)6Q0&%CV>*X ztw=Htw(c?V?TLKke{-*9e|z}~ubuV{7drduf+&-CRyz~vhoqVxnIBX5HLb@9r`@;i z6dW%$?64V6I?Gy#t&cRTJ^Grao-hSrcQvI9Ca}JgvE18t1d~K^=sPZD)_u!pEl0l( zuyDE_D}|v@j85p7Ojfc@cZMv6R`q`NS}X6)^vT7hvh3p5g*0bcn63J zg`BzOWL&2OD1@r+4`+(y zxLn%J)y%p${!DLbA|+wqfG>AUn1+=g&-=AY9i&uj?H6{1d;OmlG^S+yHn0x!8>B8= zBU28GEI;BhMw#Cqwzjh__DorN`6Dr&_1IT~Fl9YKg@wMph{{S4|GZBa68UMrL%Og@ zs*co)BX$0jNWhIVXqKY-Tn4$F{eF$C*yDlNL~im*$r!~;uR zs`R49umZ%&04U!PDC>O?RA=%^?oS;&WmO)Fs3fS6Sxir3zl<%PeJ+!V!i1(dSD+Cv zC5@DcAGEtCn%lLH{e>z}IGyzSDkg{@Oe&`jO?QD*Z9D7NU0!O}qQgiG8tyzFvu4-z<*z?+ zZ!jtTnTld^5zNofPj^9&5U4MDU0OJE^)DYi0^im}KdzO%k#PQO0Dj2l{>*sV4emnE z6;vRgz_D&$8Q|du3GRCN?u6c&1#k_oI<|7akEMCPFQ&09>7;@40>SsfK%=Lvq?w-k z7n%k~0)fHnfc|X`bpW60S7QS1$tz_-?r*xh(d^97JjdCYyY6a%xtpiT)f`?8oyF z-ggz=a`J3F1qv3pw!F_ogIoM5b^};iY>+J3@zE1%=U(2dIzs zDz*+FUh=NB^B|*c^4q1F@3lgMZ3WEp;J0R!OvLQZm6`6ul)mD;P$p#TIn$b*c(UsD zs9rK46>VRqUqvU1*h}!SR|ZezNIy@?uTwcmfIsaGst zd{3U!^FN)T?`)JQG}9OJK4Bq8o03bB={FQiW0esxhXqip9nvFXmD5RWRaJXTD*X+K zh;5%G9$yA-gay2|(W&d!h5t~f0zE(FY;$-fWoc;Wwz{4yBwa@zXK)tS^wb?z%Jw+b z3(WhnYt($0EtIOdl0K+0vp6A##th{L&Dl2lZXvg(7van*@R&l3~e?IWt_f;`v zMO%W$O0(QEb1r{h|ISxFF^+do9hPVvFfojn@JN_R z=b${%&OuyWZe|{JY=L6et4)NAIL7?>G%m_zMP5ogN?eaL>Wg6K@lH~ zc9{|i4#QEV%NvQ&hy+Qa;qK|MJ(em(CSwrY63d53ax-eZ*78Iw|ByD8mgY{pV9Cvx z1tDblb5DVdb{u!f>H7$9lQY5^tWm18I_C}3!)nV8Ob*}*Y*kJIX=p}f%u5((=|T>i zqT>lrCQH~}`9UaUpWa4W&kLi}E5{y8!Ri#{PTx{9yRwp3n?qPQ%e{^)Rem6%GX`vE zZs3G5@kTd6!2yc+H6}tg)r4>NsJoIDkCKgzttu&Js ze4D#;7k!oyrF8FQ>LH)*@1t;0%Lk=Ce$tWBgjbK-U2dyk8l5_1lAGgdzeK%SW530> zS0r^@ne%{XTCw)u6O*~RoO0Qk^i11%#dLaA(*7BhNoo6)`QCEo1j`MlsO|^`o4rrl z#-1vpA|b+R)_K1Hsl(wt2Ziy|H7o_{Vu75NmQb7i)n6Lxv!tY-;nnEu|00$m⪚m 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 P1^`thEku!`W$1qZo{+N@ literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Word.png b/admin-ui/src/assets/icons/Word.png new file mode 100644 index 0000000000000000000000000000000000000000..0beb7deae7b643dc9aeb6a3a377a92723b853a04 GIT binary patch literal 5714 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Wordbeifen.png b/admin-ui/src/assets/icons/Wordbeifen.png new file mode 100644 index 0000000000000000000000000000000000000000..799d6f886a902397c98cc5a2165222c3ea74fc87 GIT binary patch literal 5664 zcmc&YS6EYPkcT2gI?`+qK|n!B0I3274Nas-4J8yYROy70P@-OtBF%;%<;q1$Xi|j) z2u%e+5T#eIG)*9pUIMZQcOUj;-}c)*`A+6c{maZZ^Ut4XVP?p4{M2y(0C_MiC)A`o{YOH%;A$^ZcVF96sB zN%$WCfPn!3#T5XwUI2h-U=Hz?HppPRZDNQ3A^7ZGC&hw*GtkIB1cXL^UV|QAT>ubj zHb&@KM@+0t<3eo~vOcVO=06EBQ#kPd$qV- z!JG-OG4#!RTUu6Io@5Cft_*q~rWnRnGCZ7RFZ5SBg0tjUa3{dYuP6{qcG=nw@;IF` z->{AA$JGpMuk&$3MWgWnO7_3@ONw;I^zz&dYF9`{)?l;wE-dP$(8lq>=QZ zC{b^`*H?SPRw$7_bmrKSi43feZfhPDS>ad0%xB~*$SN61+`UORiA)u$^O&)Qq5$S@tx(aaN}=i^LVusulG zUi99_XGAKqbq#aZwRHHgG#YcLv5DjQ+Tx@{L>s9G{QdkVjf1!AN$W#WW&_zC`Qxx> zv`;imRQP8l`w6QvDR6)C%CpSq*3a*)7UvyZBH!)cykRrHY2g^VV~Ebr0^Jsmj9d+; z9>KpX=1gcVjEg!$H1JTyUBud3d2)S_w{ap33sY*;g?|yLJg7B2Jm{48$eE>JUgc6n z5{EqBY#FneZ3ycTENXy>RPv+`Jsh#Uo1L2vomI+L6OUR}n%)FXa7qb2it}aZsvV57 zRaW3eu^zPhuJHE`6rQ9$U=|q?mDK_lhX1 z87?-=C`;Fa0fY0b#!kVe_!lW2|BN@@Nu+7vBf5rcqd<~a(^~4Pvw!6g={-maGR1d0 z*(;W6Y7%>awjtZ*Kyy5jJ_qotyqE}9A7xF5yvJ>1>qDSv0Z}Kd9BK2}fYNW9t&^E- z%tR^x(=KY5dZ)^C`}f$Gt8QC{bQ=Pm-uS?mxhukStHE_vI# zp_xps`(6#^H))*d9^;bKM;h2p$#1%sCuK#pSvi1FS0CTo5IE3v>Hhf!0SItgTu<;N z2S0FvO;6DA2=eL)o<4#idIh3P%&r|$MjN1bBgjS_sh=|{cmObcb6_>T18O^^K@z!{ zS>aOo`FN8rJGMBJ12zP^otXKz|X+AJAXwWqFSFm-3Xl?ZZvE* z_d6o5GM+q?>AF`XZjUyEpVCcB*1 zjQmn~QiUy+SM|HJ5eGjcm50sP!y~LAVK)Dx}H-$y}X z<1B4WXh0yLcgf_&4Rg^|?7{E(`M_U0Q4h+9961?Hsz!pLq5xzIc`rSkpM&+mgR32{ ziqRF?mdG(F$r`h8rT*0{Ccu@8i5Ykk2QUF+*YE&v_Z%Dm8u%dqaO5w%0_c@C5oXr^ zTQN=|7yK@gxbZz%MMZz4icBFiYhy;EH;2P#bwZ5_8+Y37sd$FYqWA4voBxK$o6L_m z+Ew*`vI(Cyl!%^7VPQv5C}#PzAD^Q$KgR+05)v+}*4J-tC6%Kbks8rNB6VaWUINCN zAYNwYg8eyEO8M1JnSXz?~E_C*6sQYm)Nl8l^%!Ze5nURT!pOSY14rvvD@C#(zWBPje(=V2SQsZe1v}wK|`O8;* zZE-M4r^8QPEx$@X#=MD#kB5G1I8_#oLr#6b17F3ezHsaAPu}r z?z~r#G%V$N_pUGX=U})?g2GL=f4Q<>PEO)*`ntRGJ3-H+;@%~DeoBh-*h>;#U-Crj z)Ar)xjvdR&k|bWyO%@%EK{*OlP?+0MRI}si9Eb8(>Bq8(~nW4(j~5cIxn| zm#MMw&6`GIcPWN9Y;7+HaU{$yndj$apE_V{>^3{68Qz&`US75^n#P!z$jfo?bL->3 ztX6%x9cclVH5vCs=8?~`VShcv2WEn8j; z4b9L0_17;SsBrOF$1-{ty^>%VDabUH2(-T_aZW+2;wo(H37RW9Lc%MP+dqpX$$P^i z6&OrEHF1bz{;^4il^ub%N-n>yq%*e8|p8DYo^=%!fcQc2}mFV#(P+kVpg}^}e?+b$OY3+NqNJ z5jzvJqcwYXU)EB-1b0&5>(_-lQSOJto+n?wFf%QEc#);iLKLkYMXjG~C*nOW=Ssu=X!b+?uE z3v#Dsy9-LX?V(+SQLG&UsegNxy@hW~AKxZIZD;)Zkf1J-st(UtVZ50MSDMLPl*65y zD|NxFgUKQX0{@mkDJ@@(>2R*@u!p*pg9|F1Kx)h^k_iGvE-tZT@1*7NkYA98G98M{ ztf?is^_X%`cY7VYeQiezD`}an`_*+>v%0reW+T+YX>p?Q*B+c^dFXB$sfnua7$+Zg zXDlwZ%V@cRyJ1+K`}4@J4|zS%ao40&Gjq3evDm#mHntpz=~o2NnmavHO;VfJf`j|7 zK&8=vorP96QF_O~QFC-ACr%}%#BquC=V*R;$qFid{MaE?oSIr$`8$R&nmA%@d)`@0 zfBlS^0L0?j=KGF8@fSp_Lr?1vS=Cr1?-B?9g=$Z76! zUrZUh@&xbJppek~V*IsE`h#1TEgQd;QmeCPB{w%c`vbisb0pz^BkEEk$={QXapf#) zyv=@(+bZGFF7Cxvs5C!UJh%<*+S@#;f(F@NPRnB@EE0ixg2KWWjDiA1O@#OD+{90Y zZrI9k^%fkC!C+?_nvN};5q+G0)!hJgL6BQUTKc>OS=Y+$kKV{FG0PR8=)K&z+lMSPW_h`1=RYSA>q$Ho0xxgT#B{lfBGpI_@;>g(yVRtF1fWx13WAPlP2|JlZrxJ+j)T$n+8x2ZZR z5^a`xKt-C;jIQe1L3n%d>iP;URflSOO-6hkRUM;k6&~n`}taO?uz$e!-@NzZlt&Y$OTi7Z~v=-rA~E%>58& z=nIz4f`T8HR}8P?A&-wHQC}TMpLxLkGP~gLpo0A^;q3Rh&7Z{z3e(e)&z>2k83d32 z^159idMx}Loc|UPdv1i|$Hvd1BAS2nHrf4QUTJxD_R*0h!>YK$G#VlZntV!epZRcO zbZFRuXaLWNjPrtknj;+NCtC1G&U6%Mi+(jkX75Vd&uGZ0BXKaYJ0F_og$5f8AvZTS zw_g?+1qDS$UMj!u^XKFupc(kBJHu=1+6|M)If!H$pl6LJ6ScGz(Y>KRT)jp>_}W(q zk5$)X2+)eY@vyZ0Pzz9$(~5CAuQa%{j`-!?OOJK24O=Uukq&AU9FvmMB>2cn^Xqi= zTNMS8Q4^K4h0X-Ncp9@c*aO#ke3kkA6-bEw^vSWI+|l#q&JxrL`Tu&%{$D%WPo03s z&mSM37%e7o17ag_i`4g~EG)!ci=)cQHh^3Hj+xTo(&uy2=#uZ*!0Ob>ih4+LGG>$s=-j&^Fd&Ua z|EJQII-PSZRn>)EQP*itV*|~f9B=FL^v}fS`1|=epNyzvRH8_sqyHrNG9%_IW}RZM zo2Lblvo55ytf$g^fVSIH7dO|S^j2S;;v=bK=JR*Iy>U{vXmWc1uBT1;O~+2$W$nXe za0^sIMfoqjx?0{dweh{d@4c42;#a%MArv2e$6f73fbsT7g~IRIz0qjgu-x=!$s$o8 z;oZK=KSs_-va@)GAy0odGr#H8bmogxns~$%sXHfpDVNxrC^X7uL^W3%K-t-#6i9t$ zwUj|a@VWt#dQ;`MsXun--v(LrvpXaENyn!b5J|qpZ{lw-_OcHrnzvqO-brhAn~C^v zmPlp#rn^X83z=h(_tCxejzv{ELA?q@YU1V5RCv74@9STQb*AAn-mUI4P+8|#RJaZ> z)j1`f8@%pYRqr%;S)n5406V>jFad9H;%`hghAkF7*q)K!TztEbpNGBS{PbXL7!D6d z0W$bQdJxje=2L8KlgD(qXWk&nw(gxD9%&g;d2yoV?$+G_`?-Af`FEo4(yfBY3|kW* zuz%_z*FwABWS?)JyiV3E!M&i2AMz4!DARQoH+kArn{ml&g>2%J5%5 zmL(IrnGzr-|Jt#ru!vI02cNf>br1`&@?t)~h_IE1bEV9#4jM!R{JPKKqHZN&zL z5w5dzz?1<1kPg*HhTd@tMQgbSqd@>D!<1nPFbxG|6>B9;Etry)s1N96yk;K6RO4=R`*jSv#%sdd{e1g(Gx_69t>@1nJ!P^edc9~$a*$Isgz z>g^ujuiz2j9|{fi3;ct*XnID5X@seJDu??)?E-@D+(vtQp#2p=OExdW?}3H^V|_D3 J@F6=N`C7sfIbIdtq>M&U4%C}dBz zvSjHXlci<~M_DGul4Wee@6|bfoa=X;?{%*0_j|AFeedgjpZk8c`~KX|=Si@!HWN53 zb{GHv0ds^g5|lj$uP_hzW%mSr0tFYw(8>@1s#5rO-MK-XBM50`1XK)&Ge8A;9f7n0 zfQZuoK#T=|ZSWUy4gf+_0N|?|0O;HYfaCrTUf5m)8+fi+ni+!OLLs3(aydNl*+EY(8#TirM{aW+ zinUD7g{>~!(|SIyA;16AOu=mK(yTythxxZWk=^ZGx!i7%bMort%|;fNa|T8cn&WeL zWSx3=bx@wJo!A8n)|_aC%xtMh3(f% z)O1h-Vu~(+4@5m9U&gNE$nB zl!Cosb`^~Iq1Y_ghNRlHaSj#_hYBOi(-IS3rxa)?t+*DXLM4&DLWoTJ!QWfVEUa(^ z;;mPl>ntkIz_PLw`V=G=dV6~M#8f-S$M)N#)3j*qT?mq5s(;XC12s`};K=|T>6FXV zBf_+kKWnik_ua2aJ2^U5n>yF^ZAgaQS>mL!i#Cf)`U3mN;j6w&9NRSm^x{FwpxMCM zxXO+Oj;*ozMUnz4B&&(0tspzKa~0U1OyqKn_v1X$@*(`Hb0d;}MAqZR`*F@N5eL|F z;R$Y7@M47?b$!g|am`O8oskX6mqO1^y>gvuBFP>X|<^docvVDLGSD?J6GYMeVy>CFgNH`g5Z zBJiaCsztM~-aFJoglDUJXEIN~RX=+vHg2AVE*h~UuwM{#UBJIK>uluF)K%7J;9_S8 zN>i+^rD(~&cG|D?&@WBzaaq+hxFz7+>kl>k{Q?5@4r_YJ^}D^A9JV<@uB?ZgxArQF zWyJLfSIR0Unr^Oo(tVD^7c0fASiv6@$oIKq7q;CqEgl-M#_nv?`OFSv(P-8Mc<<_# zGb?-v2Ai|dP?4;tXzuF%jbrbR{_u!QF0tg~MMp3m+akTaBesbgGX<5UjLBDDzmDSq zKP?i9#zrj&tk&Ic-=8cXI@_!pUjgvt5;Ze zBxWR|f4DSg=Bbkmih#p1icD7cc^4+TLj6`Q!&B|Pt(ql2(6SX%^Q4lc_TFxYb)KwD z3*+RtB_|-IAG(mKQ14J!DU!aIM0}Y+rK+lKmKJ<5L~P4JATQPU%=eApK$xI3LyC_N z7(4|F6%hvV%@7MvC=huk74{^#^waS9f7j|eR58BsO)_=sdf#1yC^bYfxp z2dXH4@8!L!TAPTO6LdoJU2v?Tp^AzDYr0}{N5J!uS8>K-O|LCiX97$D1NitZGS(P_ z`cEnwTH1Acy2m<(M!Te;%jE5C5-I5#5hZeSIeC9P zhUn_j{G^UaRuA)ccMqsKb`V%fZp?U!!FZhyJ7P5@#Z*^UMx?Z{u_|CfpD|o|y<2}z zYh`e->bjCr`Y@GBBW+eLN@3$(-K5w*+1tX1CQ(~hwDIdFIXKQ0Hb*jPVSA;C5-m7- zeME>;?(lf@;?%c42=e3%-L4Fo4S=6{F#p*QD|FS(dha5htk@$y`BAKUIp6; zsS9p!)4MQkNb>_pA#q%Y43x-SMR?&F>U3?9Damh!UnFwWOEne1cJ48`xSq)y#0)>4 zudw_$cJiW@qGdYr=bw?j2B8KCs5F=hf{)M5*4x|J+0%2X6}|A%cXRpU)dat#q=p;( zhhoBru*~eyC~nnj#_0S`QS)Y5OVA;;^P2Pt?Z6&k^S(Fp`cqR~8=K1n@IP_Y%q2Yh z!-w?Xt!ZxVbah`xmaT)eHOr7Ln-jcmXXWk95<30bsDpq*-FLmz?x9HBm;3SV!os58 zeiAzoee!gFo*ed}RCIK#qA)-dfj|HiFxLQ6FqdBPac}_tk%j_*3>O#R7E1(v3<(Jd zj_s&-06f7Z3?&>*N?L03BXGOj1=~9D0ff1?x=VIfXlTy+(oi_0tGz0G_1mw)UKI10tqa{Q33bi$l?A63e#V{%({kCGIKN| zH=hR}p>LaZ?q+6wyg9+Id_N{qoi;KuBz-|sQ)7`X*RsDiUs;J(s;jTBjodC}Vua=- zAP`q97VAxG+rQ^Z01w}-YM+W+4dx&5l>WRN<%08m%<<=-*>YG||@H+H$z+{#Wd| zA+OvHR~ok$|6|(x+nzp?7sump*s2zY$|X2(FIk+?+MqjW0>Y@Uej`b9v^*nOYX3`y z9>KSgVfhw=Ep6nrDgVeH20byi1o>>*_?Ci(T3j*T8oQY*b7dj zlik!@O9$6vri*J9s{`x(7q~?HG(VVfX zGt+M{zo$AolSms&4K0UNIz)cFs1VxqN0xu*50Y0MHb~b#{GG1tj-hj(n8+DlKheq)KR$cx!>i@yWyh;yH8TxP{p|);) zcSpwb*zwB`&wL7>y`I7x$N6Eb2Piq{=)lZ};?Sc(()+g|h0uD^RZ)RmaI&_QW;Pw(RL{zn^FS_EZ3X z?gT@w^yhwI-(=f(&HSVwCugwVr$}jT{-dKiDFbpVGqYBmuv0WNFn}=D37G0hV~uAV zqLPx8)eb9WMUmJF=FmS>?El}MelLt55iAEuBuEm}fI_q4^|E70 zw0sfey+a5@#qcGgIX=PF>0|~6)`B!k9d&LFZ2TGqlDdzE1MKKC zx_}g|n2Gdx!aT7ul}Gd{{YqBD_znU@$*7+{H$oUG)%FS()ZgcG0D1v8=R`}ZhBlJJ zK<>0>^@e;Y{=1>XyK?F+&U#GeJwM14K2SgF>pVy^iTPSh>$;^C0|)jXg`}(7M$9XL zB(+d(v1jfWmW8M5PIYN=XxoO@o6@Q-sa>F5Rz`9x>tm_}EinV?6Vxj*EnAP6dI!@w z8#20Iax6jKl4a>q50Y=-{G!#OMrqO1ZcIsJyCz3MKz^uH4tU$p1)!(>+u6FGr>7t+ZNXazr~oAK%)W#AAqO^T_jLJO5e1n^q0 zmU+9m>ku*a@N*xE|MS%`lms%ok*OUe>qUUOmU?~MxfMKR+-tyI7gji8o5N$FIpIq< zPJ}IUqE0EHo0t9a^AvC&y$IH>D@>8m9Hj}p9c>1qIDl8a{kS?VJ(W~PBoKF z^JNt6Am2fTPpe-0cJ)kxi9vebn{_ok`EoRlAOuL|E{)6S?JOiHm^4wq>&l>cCbk31W4Z>{raqK*eL;sp~0T%24T(+V!xlh^y!bK7!1id5^H%XB&vBjzjg zOm;*0;x^hpEqHxodpHU~tMA`92e2JWS0C8fi|#C$R^OF5jje=7e6utE5X!iF5`tfA zqTUhGsnq?MLPfI7lTr`v4xFh#L0fU$YC~VP1}?C=m`<^o+d~buz?kpd3FsI@cx!tZ zW@cQ5@~B?IPslvuG`DN8D!DhKxGf}FPE=GoMQ4>#bc+2_Vw63YXmR3%&S!iUk6^Hz zb_vDJ#(^QNplIn(hOn@zV?PI6pS*=IzL=K}v1G?WDjeWCAr_1XtHbf1-r;{+>y;aL z56=#svk7j(rwK|17c6WGG5R$x>(e%57=tkz^vlWJ^nHLCrg>OChRO*5fNZddWAF|4 zU=N+^fgYd$R8>?}lvK2oRMqUxYwM_-*SVmosG_B#qH^4M4lIU$bHMrCzjws_aG0YkU%WpiS_l+QC3#=^22#3yWhZJ@ygiiet0EMKYXxqFwXzG n=BkYe57i3Q#HilHDLZ5R&w*VGp0Ydy_6V4pSQ}Rux!wLBn{V*R literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/adobe-01-01-01.png b/admin-ui/src/assets/icons/adobe-01-01-01.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae818c51cb4bb13bb3792b2e8809b34b0ad7c87 GIT binary patch literal 7168 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 RHVkP8Zr;#StGZ?v`9F;%zyJUM literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/bianxingjingang1.png b/admin-ui/src/assets/icons/bianxingjingang1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4ad4249c3ab1862aaf0b28f64dcc385535799a GIT binary patch literal 27364 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 G;r|D$&P7uI literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/chayue2.png b/admin-ui/src/assets/icons/chayue2.png new file mode 100644 index 0000000000000000000000000000000000000000..21360529dd2c8742975c724c90e8df98ebba16de GIT binary patch literal 6963 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/daiyue.png b/admin-ui/src/assets/icons/daiyue.png new file mode 100644 index 0000000000000000000000000000000000000000..b2800b8346dd240c7913da8c3525c0eb39d14bc4 GIT binary patch literal 10512 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 DMY#9p literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/picture.png b/admin-ui/src/assets/icons/picture.png new file mode 100644 index 0000000000000000000000000000000000000000..53ea37e8499dbfd630d95ead1057c517a24bc762 GIT binary patch literal 8674 zcmZ{KWmJ>z8}ML&NViBkC6y2*6__x(TN){e(cKJ#5lTr(IzURAF`7|=(nzPE)Br(Y zbi5D0|9L;WAKsm_-RHTVtM9As>nvJFOPP|4g$x7&QL3uI^nkVR`b$Fs{9g2VEdUGA z%V(O;K%nY)^79wOz%zljp0YfsVu)=Mc;K>C(bEKhf_Olnh}R&{DX0Rs7ofIv8F z5J);51iIys)uj6rctK*Lt_%ZK;B%tT91biuJycA*fmP+duhKUcS%6}sD(sm-!0gU~ zQwW3otk7Or>6DNEVZo0DlW+2!LJ3u*d=Mln>OJ{)AzdcjXUZKfbZBXMjC(0z*5;CX z0z!{|-S%C}i+oQm@N+?PCzNT!`xk6;z#+BXQfpZ}VqLF@*;cxSB6UDf?{aBI$k!|jtbHW-XA_P@ z+bNq%i(yZ=jyi4t05}1dvN8sbpruvJ6RMT(Lmq@DEKu-@7j6TI2OG5no~)MRd(4)}?DqHM z!bF_t@?`Tk!Y>0s4hHEO(m5g!h;-|I!P03+#DP2d&(IS@XXnbt^<4MOTTh}$yh=SE z=!Ba$>h0Fb!(fBlstvZYb*bV>O!J+yHP&xjk3FEFH>L#5J|8X9)9R|1_&&!U{J^fI zGcHlEPR1`lVRCko zKY9>DQh$}!T*Vk$zWBujA$#)o*ckr6y3bh6GLSgn0zYLX!8~-Rs_Dq}e(B|d94UHp zLq!TW(41kzf3R_!n^X}!O8%hIEn^>WLJ1$ka@eh_y%;*@Tz+^Dsm7Xn#0ubU}vnvgs? zoMXNGHOzuc@4dtLYvNlnzTzVi8Tpmb`Sb%n)_$?s|*Zmqa2r z()?_lZ6G?n7tz9RDQK@>LoQ4%`%{c@7TmP7#PTOqc#1Y#WhWMl_I@c^^QspC!T!iRY!x!(D&>%Ch@8y!5 zuYsc&xDGaGj>VbnGX#Z-(|38xKpI+IebwZ`6JlafQ1XG7U;W}LuvM%h!FRX~zm3&9 zI1D%tib5jg-;6(N8{bJKfcLfvrTqug=TYKaM^eL(a`R@8u>uTs$F}yMxf^ynp)FOk zVV#kdRxBkb`n0A80>&BQu1p^Ur2#;nK5#*kU}r{ZumqShCu^t@CYL~W;~rKNQYIt)-lysR@Mh61Or_i;jiAoH^2Ux4b( zh{rAXt&7DHr?DS{4$bTh7k)*x-Y=~O(qF%xH|G+YfY;B={yF=zWMyS#Nc_bzbbERz z8=J(f{2o5XbQ}ypP4db_2UD{pL=3VUxA`3K}NO&|< z)Ns?ZBAMK(!%xFQTT2DV_Euu;?VtF8yw^D-tL({jjMnxiCUK#YNIng=4n=!=x~k3m zlwD&(f+|~Wvo>QYYKf(+goI@9(=)h|($ytYK5~?KKs(_*2mSz#G)|i;kvxu$ACA7;$P+pU%ZisAa83d)%d6Y+q^j}+^m3-YV9RE&J`v#C1CH$vF zE^-%WbT^jOmB8w04h}itVaMX{-@c`K7yUONq9}JVXOo6jjFGiZTPa>kW8fP>Ol)$} zzkPhg=L^k@q%3nC(0qWcJmHZ859%}Wm;}NhDu*`+3Th7vGR|)=RDUE2Bo!64u~dF~ zS}~p#*1o&(1)rIi{t@fbl=ZI-?gs?n$C_CnWDc}*(6O<)-wmXoF=57Ayu9n{;M=zy zYP&x9i@_M;AoU21+zMBz&I#or-l6{S5-r{v9Q31`uzB^O2jC>4IF54e@0$Z(-)pM$ z^^?P?RAKjE=HSh_sbv){s`*aTBl^r|F&3|*k*|?1TsCID&N+7!Q28<(tz}#&YdTNL zf~pY*b*;(fn2{gNn1!75Vt+;$g9fAm;j`_C{@T4^p}6sFc#6cDmi8v?6m;G#IXZJv zB6rSJR8eu$f|!;#86Zm))v>ofT0Q=Fbo8k^>_8m=L?VlQ0Xa&(9GtaUww95~@M`~S zp&b=gGzUusjBJ%xTyyl^%bPOO&;P$1x2JW@f>&NI8otiinR9XJ@5fg}A|qA1#S#WH z%gWT%@fDB*_@cR?q0#66P~w7ajVw-9%6YE*dfpqjx3(`QzZfZ*AMU3g?R@NKs;)X2%9+hpSr2>M)hdX7J zm8FDZKN@)_GqxAZtgK9K!e=_~)5Mss_{wW+vpw!x_Gkpf7uh$8jzSkhF({iQ*`L|| z-}{gL5Fc)jhAqh}c8k#{5*RQ(uU(t2&VGWJskNx!kU6Lj2q-u4KG>+RKYY4X3zAAi=`C^~H(?qCsM zJl_0JV_EI-+Z&t*0YQgEYXhFm!%wKIX6$B)e_h$nZw+{y~7bcxD>-?>-g%`B*TG5?BQ@5MlDit*R4 z4t5(Bn!hTVg=E_lZdgw~z%&Q@x0c-mBFbw!{V+1Hmp%B%ZNAuF>@-u_cQ|KQ)>ff# zPdu#UaNy1~tFpqBCF`xU6yiAc%=GlkGJi2RS5eF1Y_)B(KUla$$MkgR3TL5tW>)jN zFR|PVA+abKb{@rfQ1Q0dm4Rt?M^zPD=cM(rNGr(rhu4pyC)q#`dvQ9mqg52jyHGvt@T?8a z^>P{SygSg-wW^!%x4T$%$A?2Sw!5rhEM3;Z>;d*Z71_%)OBUA5RHo;x4E$~lcVuOs zG+!{?0Icz27CqZ_7#Zo_9=fk-y{RXdz!&KsMDP3bD9f+#4(@lCXADteBa^y@2G=lc ziNo+@>e<@5S$TD}>rv=E>mQ#}?l-FTG^%NeWxCd5amdkpdO9!fxv)yX>Y^#!gmV0! z`P(Y*AAwX7VMJG!frScDgVX`(f%Z!o>1q~`rBq*CObA>E0-6R?uIGiy#**pRe94iyD{9WueFqq zE;_{^UM4klvWVJaRB?3F4YO!SoU1Kc^5v-yX~Q~)E85-YrAt90frFx&(%aT*9&(9zV<^UW-5bj`T}()NfDEmtiXE9g0LWoPjWMt{UI~ znj4QS)5?PV^SswT3(^<j06wiv+8@Tu-6k#g3UC_b4?S~6U{#ZolBE5Bd_(33fDvKLGDR@f z1YpFtk5Vf+l7ZyaJyp7dWZUZQZlcNI*wF;P<__z}gj7)vGBu!@?@-4f*lOFba0_;i zgW_Rh;~Ve=Q+<6)s_SxV23&v0@=Aj^+207zl7?(o*VUmQB!ne_)6iMu^H$N201XXO z77-6?A0IWfeGGbNhy;}n4(E`4%EKeZSo~$2Wgu11(9qr<+vLlu#U=^*ka7}&Mh9`q zyooWXH3!NbGigEU3$PRSN>X??vY{c4!g{(YojLx7NJgE1K>6Tuf_*-1!(QixW7_?Z zyvg#iVo48Bz|q2WD+j7HzAkRH3LQ!sBrQ0Bo%NJr?rG?du1_71Z~X2E@>QAI+Rn98 zy?W+iZR6wk3~~70YjbRD3`q3!yysz+#=EtOL0i+hXD8=7?iLkp3qanNXXiv=bkt(% z$v5X4-Ta4hPQ~7T_1UnlmSn?j&&&#v75#9Giy3Pc7$XM^%rp)CsA}#xkd<*=sA*Ws zE~K7w^RT>QA{Pk_Qd29^iWvO7aEj_15uxE@a-~6&h$rySsk8KymmVLFn3g9cp)3&d zewj=(zvu@0JhsY#qn`t;fl?P5HPR=ZD=%H6D|3BI`NPOtH-JS_hm}9LU+{l0Qn3d< zwKHzi?GpmVR_vU)88_|horcx;o&xDafjaPMYY^asuCYK>usPZ3j-GuYnXgMu_?Eod z*`@P!cQ?>?yEQ&U$G=5jr>94ndelBe3*Ua%@Tckcn2Np5LZ$2EQ~q3eInUXk`^vA{ z8o)57&WCVUts8*SInz*i*3Gpg`UEq!5Lj6fB7UmYkeSP8M-_vEx^yzw3;A z4D_MhPo!w8YMwWQ;5EAc={)>2;AHp0SV2Uh9`XFdGrJB zCmC_S0ts9arkX$Q@e(4aWjFpFYy;s;T!eJuvZ4FAw>;~&J}zq098fJNi5Bwg!2~=6 zBN)y*+Ym6tZ#5k>4a8k@!s|*c%3-4cuG2?^Qd{$iiBAFMU}QzIed_j&CK-kj)nP}d+jJw(qX1NU{F5d2nA_7Vz` zvz|)xg!4alER0>8pb^ua7E3q|c-3J;@HK8U5-~38)@IT?rmpfc#Zn*e6qF*6=HU)p z3G&+0k7+#J!&YFfjrj{h!TUSk9Dd}8MZdgjF6I+N2}anU8Fl%{GD#pLve7b;Dx86V zv(A`L3br;+fvdtzS^XmE>}+Yk<(BXKW>smR3L*1ldyZF!&`5?obuZUDCY=E=xuVT@ zmc{q@$33l6lv+A6B!tD##=<*Ud+Q%M75gsLtioICw-YnJ6Ju1^pL6?tv#8?}Ll^T^ z^*_{=yxB+sNtKDQ@Zo=qL>MkKD}Sx%t$o?Nu+Y4p!S)7|;KY?E3s8=}vikLvoBPfF zJfo-m0F+BH5_t3LtJAx?=2ig^#RjS`bo=@a1J+y#5akgGnunP!!Tv)yD&A$$Dm5Zr z&R~tX^8^Gm=H9b8Xg9WK>HIA?x6`B;z(QaH_n+oiwi3!!!V>Roupp0nvL5qGWdQGU zr`uW@B>DN}dHosIQxo*P_aX0#g~5qA9GvXaj)nY~BoLx97C|Tu?=6oMFee zaJD=%Rl9LZs3;jgdgOv38T0s=%nXH%GpwxJuXNYne$GvZh?gxTCcNu=WQ|&L#8@S& z3r`qL?OBRulRvC-2J&+H_&CtjplD^zMZgHy;KUl`y}Jti-T(ypGt_cp9#B8`kB{FU zii4egKs#@=37GcgFV$qpy=YUbE`;IAdU;7Vhl}mkdpv8uH$or7K9vlz^x>ymg4r6) zKcRbR-!MI_!p*v5iUX%X$QgtLMD?D)QNk!f=pN-o&vwm_7)4`oSLfQMrb}%UM0Du4 zMlM`z$FLyjIc(|w3QEK_JeFJ9bk{k$vrEdIj`p}`70Wwz&E4K!*2>j&&wWgVA!eu% zVIJ_}=On=mS>39>?_(8@f!P^37oF~w%U{6q&?_yz;x3@|PN=1>eKL$lEC)01d=bhog(v93sQ zxuIb@C*Om*x#T2(`B<09T*t=f&6|ylfXW>myHl5$DfZ&Z%3xjHq=NNsd6deeBXG5s z5b2A;knlYRhA0rKcx5wU71-&CA($4NtMqQ=G?0u#Oe|*Q2)v$si!lYb&x^r`&c7g# zXT6wt)J{%6LYsl2Tj5_@C_B}ASspT>A{Hd`@pyH9{cMbiHiU*xX@KROIrbR?+>R;) zWep)jXcc|y1`gXJIW{&qS!ypj@(s#S^WKv=_*#kxu&b{p3I2HC|E~ZQ&ax;pt9Z)id~SR+=y%Dy7hxoX(VegSD@;*vT?Ugz zP$mCeV9rC1+WUdx4{P79G`_{3Jp(QFMGjJvle>z`ZgG)mU!sq1Fr9?d zoU*0f>DroT<|1>oY4&}1Cjr@+b|hj5YJ>H^=XV#0)&Mq?0Bv=>^j;PZVM_#pDxviUc=}a z7wx>5K)VT>-(TjG|SeBo7T_7l7iGBT5t$ZzYjg(ow`yjU8ap5d_0j}}{udz#CBO86NDK7;aq z#*o!r`@Y~_zAh2rpaU>6gUA@VAIR%cE0#k(>O}%Z-k!5bu9`%jp3MF-~&3ZpuwK=N*$?EP^VkzwmmT zMWJ^2TgJd5^!&I_@o!^B#?6~W_2~P#8^V>Ge{-)kEVwqynoP-wm>8Yt34xK-EA5H7 zvi7-p&2y;{=vM)}FL*IXeV0&`69LWZp<}0f{=l^D6;eeq>lde<{>7}z$}r%~68*;? zS3eqCmV}c`@wvFT;DtWSMg`#PG5s~8eK!%X1D6!{`@6y6>-bdRqgzu8Xs^QKGkr?C z6R+Wz&Q2WeqQB*;!moY*{UWjcS#jA9Hxu7Y8?=`^7j5=XxX!-a$%gONrAOGQ%mwxM zII{g}!ZG*m?Y3P3qrs1>OA(Z~r&iDYnb|)95lPifKZ#>~zk;|AeYkJMWhN7Nu_tN@iy-pzbAG7L5w*T}iva!ly6$ zXa41fCRzsCnUmAKVzW@Au*}do;*0hZhqT7Ff|b-;R^w+88}lkje%XotWtlAtN?PJt z;kSn60@-`GvUn=LTL<4}>Po8PlZOxA2!u<96nS>C`+wj(7{*(g>7kAgy8A$k1RvGU zNNz+UhYGrXmY0d9rd>(?DRAHQ@9BAYc3dl-uzH^?mMpeq(SqA|$aX32_Aj(;O;cHg z)-Jg45l}^uA4`>tFvnI0C*pskPAY4%B^HmjR|AJF7XNNn?!R>9>ioBAvVS8}9DY1x znCx+Wwqg_h63>dKR2)6SZl=MwL?nzeX&lj_faXQ(R}?9@7lsQWm%l$GWi{`H9ej+7 zC6ApfcfqY=0xkwEf)8c>7S=iHuD6?g{R+>PG25l5-Gp(CIH%aZLNroAq?;*KQ-nF5 zHiVpnvYY$+?aBsvdCRqbGv=a{$<7GVw!&YYwcr1e5gsy!QdE-&iIV#p0~7Z3oo%5K zr-C@g)%-2G|K1zUCSS%4`YematkwRa=k-&qS!BDK*&og<-HZIt^#$zH3JwHB9xYPKs ze$&&q(vtnkxQk(56l0eAgQ<U< zI`4awbJ|J2+rDIK)!u`tVyUg+TJL-FcWbKMa~09w*1-R0pVe41}(|wNz>Sb}=zFzqn8lr^L?DS1yVt2P>sZ96A5KvW7p}{w~PA{I|~U7tQRBLvKNB zd+y~4Dn~}7!Q=3rQ#5ePS^s-K^<`J4o^QZheV2OZeU~f$o!NhB z7s@W2R&6cI^|+v$8Mjudhb)GMFIRnLjnXG=m9H*SxdRk&OU)SH`j*l3>`WKj-3#@_ z4KI^56^Yvp_qa1k_u{fRSnms_RCIAtk~FfE-7A`boAV7Om-8e)P*o5yN~L7~8~GS( zllUdcu!gXsCTL(?-_Ve_rse@t6xc)h-PdA1Ace=kA=TvuWtJ1<0lC<-@1d5JS4!K) zas~`bYIqCZ_rvS0+9qZ5%lrIt*2&UKyOlGQS$l>?Mn*6B6+(pBWlX)Ry~?gqyP{kw z45H3%0iyy#T(0FyAR8PK{_vZ-y4c9?UGiC+UL913I*?tgJ-M<`lKMUlqA>yfmcZ?! z_}s_tg^#_ot(QHpfJ8+^MFd481w|hjJd~0ac_=L^d0#|QT12FAx9!&dgW&3J=j0Ih z|3~PnAt?h8RIfRB`@NL5dEsp@=mRnK5C|D2ik+%9096wq$MWWsPiE z%UF_iG-7CwcyGV=`RD!P{qMP+=f1A*eXeuvb3XUE&h|a=mn@ChSp--B0AM#YL0W^f z`{-~ng73fGXc9=E-g*{#08p9Cy6?sS@(_%*u|81VFSG(Oq8=vJ761?~2>^r`0N4XX zgk=B-Q2>BdR{+p_0s#C$ImFA_;0H!`b7Le(!DrW?;WkK)1(`TtKx*>OG3vRg0|1;E zrbxXjppF{`i511AU*+i5Zv|>xqJASr;V4 zg1fmKBt1|r;lwFl9k+mk%}j|KLKl*D{w@Yg`X6}AGAC*<-JwLxWMf#G)Pm7`wGSG} z*!!tookWF5o0$s=T)T$+K23#A4e;{Vf82mfHseNK?|h&8Xwcjrb7?zEMG4`X_>@<2 z`5Eh5Yjsh#7^rQ~%4tMqBkw8Yd7Liw;tl&HEOp`I{bNiy1uJCXw*JD&$(G%v?0{|A znFc$W_HwRJ6}^<4fQofHxk;gh$`l>g@;hta(&h0juYoZ*{~)hU3;nJ(PW;l`6XEXI z5B-VJ^d)w@9JA}Ox5QiEp*By~?=vtEm-Ntjn zM6lITiGzcX|D5lHs;FbXC!3Z1{%A!Oq*%@6V8tqAfPPDI%_K<056|vN-hW69X4ks) zDY7%t=rAzCfTm5bv?DU2C7i_C7A69i-u=XO=1fTB8}o9sYJyf8wXAVrBj*(MWSm~( zIa-tIjqbFdvI&0SKrT|khJvA)ULXC26~77-@G>$ahcrb$WB#frql zPB4qu0m$rna5c)R_E=nXHzQTHboK`MD;HNQ#A)BEMN-J$S-80jVEPs6B!?3nPs%To zH$s4H__6M7S7US-2tt^!ugmr*CG$_Ga;3>dm_sf(A)C)beWBF2u+%*?aE zoZr^UJoP<^SX9YbB;wD_)vA}4*65O4M9yM1zBU%TI&@-2pKv$k7VPhzuFi06Sb&=G zHCyyG6VMnjC*0i{9USZ;ufWM6%=)K{fU76-RtNKZ-T|gyHtFOTv=^{y1G5A z`a3HvbIJ9V>pfm!I$Dm%0t=eV30EdM;F3N90L;LkB0y~5+!;{-kbpvg=P?8TcmyVf zz(e;RQwqg$0{dkZk^U>gS4)tM)9vleks(%MF!!uiQp3~JgO?o74^K`G4^PSPu+-G5 zswH5t7gWc_6RK;+Mx5$Jho>SI`-*K~ZLVRvJ?XHrveD7UkBQ>|k`bbJ#nilk+An2; z+&>r@fzV^EFn_OId-JCM+415sINI|tDwUQ0H-*&fT=2%1MrqVe{r#Ir%n~5k(D^bm zbLlB6`uNZ@J=j{mz22nk<+OK_rKYB)_Q4ff%G7R`?t@1e%^RJc9>Wq73kyXe3-G?P zt3mA0!PbS%-TkQ4X!;_HY!!2HE&P{PAM{h_KITQBcQ?&jIFZV9bV$g@pa%Hq)V8}K zVV)GH)S>+GvTwB(?MvonW~M`M;UKUC!#3M!mzrTW-p6?^0+Qu=Jqb~GnO40 z5TUZYeeR>O64K~l=tk^CUk*^{GDAT9+`%7_a1(Kj-6SnaqYdo>g8x}8gJVgt zl=RmsWAT&Pk$XRS&L4(>9*`*IV)^Yz?z(U5$?@D9;pu5<>4tRCTU%})!9?gprlsSf z;0E{mpH_LscSqAZlj*Q9(YG}Z9!yQK3nHbZr^A*$tCiuM^5iu%RIZAvsA%Db#Zw{l zl2!+cYKF~Qg~9WbCN(tK)Ux?!ZSXu%UlqGt$S*^u85F~C?#4}W_(GUr$Kq!}wFi9s zx*P2ePr(cgF^k&22qqZnWYxk#>dvQoZYRN7Ct(J*R)~iuX0cG{+rhJWYcqLy^43=# zrDG2NX6k#?JmM>lMd*T2LD<-g!z+`79c%p#BFG}TiW`gB#z`YhX6oQ1fW3Yrt$Um5 zmHO({mm+hsQoK`znxdkVY5TgB>B_hjO?vJM7+mFwVMS4e}0`}gnI3Jyy{1mW~7I)ud2;X9}HiViC(ir|bJ z>7ZPCT~=0TNL!r+9a@H@hBp~GIy#d&5{Pz8MX-N#&UZOFmXw@7AM!7h!MZ>%FWZdA z$v2MLW*AMG>JlOUuXo&h%|FA<%xuR*rs$JXOp)#ZVAMfpP>S|+6z>pk8JjE?k+ohsAjyvH*(^i_vwXe>%EOLGSju)59 zotvmJr}@rd8^z892|LN<$x9lEtAyLc{^ObDc0X<>baiU^f?}8w$s{v zPfXC8-Kq0k3H7Al;Aq5;am>Mf-eFGm`Qb6#hI>d&bBi4!hS0irk1cF#h=Elua;@y5 zGT-VNpOlnCT|fs5=?mao&q%jLhe8Re?yuT`T`M7R`)>)whad+g-Myy9IEnAXgB?}OcFU<~z~zOk`~M`V+Ux3{@DSl3;PUjG_UsTmp6 zrSsCrtn3EL<eQ$pdO90~B7t(xnPO+_?{wNJDWluf$PEyxwaDXZ{J4Y#MYNPF#HkIA-rBKU7Vx^&5h70ujDMwv_6|MyuPFlQI5uJYK3#ZZ(KpuQ8(u z0l$iA4-;RUs%QkmR5B?iYC}8ybY!qHFfS)voXUB7H-Qocs85Je9jH6y>eHO=I6> z&ke$pM*a9x-VTaa4L50>HO6I`FSrE+(>-U}^?ap0@l}A>tMa)9M{y#}BOkoL6HLB^ zi&8u5zZT_XScwnSyMd#D3cS@7bNOxl^+RlWOVosjb`83a5(ew2)k=9QmCu=}D$%s_ zvQPDFFVoHO)n`nE$WtvT!kf8j({J(WAN)j8-af&Y_TE+N&pj`-NJF)eE6AWyVySXn zHmt#8x4e(Y>vt5Q`Kw%rr_E-9+JclUeN$Km`0m)XOL z;FCHI;tb{)>Zq=bu%yZ8i0Puk*<-m>r*&`7ZXBk;VVBZCT%zOZ$mn6ClJ@t14X_v8 z6YHzgN}>2U;K&J;oJptVb>;*-v>RQc8)cUYd{?hfby4p(F6!T*>;hYaU&69pPiaq{ zW~&K4E&uW&zQlHNd!_yjbN6vR{zL((@7vGhIpKVV6BCu?^qUdO&B60OZoSax{JFBy z`FS%XLJdyZFH;3TD^;~J$V}iz~z8n53w{JvvYNPk6HzGBpD>5<@jPGR? zqENZyhsn15TNnvv*DyehLG?eHCkHkM(rJqBK3wD3Ab3 z3Q7vH3hJ^-%2yOMG!+yzmDJBGsB0=HykBqT|33!)fu25IVgJ8D_dCWC(7^oY4;Y-c zrn?&kB^!eF0la+tP@3}c@;3tgQSxq{{yqWnJ|2MqvR;7!Sb3~}&_CRDoRWID+fC)* iTW<0}L0ET`j~6OH4#fErve^N`0;YzR$Z~zxJO2YnZNF;_!NQvgus z0El`Bz$Qx-H4i|LJOB&M0H~z{Anb>&wa{RF;JRaCpvOYiv!PoT$$|rZhPHt$H2l@B zbs)3=IC9rWPsi#Wg+3B?&uT5}!?!+0_d|}j1Hv_}kL{nI5iagBC2D;X5|GRJSSI`G zi@l!0XwqZE$a51DFZ#_;@jIs{bFK>5>ri;KUP;S{S!vrl@b9~&Ut@KZLwrKT$YZuT zvbi6p6uN!XxKG&oSn@XGC&2lGAE_2%RuBH>W@?WXNxzZsE?212uRe zMc0x_EU?PVV}u*nrJYsw^|?a&({goo7Di9gFy|)d6J2x@$Z3`hsCAQ((<#`JMwBu9 zW3zp+l_cNCG>UY7{zk*79<%MlNwq(wn1XS~FV0UTmac_8HfcsXNTj6=m#WF>pShiD zke71aR7o~T7BciF1!8Sg7=!A>s=k($N;|{v;8|cOA)(>`>wouPGhRI6Tg-7+rg3(} zu`G9=WLYVmUDZh=_280ix9_@b($cG8HG}b)xF4o;n{cn(jt)|!be333nmd^e$vdsv zeMrcpA&h!?^ZXm=c_rH}@xIkC$8B#8@kYL+R%cImpXI<5ZUglf@xwq=ISw zOc%K>w8h<~+;L^$D}P&Y;ny(7v6qt%gdvVz-d)cp^1d?M&YKO~(3DHb^5$BM8+cnW zrp_h&D5_O>UqJl+d1YEV|4Eh7y!!g)>E^ZmrD5quyrMqW{rw#hp`Pa7$PgWeAZurb zw+}7`6`|nR?sNrXa;{}SfCEHCSePvy!Z9siT`*=eGZXxfCM6`uG4|9awWq`OTdak8 zLbYe#-@B{AbjjVs-~Ao~{zc3dqk8Ikpyc@vZd4IkWtZIg`*FxV0jK@#)vf9o zXRzJ{-?*C*Myt9Xft zfN{KZs&vp|!7|E@QU$v)k<(RjQsXW0)NVAp;&}Xva>9DA`rtdaj*?ri_bi+wHAlu8 zxIm%ht7S`gkwb1-Kcf8by#_x#fjJuXns-qoNrx$Dh7aDphySE?t|z-ZbQ2;e*}>T1 z0IG=*ozJ6nl&IlSJ($4Pr#ITzjw9VCoV<|Z+9wnc`Slu2Om5JeAbF`Y|H~IPsPM^Z z((XUDg9tTDg8@LK}flZSViI# zDmORR{g}+Sl_>Cwzq~pcgd|iu1;2}SX*mWVs_+#q`wVi4Z~Q%ZDc>liXtakL*k_z8 zEWVz2D!=K#Uc>kC2ZP?|(Wpa>guikVh(6w|jzaxg)g_AG_oBO(= zAP$Q0nBJp541sP%+n+Es`O_ir3u6NS|DpuVb3rtL#WvbmK5`8nQ{w*21~J6V2JCO& z$%=c_ec_F(0ff?N*Otr;UKK1Ul64n8lklc#Y^~{214@bT|GiAJ9HrO1_3k6*Naw zCI1u?lu5|pX*cslLQE6@@J_Fx0kc_uKF>B*RxNqfGj$tm|7($w8+X3h-b5$AdO|1i9NJeyF<{#*l8EdkBD zk2Nq6R?_{W^-{<+D8DUqC_pV_plo~lTEcsmCY&~l`VA7f9-z(dn;bUyKUwwvX<8=V zU{I3E0^h<|$sL_uqNvOhtEt{%pL=s=2HnRF4EZ7l(S(CB8qgy4O`i+XzjC_5DQs=z zMmrh36{E&VY3;*w(p;^Y;L7)O8vJbiLrze5d@HWeQ@X25Ga_dP-o?Kkym}N2ucpLY zeaSNbExo*t4GcViy*3}v5?t}pRfjs5WvzsXu>$yUy>383aHac9;ES5YcK+WxlrE*r z6xCW9HdvB5AtSdQc8X5wJeyULePeUWP z5EqA5%aLU5{s-ZF8KUHU6ka+0M?F zn$?#K611q~$w+vwGO1@}zPo*}riRjDi((t6cK6=!BuGJcHI_~$Ud&LMTN=wgnza3l zP1Hz2qSgXJeagv+h5#_m%Mk6>pn6Zd=PW2s?$vaS4{21-h$N<*?FtM)WrwD?;hCX>nr5M&lDQ_ZU+nYYnGuUS%pFG-6`qkKD+SYHMVApmszSR%!}wxqJta!U zRx$joU_3`~sJmldg{!hr0@4-sW^9oI3_MfX8}dd7aV;Oe9FRpr!^fuCy|Muno{f9G8ShH=dYy;$mt+Vd4jO5c7~qLoIS z>#I%(%A{RJhg)|5@C{bkIdDNlWlU+WbTW+5vu8Wo_x?p)r2m)8VhS;M{1I!P@Ci=F zLn1}u0r%>u1E3XSvsQ&VsqXP1;|hg4_DI7=zgBxc?K{VoyEX&!`iiVQ{E%48a9wqT znGID)G<=-l$R6ceQ9Ri1Gg|p~y<1AXcDZAWsQauzLAkx{&r*ynz5{antHn$Zl}PvH zd#k88zPU&kdjcKJGYUV=59H+3ho0ErQqB*KYUE~~3M&a;OwKW6G9s_+5qBet?$xcA zYakZjE+LtopR)erG~y}P{MBi z3HYyST3iQPGy67TXw=h*LNpbff2C6HR30>XHOPrr;&OqW-|mh0gpIfz)YNLKU8J<| zPDs=Q1|!OEWQ{L8J=p`jNt()1gJBz54tY~QiHDgY!>&Dgwj_VFv;8A}HfYNY@3G)Y zEmD;;7?D zU@Mijh%#KuwHSdl_8PA^YmE8LUGp*M&zu&PTDbUvMzqi6PUZwlcyVN z1$+KEm7Uuw^n0A6mS3|5PGBp$F2o>mx%7LqdPs)F%%z7)AWk{ z0(15Ck@fKPK|+w;e!nEAU`17w3qr|1#03)I5+KLwL0)XAj@2PB(l^s9yXqYMZ%h9G Az5oCK literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomo3-01.png b/admin-ui/src/assets/icons/tubiaozhizuomo3-01.png new file mode 100644 index 0000000000000000000000000000000000000000..dc05ef6bb1655d3c03834867a430f5776624df7b GIT binary patch literal 3717 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 aIvQYYP40@9Rm|JJxec|nhg4j;n(`N$%tvhi literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban-01.png b/admin-ui/src/assets/icons/tubiaozhizuomoban-01.png new file mode 100644 index 0000000000000000000000000000000000000000..9021010c1f3c877ab815f336e2a18946e5a7dcc4 GIT binary patch literal 7755 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 LC4zkMTGGD&4VbA( literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban11.png b/admin-ui/src/assets/icons/tubiaozhizuomoban11.png new file mode 100644 index 0000000000000000000000000000000000000000..3a1f50a2fbc42a5424e723b32e277dc7404335e2 GIT binary patch literal 5099 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban5-01.png b/admin-ui/src/assets/icons/tubiaozhizuomoban5-01.png new file mode 100644 index 0000000000000000000000000000000000000000..43d794858a44d570d66fede80c93e767839b6eb4 GIT binary patch literal 6314 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 j@L-q^%+bO3j+E>TX+Wt0>($@?5P|_56{9g4X literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban6-01.png b/admin-ui/src/assets/icons/tubiaozhizuomoban6-01.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3f9ba7ff33067d42add9092bc388a74af46316 GIT binary patch literal 3580 zcmc&$cT|&07XOfdbOIt(1w&DYG*P63KqwYaLJ_4(GXhD35WrAvG{KE1y$LEJMMR~A zP@WQC>1YIj5T&;SsSyy^58wM^_ndw2>>s;l=bZWOcW3UMxik0P-`uzhR_6RXk~{za z@LO7#+JLlmw?jF>?^bI74I~hs)8|hE!0QLRKixS%o-NSE+!!e9Ixqt=G9DH-=Km008(BElp3`h72-j&VC{jl8uW#RYT}1(vaX_Uqz27&!x*s2=%b6yjvMEJQwdo z30=5tR-+zIk&+e1)HRx#3h$E@vVy8BDM3ZfSfer{9>D|Lv$~?y)qji!3c5FHyF_V5zP}7A7@1 z(;rdDWCMU5D+mP0yAuTfkDyQ>N_fv6;DWIc0Gt_R`PP}(+EKrJ>5&N-xA2|2%UfH> z=4SrJr|{W+(fD)Ov#UuG1q8`uM@^YRD~{VIPr@+u>zfPoFmMpSulyapPvMx;HChyw zi}&Adz{Ld^akH@jM-R&Yfc&3W@xK)M@QeU_NG(E!*BcoKT3md3M(9gJL($9%idJk=cUY#nt1grh zsn@NantBQ|(oV@1RYpN>z)i|h|2Yiq*_%;Xg|!eB*3Dh>e^vF#IBIl0(7#uN?8 zl`ESYI=ToYxXF`R9pchbQWD(3^z!A64dcVK;yq|SHa4`;^_T4vi?PQXA7(q-D^y_J z?d?%T7LMt3Lv&W`d-tC&cw!JRA!2UCb>HGL(e%@nS>v%CM}4D z&Xvy2VjA{qWAkci@{L)A?BZNp-;a#75cJa1VVRn=fcB*cSaY)r23=Mky0n~}Y@R3_ zy2;4TpJ+!29P&e#m54YtY>zgR35da=%}r7*F7kRg+$x_PcHG14`t^wV)~Q_U%u0Oe zHkQx3=~hR_Lt)|r10`kWH)e9Wx}e+p_4m)mM>T#%lc`fuy7uE_R(yg(sj#J`rG>?r zK7FcT<_Sf4ua#>=K|?vYo|ve{l>DjVnix$1{`D|!Zgds12<>t@`bMm8drE%(ez@tw zhgnu)d!MTtb8-2h-rxJ}H$;Nz9=0l7eP`AQlT+cf^xV`V6=>&(?Qqsi4k!M!ksJKk zGXqx{nWe9{DgD?|1($AGW5&RjyQOvCjU%?nEP<`s#7ru6zW{4B&ek4}`$Ua<`*wvD zV+`vrlMoY8P>>Xp^!8RzxJjmHC(ZlK%^z;c0QY`U-ZR$LC7P~#N9@!R>4c#;DJUkDRH8c<@DxGaL3{7Ioq4v&f?PWTli}SOw zksEJrDB;PP{??g}*(JYDJ%KH0HXI!!F8$%#BTB*ho6w}tbX zNID2JPkLMFQmq!Yu=nS|J$uf!x2cysh;`}puXJ!Fhur8sM1138@?>L!c*Vgr_XegU z)#c^Ojd=|s#Z2~CqXkT+{H=tB4U(6qgU+lEKYxB=0v03i?roNCAts!`*xI7eU<-9f zWZ;kTdTlpr2qeYcW)y@tk8OMv=2fXa{v2!e>Ken>@0jWX4i0f{P#`7Mhxw#_LaXq79#x%0z>^^(&8`SD{QBZH~vCI+rOxtK->Y^tpt8L8By6-zp)wQ57}9{^9i z9MVD7C)61>#+lQv$_YU)*{rxY^b*dc%Zo^gPcx`w9T@{C^sB<1_e2Z1d;-rd_s_Wg z*N8d{iFyC6N1q+43Yw@WtR8WbkhoVlU0%L<21g2dB@inJ+V+`t5Dd5UD)J}WRJgVy zXnShbJWfGjHfPUn#GJ$Q zIafks)y1ev=txgavA^^J6CNEkl%1lm)S=+2WeiF2y%`SNAp+6X?|%ES6sEK7%ajtipJw{{c0HANYL03l>_RY6WpK5=-H z9R`7DzK)DUB13D|hdR5g&Ma*r@Qm8k&xJX{HOpNqD{aX!n1grkn!Ui!AKgVB&sp1C zRj7D9i+x*wEn0b=HZ<^~T^07Nye6h1Kfm9#ZYRRB?WG;;N>$3E5|@L#X96ld&IHhY z;?JI`8&UT#bs?0NV|!sl)%v4w!kQyd5m`4f>_p2|nz#Cvd*b^7(xLz3#}So)uSQ5D z;%+Oupr_a46ao5XXLe?e0m^3nU13Xg-r{i0h3Q#4;-vRj&)_@Xt*z{AN*gBitel31 zdhgu+bUp1~uvb#@;X_D0R%p!(M5@eFuJvI*%3E)7q=OLy5l(QXz4oXrRHw)7V=$=H+QKMjD0HCj`FSceMj-A{YB0{J zCZCY;WOKE@tLq*ovGmF-r}b^Z?|J1{^y_7TI#w}%u3H-j6_qk(Q2tbXYNxO7+`_`F zaOifZ$HCq}@v>N32Xmgp0#;ZU! zG=z;!4*#(^M%o}~mKKbt-*{Ox(;-1aZZ&LdjEt<|i7nEGf!;%!#N;Eln=&M6$fmO0 zC#flKF>@As>w6m29*x7P)L>9&m2U?p^ z9w|=J&d5oYhi~5Jl{VZS;4-&+eBHqSk@b%)Sq5(Kx zuYR;i%;n2n*$L!YCjoQgTQ?Gj9p{MourZ#+I=w1gS(6WQK{dl@q1^83U^`b=Ej=}v zz7Yep9;$p_PtV7Fe3W{A{C1en6tx(}&Q7$@3R@1$(U;<(_9v7$A}=n|cV@RgxdlNW z;!7rV`czhz~mOAt7Kv;>n&e_f|q4!i6fJ&IS^=U8KNfVfJW(mzC72BHj9 zgtUXsutb3Wv^DZ<@8yoFl1CQs>w`M-IK(BKr#sF|$0NWCB*1aC<7&!kTFS>YY}K`O z)YNoNoP?`sfj^6n$>@Jk@W*(fyhHz7A*z+54^+6cyF(z}N9U@0pqFw`01EI%`FZK6 zs;XYY_KwgR{q%CyYb?bbg4CT8lY literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban7-01-01.png b/admin-ui/src/assets/icons/tubiaozhizuomoban7-01-01.png new file mode 100644 index 0000000000000000000000000000000000000000..83c9318ee37f30cb2fbc0d2a28630ae866a93576 GIT binary patch literal 3991 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 LmCF@+j#2*tE7;)f literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/tubiaozhizuomoban8-01.png b/admin-ui/src/assets/icons/tubiaozhizuomoban8-01.png new file mode 100644 index 0000000000000000000000000000000000000000..76229db4f2273623a25f52d91395d34441feb446 GIT binary patch literal 2515 zcmcIldsI@{9zK@&$VkZ^w|wB_IBJHVhTsz|QLCGlX4+^n;wu*-7@(yHWR01PI$2{* zYC1M$lP1~&8%^ydPP!}<)3g*dD<7B-1VK^Yo?P?K+&iwj?!9Ziwf6bWclPgb&R+X` z`{H3gAISP0>j40O?DzEw0J-(^Fwg?8%GOgtkThdG4|xJWO|IT@#5z!GPy>AS0#$tD z2~e0t`UV^VfRwKQfPEeS6yPKFH~`R*03iAX0GtZ|U>l{V?uaWmp+z|8;{`H^#eMZG zkaQ`&$EhIut_<%sqB{WSMD6$TJbL==l#pEcS^|46mOGV?8n=~1Df5g?HZ8ug|NF7Z zn1bvdzqMdxRQC;Fl24u6o@`J<*xpvXV^_Ofv?}U~VB@Vokxn7y%d16x+Lx*P8E+S2 zlaX>n*d{NUbTv)pzx4~|Op1P!FdD}g977GT`>OCj962UsHyodx6V+fpg>ft65A114 z?dieIXjmP1)5^s`uUPt5VkMR8u%mdq^oCzrmT5J*_}zFxe+|algvAh~0_&;KE#o5fwL^*s|AMhW%zXlq9{ zZT+|E|I+NQli>G1RXNQ((KWPf#FSNjM!XuvX;d}q52YdqWBehOdaAap#H6!W*H=GT zNDsU{km%!u15skTFccpjR$KLxrw2QYs;kG|tf66s^8kFI20(zO=6^3+I1ks!CT5%U zv5cqeOp)mNbwj^Q%t)rjTCI)W-MK63<=~q#x!e==NmE%TNhFf6#=Pti{drD)ekMGW zxtu5&&3swdq*m3>WHGnWP#R|whD8;eCRKju&Ww$2vc8CBnOdB0d#@t&F|w>i{K`L= zqgrBd95zHg&w;VteG47C;gT?LUKe^!3u5XT<;(P^QmGOy32Nk68Cn~2h<7(=ejdg! z5Vu*{1XqPX1p>j~;2?7tA6u8t_CQkx5}Pw1FjG4Muk~_yF;|@{e|Mq%8X}ZC(^2tx zW$$J^mUh`x73{GdN!PRe^}}4dxk5J8UrQdUN@W&X7Et-yU6Pg;++Z&LUmd*mx(6Oo z9a~!}-LPg&LuYlwa~NynBD8iWJTz41zDGnkdTioGkw@wIVp^AVc@Z;(cdvHv%-F*?A=a4qy7KEFJWR}YAwM}194y@- zYthv_a9FKUF2RyQc)W|fVbu58U|>I2xh#2o4@w<#U;J=0*PFJ2%?(*;Py;K^YbP8N zM^L?9M}tfllqM#Q^QNB5mC3l=%<>!8oh1LzmJeX}b_{RYdbM=gG{=ul*W3D{aGUt! zwGvh%GfhBTC=N^^(k~-24u3AbKFqSEq#eLLVJJe6Lj5AOXZQ9lnNq| z=%rR&Fiq);fL<`Zzx2NIr=A`Z3VPE!+ca(TM<@!_e4&JK%Ige>MfKv`!h3`3)KvXG z@e79su^k1_nzW_q?>iqjo%KLeQ{Fu}Lml(pjc<&9V?{E7EW1WJLrYjLlp8OlwphDlA*l&A;B3X|@z z%4g4FwKibpTFso4=i0d>wW56=!raVlATrl&_NkkEb3?jvey$zy1R3imuo*5% zT)o%-YO8;;EdRNbVzb+@$96lyht^mAxxZV>rSP><@0I;e3lP|BEXsqlmU^Dk*57`A z%p5q;Zn1kc+rQO6s2$*VpLB%xp)K+E({<%YF3G&}9k@l3S3S_diCe=>lPQ)#ZqxC* zL1jV1h0vlRXwlA*r=mdu?2-0JI1&T5cQ|V2jD!(K6jud#X1ursL^oxsW>1eEdig-}#N5K#m|Z_-4ns0cy;rFVqTLhlGDf~bIqN)LFkf3uA zNJKOQvI8DPkRcFXaR_AI8Uj�f8Vq(`yZsz!z{^J#7t80{&j93kLl^*&^%aII`% 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 Oh_2=hjZ$^%d;bCY*3*dq literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/txtbeifen.png b/admin-ui/src/assets/icons/txtbeifen.png new file mode 100644 index 0000000000000000000000000000000000000000..975e3d49c6fb7265745d48f72850e31a4ea1ff8e GIT binary patch literal 5227 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/voice.png b/admin-ui/src/assets/icons/voice.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4c91a3cccc8e222c03fe2802a24ba4c6f50934 GIT binary patch literal 5143 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 bJe_Ur#lc0s)bd$?YXZ7jXw6cM2a*2+tXysd literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/wendang.png b/admin-ui/src/assets/icons/wendang.png new file mode 100644 index 0000000000000000000000000000000000000000..75b0677a8d593e402605af53898a2dbed8e51864 GIT binary patch literal 4361 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 G>OTQlRJerz literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/wenjianjia.png b/admin-ui/src/assets/icons/wenjianjia.png new file mode 100644 index 0000000000000000000000000000000000000000..53a61e1644a8f10805388ed05e3c4494f9ac01b4 GIT binary patch literal 3499 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/admin-ui/src/assets/login.png b/admin-ui/src/assets/login.png new file mode 100644 index 0000000000000000000000000000000000000000..028aa7f4f5e1755ed2c1cf1b72858c18eb99a3f8 GIT binary patch literal 30551 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 +

      +

      {{ title }}

      +
      +
      + + + diff --git a/admin-ui/src/components/Breadcrumb/index.vue b/admin-ui/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..49b6fcc --- /dev/null +++ b/admin-ui/src/components/Breadcrumb/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/admin-ui/src/components/Cell/index.vue b/admin-ui/src/components/Cell/index.vue new file mode 100644 index 0000000..9832afc --- /dev/null +++ b/admin-ui/src/components/Cell/index.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/admin-ui/src/components/ChartCard/index.vue b/admin-ui/src/components/ChartCard/index.vue new file mode 100644 index 0000000..8d0579f --- /dev/null +++ b/admin-ui/src/components/ChartCard/index.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/admin-ui/src/components/Charts/Keyboard.vue b/admin-ui/src/components/Charts/Keyboard.vue new file mode 100644 index 0000000..cee5884 --- /dev/null +++ b/admin-ui/src/components/Charts/Keyboard.vue @@ -0,0 +1,155 @@ + + + diff --git a/admin-ui/src/components/Charts/LineMarker.vue b/admin-ui/src/components/Charts/LineMarker.vue new file mode 100644 index 0000000..4683c60 --- /dev/null +++ b/admin-ui/src/components/Charts/LineMarker.vue @@ -0,0 +1,227 @@ + + + diff --git a/admin-ui/src/components/Charts/MixChart.vue b/admin-ui/src/components/Charts/MixChart.vue new file mode 100644 index 0000000..d145541 --- /dev/null +++ b/admin-ui/src/components/Charts/MixChart.vue @@ -0,0 +1,271 @@ + + + diff --git a/admin-ui/src/components/Charts/mixins/resize.js b/admin-ui/src/components/Charts/mixins/resize.js new file mode 100644 index 0000000..1cf8b0c --- /dev/null +++ b/admin-ui/src/components/Charts/mixins/resize.js @@ -0,0 +1,34 @@ +import { debounce } from '@/utils' + +export default { + data() { + return { + $_sidebarElm: null + } + }, + mounted() { + this.__resizeHandler = debounce(() => { + if (this.chart) { + this.chart.resize() + } + }, 100) + window.addEventListener('resize', this.__resizeHandler) + + this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] + this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) + }, + beforeUnmount() { + window.removeEventListener('resize', this.__resizeHandler) + + this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.__resizeHandler() + } + } + } +} diff --git a/admin-ui/src/components/ErrorLog/index.vue b/admin-ui/src/components/ErrorLog/index.vue new file mode 100644 index 0000000..2e28b1a --- /dev/null +++ b/admin-ui/src/components/ErrorLog/index.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/admin-ui/src/components/FormGenParser/Parser.vue b/admin-ui/src/components/FormGenParser/Parser.vue new file mode 100644 index 0000000..d5ee02c --- /dev/null +++ b/admin-ui/src/components/FormGenParser/Parser.vue @@ -0,0 +1,193 @@ + diff --git a/admin-ui/src/components/FormGenRender/render.js b/admin-ui/src/components/FormGenRender/render.js new file mode 100644 index 0000000..7b19d67 --- /dev/null +++ b/admin-ui/src/components/FormGenRender/render.js @@ -0,0 +1,122 @@ +import { deepClone } from '@/utils/generator/index' + +const componentChild = {} +/** + * 将./slots中的文件挂载到对象componentChild上 + * 文件名为key,对应JSON配置中的__config__.tag + * 文件内容为value,解析JSON配置中的__slot__ + */ +const slotsFiles = require.context('./slots', false, /\.js$/) +const keys = slotsFiles.keys() || [] +keys.forEach(key => { + const tag = key.replace(/^\.\/(.*)\.\w+$/, '$1') + const value = slotsFiles(key).default + componentChild[tag] = value +}) + +function vModel(dataObject, defaultValue) { + dataObject.props.value = defaultValue + + dataObject.on.input = val => { + this.$emit('input', val) + } +} + +function mountSlotFiles(h, confClone, children) { + const childObjs = componentChild[confClone.__config__.tag] + if (childObjs) { + Object.keys(childObjs).forEach(key => { + const childFunc = childObjs[key] + if (confClone.__slot__ && confClone.__slot__[key]) { + children.push(childFunc(h, confClone, key)) + } + }) + } +} + +function emitEvents(confClone) { + ['on', 'nativeOn'].forEach(attr => { + const eventKeyList = Object.keys(confClone[attr] || {}) + eventKeyList.forEach(key => { + const val = confClone[attr][key] + if (typeof val === 'string') { + confClone[attr][key] = event => this.$emit(val, event) + } + }) + }) +} + +function buildDataObject(confClone, dataObject) { + Object.keys(confClone).forEach(key => { + const val = confClone[key] + if (key === '__vModel__') { + vModel.call(this, dataObject, confClone.__config__.defaultValue) + } else if (dataObject[key] !== undefined) { + if (dataObject[key] === null || + dataObject[key] instanceof RegExp || + ['boolean', 'string', 'number', 'function', 'Array'].includes(typeof dataObject[key])) { + dataObject[key] = val + } else if (Array.isArray(dataObject[key])) { + dataObject[key] = [...dataObject[key], ...val] + } else { + dataObject[key] = { ...dataObject[key], ...val } + } + } else { + dataObject.attrs[key] = val + } + }) + + // 清理属性 + clearAttrs(dataObject) +} + +function clearAttrs(dataObject) { + delete dataObject.attrs.__config__ + delete dataObject.attrs.__slot__ + delete dataObject.attrs.__methods__ +} + +function makeDataObject() { + // 深入数据对象: + // https://cn.vuejs.org/v2/guide/render-function.html#%E6%B7%B1%E5%85%A5%E6%95%B0%E6%8D%AE%E5%AF%B9%E8%B1%A1 + return { + class: {}, + attrs: {}, + props: {}, + domProps: {}, + nativeOn: {}, + on: {}, + style: {}, + directives: [], + scopedSlots: {}, + slot: null, + key: null, + ref: null, + refInFor: true + } +} + +export default { + props: { + conf: { + type: Object, + required: true + } + }, + render(h) { + const dataObject = makeDataObject() + const confClone = deepClone(this.conf) + const children = this.$slots.default || [] + + // 如果slots文件夹存在与当前tag同名的文件,则执行文件中的代码 + mountSlotFiles.call(this, h, confClone, children) + + // 将字符串类型的事件,发送为消息 + emitEvents.call(this, confClone) + + // 将json表单配置转化为vue render可以识别的 “数据对象(dataObject)” + buildDataObject.call(this, confClone, dataObject) + + return h(this.conf.__config__.tag, dataObject, children) + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-button.js b/admin-ui/src/components/FormGenRender/slots/el-button.js new file mode 100644 index 0000000..a2d9684 --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-button.js @@ -0,0 +1,5 @@ +export default { + default(h, conf, key) { + return conf.__slot__[key] + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-checkbox-group.js b/admin-ui/src/components/FormGenRender/slots/el-checkbox-group.js new file mode 100644 index 0000000..0a85c8e --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-checkbox-group.js @@ -0,0 +1,13 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + if (conf.__config__.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-input.js b/admin-ui/src/components/FormGenRender/slots/el-input.js new file mode 100644 index 0000000..1545fb7 --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-input.js @@ -0,0 +1,8 @@ +export default { + prepend(h, conf, key) { + return + }, + append(h, conf, key) { + return + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-radio-group.js b/admin-ui/src/components/FormGenRender/slots/el-radio-group.js new file mode 100644 index 0000000..c78506f --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-radio-group.js @@ -0,0 +1,13 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + if (conf.__config__.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-select.js b/admin-ui/src/components/FormGenRender/slots/el-select.js new file mode 100644 index 0000000..cbf4a20 --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-select.js @@ -0,0 +1,9 @@ +export default { + options(h, conf, key) { + const list = [] + conf.__slot__.options.forEach(item => { + list.push() + }) + return list + } +} diff --git a/admin-ui/src/components/FormGenRender/slots/el-upload.js b/admin-ui/src/components/FormGenRender/slots/el-upload.js new file mode 100644 index 0000000..6af59e9 --- /dev/null +++ b/admin-ui/src/components/FormGenRender/slots/el-upload.js @@ -0,0 +1,17 @@ +export default { + 'list-type': (h, conf, key) => { + const list = [] + const config = conf.__config__ + if (conf['list-type'] === 'picture-card') { + list.push() + } else { + list.push({config.buttonText}) + } + if (config.showTip) { + list.push( +
      只能上传不超过 {config.fileSize}{config.sizeUnit} 的{conf.accept}文件
      + ) + } + return list + } +} diff --git a/admin-ui/src/components/GithubCorner/index.vue b/admin-ui/src/components/GithubCorner/index.vue new file mode 100644 index 0000000..d2e61ae --- /dev/null +++ b/admin-ui/src/components/GithubCorner/index.vue @@ -0,0 +1,54 @@ + + + diff --git a/admin-ui/src/components/Go-Admin/Doc/index.vue b/admin-ui/src/components/Go-Admin/Doc/index.vue new file mode 100644 index 0000000..c66d852 --- /dev/null +++ b/admin-ui/src/components/Go-Admin/Doc/index.vue @@ -0,0 +1,21 @@ + + + diff --git a/admin-ui/src/components/Go-Admin/Donate/index.vue b/admin-ui/src/components/Go-Admin/Donate/index.vue new file mode 100644 index 0000000..1752b68 --- /dev/null +++ b/admin-ui/src/components/Go-Admin/Donate/index.vue @@ -0,0 +1,21 @@ + + + diff --git a/admin-ui/src/components/Go-Admin/Git/index.vue b/admin-ui/src/components/Go-Admin/Git/index.vue new file mode 100644 index 0000000..8978381 --- /dev/null +++ b/admin-ui/src/components/Go-Admin/Git/index.vue @@ -0,0 +1,21 @@ + + + diff --git a/admin-ui/src/components/Hamburger/index.vue b/admin-ui/src/components/Hamburger/index.vue new file mode 100644 index 0000000..a22d753 --- /dev/null +++ b/admin-ui/src/components/Hamburger/index.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/admin-ui/src/components/HeaderSearch/index.vue b/admin-ui/src/components/HeaderSearch/index.vue new file mode 100644 index 0000000..b6e24f4 --- /dev/null +++ b/admin-ui/src/components/HeaderSearch/index.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/admin-ui/src/components/IconSelect/index.vue b/admin-ui/src/components/IconSelect/index.vue new file mode 100644 index 0000000..e56e3df --- /dev/null +++ b/admin-ui/src/components/IconSelect/index.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/admin-ui/src/components/IconSelect/requireIcons.js b/admin-ui/src/components/IconSelect/requireIcons.js new file mode 100644 index 0000000..56edb9f --- /dev/null +++ b/admin-ui/src/components/IconSelect/requireIcons.js @@ -0,0 +1,10 @@ +const req = require.context('../../icons/svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys() + +const re = /\.\/(.*)\.svg/ + +const icons = requireAll(req).map(i => { + return i.match(re)[1] +}) + +export default icons diff --git a/admin-ui/src/components/ImageCropper/index.vue b/admin-ui/src/components/ImageCropper/index.vue new file mode 100644 index 0000000..d0b2c4d --- /dev/null +++ b/admin-ui/src/components/ImageCropper/index.vue @@ -0,0 +1,1778 @@ + + + + + diff --git a/admin-ui/src/components/ImageCropper/utils/data2blob.js b/admin-ui/src/components/ImageCropper/utils/data2blob.js new file mode 100644 index 0000000..9c47f8a --- /dev/null +++ b/admin-ui/src/components/ImageCropper/utils/data2blob.js @@ -0,0 +1,19 @@ +/** + * database64文件格式转换为2进制 + * + * @param {[String]} data dataURL 的格式为 “data:image/png;base64,****”,逗号之前都是一些说明性的文字,我们只需要逗号之后的就行了 + * @param {[String]} mime [description] + * @return {[blob]} [description] + */ +export default function(data, mime) { + data = data.split(',')[1] + data = window.atob(data) + var ia = new Uint8Array(data.length) + for (var i = 0; i < data.length; i++) { + ia[i] = data.charCodeAt(i) + } + // canvas.toDataURL 返回的默认格式就是 image/png + return new Blob([ia], { + type: mime + }) +} diff --git a/admin-ui/src/components/ImageCropper/utils/effectRipple.js b/admin-ui/src/components/ImageCropper/utils/effectRipple.js new file mode 100644 index 0000000..46a0164 --- /dev/null +++ b/admin-ui/src/components/ImageCropper/utils/effectRipple.js @@ -0,0 +1,39 @@ +/** + * 点击波纹效果 + * + * @param {[event]} e [description] + * @param {[Object]} arg_opts [description] + * @return {[bollean]} [description] + */ +export default function(e, arg_opts) { + var opts = Object.assign({ + ele: e.target, // 波纹作用元素 + type: 'hit', // hit点击位置扩散center中心点扩展 + bgc: 'rgba(0, 0, 0, 0.15)' // 波纹颜色 + }, arg_opts) + var target = opts.ele + if (target) { + var rect = target.getBoundingClientRect() + var ripple = target.querySelector('.e-ripple') + if (!ripple) { + ripple = document.createElement('span') + ripple.className = 'e-ripple' + ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px' + target.appendChild(ripple) + } else { + ripple.className = 'e-ripple' + } + switch (opts.type) { + case 'center': + ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px' + ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px' + break + default: + ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop) + 'px' + ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft) + 'px' + } + ripple.style.backgroundColor = opts.bgc + ripple.className = 'e-ripple z-active' + return false + } +} diff --git a/admin-ui/src/components/ImageCropper/utils/language.js b/admin-ui/src/components/ImageCropper/utils/language.js new file mode 100644 index 0000000..727872d --- /dev/null +++ b/admin-ui/src/components/ImageCropper/utils/language.js @@ -0,0 +1,232 @@ +export default { + zh: { + hint: '点击,或拖动图片至此处', + loading: '正在上传……', + noSupported: '浏览器不支持该功能,请使用IE10以上或其他现在浏览器!', + success: '上传成功', + fail: '图片上传失败', + preview: '头像预览', + btn: { + off: '取消', + close: '关闭', + back: '上一步', + save: '保存' + }, + error: { + onlyImg: '仅限图片格式', + outOfSize: '单文件大小不能超过 ', + lowestPx: '图片最低像素为(宽*高):' + } + }, + 'zh-tw': { + hint: '點擊,或拖動圖片至此處', + loading: '正在上傳……', + noSupported: '瀏覽器不支持該功能,請使用IE10以上或其他現代瀏覽器!', + success: '上傳成功', + fail: '圖片上傳失敗', + preview: '頭像預覽', + btn: { + off: '取消', + close: '關閉', + back: '上一步', + save: '保存' + }, + error: { + onlyImg: '僅限圖片格式', + outOfSize: '單文件大小不能超過 ', + lowestPx: '圖片最低像素為(寬*高):' + } + }, + en: { + hint: 'Click or drag the file here to upload', + loading: 'Uploading…', + noSupported: 'Browser is not supported, please use IE10+ or other browsers', + success: 'Upload success', + fail: 'Upload failed', + preview: 'Preview', + btn: { + off: 'Cancel', + close: 'Close', + back: 'Back', + save: 'Save' + }, + error: { + onlyImg: 'Image only', + outOfSize: 'Image exceeds size limit: ', + lowestPx: 'Image\'s size is too low. Expected at least: ' + } + }, + ro: { + hint: 'Atinge sau trage fișierul aici', + loading: 'Se încarcă', + noSupported: 'Browser-ul tău nu suportă acest feature. Te rugăm încearcă cu alt browser.', + success: 'S-a încărcat cu succes', + fail: 'A apărut o problemă la încărcare', + preview: 'Previzualizează', + + btn: { + off: 'Anulează', + close: 'Închide', + back: 'Înapoi', + save: 'Salvează' + }, + + error: { + onlyImg: 'Doar imagini', + outOfSize: 'Imaginea depășește limita de: ', + loewstPx: 'Imaginea este prea mică; Minim: ' + } + }, + ru: { + hint: 'Нажмите, или перетащите файл в это окно', + loading: 'Загружаю……', + noSupported: 'Ваш браузер не поддерживается, пожалуйста, используйте IE10 + или другие браузеры', + success: 'Загрузка выполнена успешно', + fail: 'Ошибка загрузки', + preview: 'Предпросмотр', + btn: { + off: 'Отменить', + close: 'Закрыть', + back: 'Назад', + save: 'Сохранить' + }, + error: { + onlyImg: 'Только изображения', + outOfSize: 'Изображение превышает предельный размер: ', + lowestPx: 'Минимальный размер изображения: ' + } + }, + 'pt-br': { + hint: 'Clique ou arraste o arquivo aqui para carregar', + loading: 'Carregando…', + noSupported: 'Browser não suportado, use o IE10+ ou outro browser', + success: 'Sucesso ao carregar imagem', + fail: 'Falha ao carregar imagem', + preview: 'Pré-visualizar', + btn: { + off: 'Cancelar', + close: 'Fechar', + back: 'Voltar', + save: 'Salvar' + }, + error: { + onlyImg: 'Apenas imagens', + outOfSize: 'A imagem excede o limite de tamanho: ', + lowestPx: 'O tamanho da imagem é muito pequeno. Tamanho mínimo: ' + } + }, + fr: { + hint: 'Cliquez ou glissez le fichier ici.', + loading: 'Téléchargement…', + noSupported: 'Votre navigateur n\'est pas supporté. Utilisez IE10 + ou un autre navigateur s\'il vous plaît.', + success: 'Téléchargement réussit', + fail: 'Téléchargement echoué', + preview: 'Aperçu', + btn: { + off: 'Annuler', + close: 'Fermer', + back: 'Retour', + save: 'Enregistrer' + }, + error: { + onlyImg: 'Image uniquement', + outOfSize: 'L\'image sélectionnée dépasse la taille maximum: ', + lowestPx: 'L\'image sélectionnée est trop petite. Dimensions attendues: ' + } + }, + nl: { + hint: 'Klik hier of sleep een afbeelding in dit vlak', + loading: 'Uploaden…', + noSupported: 'Je browser wordt helaas niet ondersteund. Gebruik IE10+ of een andere browser.', + success: 'Upload succesvol', + fail: 'Upload mislukt', + preview: 'Voorbeeld', + btn: { + off: 'Annuleren', + close: 'Sluiten', + back: 'Terug', + save: 'Opslaan' + }, + error: { + onlyImg: 'Alleen afbeeldingen', + outOfSize: 'De afbeelding is groter dan: ', + lowestPx: 'De afbeelding is te klein! Minimale afmetingen: ' + } + }, + tr: { + hint: 'Tıkla veya yüklemek istediğini buraya sürükle', + loading: 'Yükleniyor…', + noSupported: 'Tarayıcı desteklenmiyor, lütfen IE10+ veya farklı tarayıcı kullanın', + success: 'Yükleme başarılı', + fail: 'Yüklemede hata oluştu', + preview: 'Önizle', + btn: { + off: 'İptal', + close: 'Kapat', + back: 'Geri', + save: 'Kaydet' + }, + error: { + onlyImg: 'Sadece resim', + outOfSize: 'Resim yükleme limitini aşıyor: ', + lowestPx: 'Resmin boyutu çok küçük. En az olması gereken: ' + } + }, + 'es-MX': { + hint: 'Selecciona o arrastra una imagen', + loading: 'Subiendo...', + noSupported: 'Tu navegador no es soportado, porfavor usa IE10+ u otros navegadores mas recientes', + success: 'Subido exitosamente', + fail: 'Sucedió un error', + preview: 'Vista previa', + btn: { + off: 'Cancelar', + close: 'Cerrar', + back: 'Atras', + save: 'Guardar' + }, + error: { + onlyImg: 'Unicamente imagenes', + outOfSize: 'La imagen excede el tamaño maximo:', + lowestPx: 'La imagen es demasiado pequeño. Se espera por lo menos:' + } + }, + de: { + hint: 'Klick hier oder zieh eine Datei hier rein zum Hochladen', + loading: 'Hochladen…', + noSupported: 'Browser wird nicht unterstützt, bitte verwende IE10+ oder andere Browser', + success: 'Upload erfolgreich', + fail: 'Upload fehlgeschlagen', + preview: 'Vorschau', + btn: { + off: 'Abbrechen', + close: 'Schließen', + back: 'Zurück', + save: 'Speichern' + }, + error: { + onlyImg: 'Nur Bilder', + outOfSize: 'Das Bild ist zu groß: ', + lowestPx: 'Das Bild ist zu klein. Mindestens: ' + } + }, + ja: { + hint: 'クリック・ドラッグしてファイルをアップロード', + loading: 'アップロード中...', + noSupported: 'このブラウザは対応されていません。IE10+かその他の主要ブラウザをお使いください。', + success: 'アップロード成功', + fail: 'アップロード失敗', + preview: 'プレビュー', + btn: { + off: 'キャンセル', + close: '閉じる', + back: '戻る', + save: '保存' + }, + error: { + onlyImg: '画像のみ', + outOfSize: '画像サイズが上限を超えています。上限: ', + lowestPx: '画像が小さすぎます。最小サイズ: ' + } + } +} diff --git a/admin-ui/src/components/ImageCropper/utils/mimes.js b/admin-ui/src/components/ImageCropper/utils/mimes.js new file mode 100644 index 0000000..e20c085 --- /dev/null +++ b/admin-ui/src/components/ImageCropper/utils/mimes.js @@ -0,0 +1,7 @@ +export default { + 'jpg': 'image/jpeg', + 'png': 'image/png', + 'gif': 'image/gif', + 'svg': 'image/svg+xml', + 'psd': 'image/photoshop' +} diff --git a/admin-ui/src/components/MDinput/index.vue b/admin-ui/src/components/MDinput/index.vue new file mode 100644 index 0000000..d78901c --- /dev/null +++ b/admin-ui/src/components/MDinput/index.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/admin-ui/src/components/MiniArea/index.vue b/admin-ui/src/components/MiniArea/index.vue new file mode 100644 index 0000000..a65f3bf --- /dev/null +++ b/admin-ui/src/components/MiniArea/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/admin-ui/src/components/MiniBar/index.vue b/admin-ui/src/components/MiniBar/index.vue new file mode 100644 index 0000000..95453e6 --- /dev/null +++ b/admin-ui/src/components/MiniBar/index.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/admin-ui/src/components/MiniProgress/index.vue b/admin-ui/src/components/MiniProgress/index.vue new file mode 100644 index 0000000..98ab224 --- /dev/null +++ b/admin-ui/src/components/MiniProgress/index.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/admin-ui/src/components/Pagination/index.vue b/admin-ui/src/components/Pagination/index.vue new file mode 100644 index 0000000..164ce79 --- /dev/null +++ b/admin-ui/src/components/Pagination/index.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/admin-ui/src/components/PanThumb/index.vue b/admin-ui/src/components/PanThumb/index.vue new file mode 100644 index 0000000..1bcf417 --- /dev/null +++ b/admin-ui/src/components/PanThumb/index.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/admin-ui/src/components/RankList/index.vue b/admin-ui/src/components/RankList/index.vue new file mode 100644 index 0000000..1e7ccef --- /dev/null +++ b/admin-ui/src/components/RankList/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/admin-ui/src/components/RightPanel/index.vue b/admin-ui/src/components/RightPanel/index.vue new file mode 100644 index 0000000..d3e266e --- /dev/null +++ b/admin-ui/src/components/RightPanel/index.vue @@ -0,0 +1,145 @@ + + + + + + + diff --git a/admin-ui/src/components/Screenfull/index.vue b/admin-ui/src/components/Screenfull/index.vue new file mode 100644 index 0000000..371b8d9 --- /dev/null +++ b/admin-ui/src/components/Screenfull/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/admin-ui/src/components/Share/DropdownMenu.vue b/admin-ui/src/components/Share/DropdownMenu.vue new file mode 100644 index 0000000..7ea59f4 --- /dev/null +++ b/admin-ui/src/components/Share/DropdownMenu.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/admin-ui/src/components/SvgIcon/index.vue b/admin-ui/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..ce7d906 --- /dev/null +++ b/admin-ui/src/components/SvgIcon/index.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/admin-ui/src/components/ThemePicker/index.vue b/admin-ui/src/components/ThemePicker/index.vue new file mode 100644 index 0000000..b2a5e51 --- /dev/null +++ b/admin-ui/src/components/ThemePicker/index.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/admin-ui/src/components/TopNav/index.vue b/admin-ui/src/components/TopNav/index.vue new file mode 100644 index 0000000..9a16cf8 --- /dev/null +++ b/admin-ui/src/components/TopNav/index.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/admin-ui/src/components/Trend/index.vue b/admin-ui/src/components/Trend/index.vue new file mode 100644 index 0000000..46d6fa3 --- /dev/null +++ b/admin-ui/src/components/Trend/index.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/admin-ui/src/components/Upload/SingleImage.vue b/admin-ui/src/components/Upload/SingleImage.vue new file mode 100644 index 0000000..f05ef86 --- /dev/null +++ b/admin-ui/src/components/Upload/SingleImage.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/admin-ui/src/components/Upload/SingleImage2.vue b/admin-ui/src/components/Upload/SingleImage2.vue new file mode 100644 index 0000000..af76d48 --- /dev/null +++ b/admin-ui/src/components/Upload/SingleImage2.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/admin-ui/src/components/Upload/SingleImage3.vue b/admin-ui/src/components/Upload/SingleImage3.vue new file mode 100644 index 0000000..8da5f35 --- /dev/null +++ b/admin-ui/src/components/Upload/SingleImage3.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/admin-ui/src/components/layout.vue b/admin-ui/src/components/layout.vue new file mode 100644 index 0000000..188ec7b --- /dev/null +++ b/admin-ui/src/components/layout.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/admin-ui/src/directive/el-drag-dialog/drag.js b/admin-ui/src/directive/el-drag-dialog/drag.js new file mode 100644 index 0000000..088b21b --- /dev/null +++ b/admin-ui/src/directive/el-drag-dialog/drag.js @@ -0,0 +1,77 @@ +export default { + mounted(el, binding, vnode) { + const dialogHeaderEl = el.querySelector('.el-dialog__header') + const dragDom = el.querySelector('.el-dialog') + dialogHeaderEl.style.cssText += ';cursor:move;' + dragDom.style.cssText += ';top:0px;' + + // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null); + const getStyle = (function() { + if (window.document.currentStyle) { + return (dom, attr) => dom.currentStyle[attr] + } else { + return (dom, attr) => getComputedStyle(dom, false)[attr] + } + })() + + dialogHeaderEl.onmousedown = (e) => { + // 鼠标按下,计算当前元素距离可视区的距离 + const disX = e.clientX - dialogHeaderEl.offsetLeft + const disY = e.clientY - dialogHeaderEl.offsetTop + + const dragDomWidth = dragDom.offsetWidth + const dragDomHeight = dragDom.offsetHeight + + const screenWidth = document.body.clientWidth + const screenHeight = document.body.clientHeight + + const minDragDomLeft = dragDom.offsetLeft + const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth + + const minDragDomTop = dragDom.offsetTop + const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomHeight + + // 获取到的值带px 正则匹配替换 + let styL = getStyle(dragDom, 'left') + let styT = getStyle(dragDom, 'top') + + if (styL.includes('%')) { + styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100) + styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100) + } else { + styL = +styL.replace(/\px/g, '') + styT = +styT.replace(/\px/g, '') + } + + document.onmousemove = function(e) { + // 通过事件委托,计算移动的距离 + let left = e.clientX - disX + let top = e.clientY - disY + + // 边界处理 + if (-(left) > minDragDomLeft) { + left = -minDragDomLeft + } else if (left > maxDragDomLeft) { + left = maxDragDomLeft + } + + if (-(top) > minDragDomTop) { + top = -minDragDomTop + } else if (top > maxDragDomTop) { + top = maxDragDomTop + } + + // 移动当前元素 + dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;` + + // emit onDrag event + vnode.child.$emit('dragDialog') + } + + document.onmouseup = function(e) { + document.onmousemove = null + document.onmouseup = null + } + } + } +} diff --git a/admin-ui/src/directive/el-drag-dialog/index.js b/admin-ui/src/directive/el-drag-dialog/index.js new file mode 100644 index 0000000..29facbf --- /dev/null +++ b/admin-ui/src/directive/el-drag-dialog/index.js @@ -0,0 +1,13 @@ +import drag from './drag' + +const install = function(Vue) { + Vue.directive('el-drag-dialog', drag) +} + +if (window.Vue) { + window['el-drag-dialog'] = drag + Vue.use(install); // eslint-disable-line +} + +drag.install = install +export default drag diff --git a/admin-ui/src/directive/el-table/adaptive.js b/admin-ui/src/directive/el-table/adaptive.js new file mode 100644 index 0000000..facd255 --- /dev/null +++ b/admin-ui/src/directive/el-table/adaptive.js @@ -0,0 +1,41 @@ +/** + * How to use + * ... + * el-table height must be set + * bottomOffset: 30(default) - The height of the table from the bottom of the page. + */ + +const doResize = (el, binding, vnode) => { + const $table = vnode.component?.exposed || vnode.componentInstance + + const { value } = binding + + if (!$table || !$table.height) { + console.warn('el-table must set the height. Such as height="100px"') + return + } + const bottomOffset = (value && value.bottomOffset) || 30 + + const height = window.innerHeight - el.getBoundingClientRect().top - bottomOffset + $table.layout?.setHeight(height) + $table.doLayout?.() +} + +export default { + mounted(el, binding, vnode) { + el.resizeListener = () => { + doResize(el, binding, vnode) + } + window.addEventListener('resize', el.resizeListener) + // Initial resize + doResize(el, binding, vnode) + }, + updated(el, binding, vnode) { + doResize(el, binding, vnode) + }, + unmounted(el) { + if (el.resizeListener) { + window.removeEventListener('resize', el.resizeListener) + } + } +} diff --git a/admin-ui/src/directive/el-table/index.js b/admin-ui/src/directive/el-table/index.js new file mode 100644 index 0000000..d3d4515 --- /dev/null +++ b/admin-ui/src/directive/el-table/index.js @@ -0,0 +1,13 @@ +import adaptive from './adaptive' + +const install = function(Vue) { + Vue.directive('el-height-adaptive-table', adaptive) +} + +if (window.Vue) { + window['el-height-adaptive-table'] = adaptive + Vue.use(install); // eslint-disable-line +} + +adaptive.install = install +export default adaptive diff --git a/admin-ui/src/directive/permission/index.js b/admin-ui/src/directive/permission/index.js new file mode 100644 index 0000000..e1447e0 --- /dev/null +++ b/admin-ui/src/directive/permission/index.js @@ -0,0 +1,17 @@ +import permission from './permission' +import permisaction from './permisaction' + +const install = function(Vue) { + Vue.directive('permission', permission) + Vue.directive('permisaction', permisaction) +} + +if (window.Vue) { + window['permission'] = permission + window['permisaction'] = permisaction + // eslint-disable-next-line no-undef + Vue.use(install) +} + +permission.install = install +export default permission diff --git a/admin-ui/src/directive/permission/permisaction.js b/admin-ui/src/directive/permission/permisaction.js new file mode 100644 index 0000000..d590cb6 --- /dev/null +++ b/admin-ui/src/directive/permission/permisaction.js @@ -0,0 +1,23 @@ +import store from '@/store' + +export default { + mounted(el, binding, vnode) { + const { value } = binding + const all_permission = '*:*:*' + const permissions = store.getters && store.getters.permisaction + + if (value && value instanceof Array && value.length > 0) { + const permissionFlag = value + + const hasPermissions = permissions.some(permission => { + return all_permission === permission || permissionFlag.includes(permission) + }) + + if (!hasPermissions) { + el.parentNode && el.parentNode.removeChild(el) + } + } else { + throw new Error(`请设置操作权限标签值`) + } + } +} diff --git a/admin-ui/src/directive/permission/permission.js b/admin-ui/src/directive/permission/permission.js new file mode 100644 index 0000000..f89fa59 --- /dev/null +++ b/admin-ui/src/directive/permission/permission.js @@ -0,0 +1,22 @@ +import store from '@/store' + +export default { + mounted(el, binding, vnode) { + const { value } = binding + const roles = store.getters && store.getters.roles + + if (value && value instanceof Array && value.length > 0) { + const permissionRoles = value + + const hasPermission = roles.some(role => { + return permissionRoles.includes(role) + }) + + if (!hasPermission) { + el.parentNode && el.parentNode.removeChild(el) + } + } else { + throw new Error(`need roles! Like v-permission="['admin','editor']"`) + } + } +} diff --git a/admin-ui/src/directive/sticky.js b/admin-ui/src/directive/sticky.js new file mode 100644 index 0000000..0b00d0c --- /dev/null +++ b/admin-ui/src/directive/sticky.js @@ -0,0 +1,91 @@ +const vueSticky = {} +let listenAction +vueSticky.install = Vue => { + Vue.directive('sticky', { + mounted(el, binding) { + const params = binding.value || {} + const stickyTop = params.stickyTop || 0 + const zIndex = params.zIndex || 1000 + const elStyle = el.style + + elStyle.position = '-webkit-sticky' + elStyle.position = 'sticky' + // if the browser support css sticky(Currently Safari, Firefox and Chrome Canary) + // if (~elStyle.position.indexOf('sticky')) { + // elStyle.top = `${stickyTop}px`; + // elStyle.zIndex = zIndex; + // return + // } + const elHeight = el.getBoundingClientRect().height + const elWidth = el.getBoundingClientRect().width + elStyle.cssText = `top: ${stickyTop}px; z-index: ${zIndex}` + + const parentElm = el.parentNode || document.documentElement + const placeholder = document.createElement('div') + placeholder.style.display = 'none' + placeholder.style.width = `${elWidth}px` + placeholder.style.height = `${elHeight}px` + parentElm.insertBefore(placeholder, el) + + let active = false + + const getScroll = (target, top) => { + const prop = top ? 'pageYOffset' : 'pageXOffset' + const method = top ? 'scrollTop' : 'scrollLeft' + let ret = target[prop] + if (typeof ret !== 'number') { + ret = window.document.documentElement[method] + } + return ret + } + + const sticky = () => { + if (active) { + return + } + if (!elStyle.height) { + elStyle.height = `${el.offsetHeight}px` + } + + elStyle.position = 'fixed' + elStyle.width = `${elWidth}px` + placeholder.style.display = 'inline-block' + active = true + } + + const reset = () => { + if (!active) { + return + } + + elStyle.position = '' + placeholder.style.display = 'none' + active = false + } + + const check = () => { + const scrollTop = getScroll(window, true) + const offsetTop = el.getBoundingClientRect().top + if (offsetTop < stickyTop) { + sticky() + } else { + if (scrollTop < elHeight + stickyTop) { + reset() + } + } + } + listenAction = () => { + check() + } + + window.addEventListener('scroll', listenAction) + }, + + unmounted() { + window.removeEventListener('scroll', listenAction) + } + }) +} + +export default vueSticky + diff --git a/admin-ui/src/directive/waves/index.js b/admin-ui/src/directive/waves/index.js new file mode 100644 index 0000000..65f9b30 --- /dev/null +++ b/admin-ui/src/directive/waves/index.js @@ -0,0 +1,13 @@ +import waves from './waves' + +const install = function(Vue) { + Vue.directive('waves', waves) +} + +if (window.Vue) { + window.waves = waves + Vue.use(install); // eslint-disable-line +} + +waves.install = install +export default waves diff --git a/admin-ui/src/directive/waves/waves.css b/admin-ui/src/directive/waves/waves.css new file mode 100644 index 0000000..af7a7ef --- /dev/null +++ b/admin-ui/src/directive/waves/waves.css @@ -0,0 +1,26 @@ +.waves-ripple { + position: absolute; + border-radius: 100%; + background-color: rgba(0, 0, 0, 0.15); + background-clip: padding-box; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + opacity: 1; +} + +.waves-ripple.z-active { + opacity: 0; + -webkit-transform: scale(2); + -ms-transform: scale(2); + transform: scale(2); + -webkit-transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out; +} \ No newline at end of file diff --git a/admin-ui/src/directive/waves/waves.js b/admin-ui/src/directive/waves/waves.js new file mode 100644 index 0000000..3d8d3fc --- /dev/null +++ b/admin-ui/src/directive/waves/waves.js @@ -0,0 +1,72 @@ +import './waves.css' + +const context = '@@wavesContext' + +function handleClick(el, binding) { + function handle(e) { + const customOpts = Object.assign({}, binding.value) + const opts = Object.assign({ + ele: el, // 波纹作用元素 + type: 'hit', // hit 点击位置扩散 center中心点扩展 + color: 'rgba(0, 0, 0, 0.15)' // 波纹颜色 + }, + customOpts + ) + const target = opts.ele + if (target) { + target.style.position = 'relative' + target.style.overflow = 'hidden' + const rect = target.getBoundingClientRect() + let ripple = target.querySelector('.waves-ripple') + if (!ripple) { + ripple = document.createElement('span') + ripple.className = 'waves-ripple' + ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px' + target.appendChild(ripple) + } else { + ripple.className = 'waves-ripple' + } + switch (opts.type) { + case 'center': + ripple.style.top = rect.height / 2 - ripple.offsetHeight / 2 + 'px' + ripple.style.left = rect.width / 2 - ripple.offsetWidth / 2 + 'px' + break + default: + ripple.style.top = + (e.pageY - rect.top - ripple.offsetHeight / 2 - document.documentElement.scrollTop || + document.body.scrollTop) + 'px' + ripple.style.left = + (e.pageX - rect.left - ripple.offsetWidth / 2 - document.documentElement.scrollLeft || + document.body.scrollLeft) + 'px' + } + ripple.style.backgroundColor = opts.color + ripple.className = 'waves-ripple z-active' + return false + } + } + + if (!el[context]) { + el[context] = { + removeHandle: handle + } + } else { + el[context].removeHandle = handle + } + + return handle +} + +export default { + mounted(el, binding) { + el.addEventListener('click', handleClick(el, binding), false) + }, + updated(el, binding) { + el.removeEventListener('click', el[context].removeHandle, false) + el.addEventListener('click', handleClick(el, binding), false) + }, + unmounted(el) { + el.removeEventListener('click', el[context].removeHandle, false) + el[context] = null + delete el[context] + } +} diff --git a/admin-ui/src/filters/index.js b/admin-ui/src/filters/index.js new file mode 100644 index 0000000..9822233 --- /dev/null +++ b/admin-ui/src/filters/index.js @@ -0,0 +1,68 @@ +// import parseTime, formatTime and set to filter +export { parseTime, formatTime } from '@/utils' + +/** + * Show plural label if time is plural number + * @param {number} time + * @param {string} label + * @return {string} + */ +function pluralize(time, label) { + if (time === 1) { + return time + label + } + return time + label + 's' +} + +/** + * @param {number} time + */ +export function timeAgo(time) { + const between = Date.now() / 1000 - Number(time) + if (between < 3600) { + return pluralize(~~(between / 60), ' minute') + } else if (between < 86400) { + return pluralize(~~(between / 3600), ' hour') + } else { + return pluralize(~~(between / 86400), ' day') + } +} + +/** + * Number formatting + * like 10000 => 10k + * @param {number} num + * @param {number} digits + */ +export function numberFormatter(num, digits) { + const si = [ + { value: 1E18, symbol: 'E' }, + { value: 1E15, symbol: 'P' }, + { value: 1E12, symbol: 'T' }, + { value: 1E9, symbol: 'G' }, + { value: 1E6, symbol: 'M' }, + { value: 1E3, symbol: 'k' } + ] + for (let i = 0; i < si.length; i++) { + if (num >= si[i].value) { + return (num / si[i].value).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol + } + } + return num.toString() +} + +/** + * 10000 => "10,000" + * @param {number} num + */ +export function toThousandFilter(num) { + return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ',')) +} + +/** + * Upper case first char + * @param {String} string + */ +export function uppercaseFirst(string) { + return string.charAt(0).toUpperCase() + string.slice(1) +} diff --git a/admin-ui/src/icons/index.js b/admin-ui/src/icons/index.js new file mode 100644 index 0000000..a1e06f1 --- /dev/null +++ b/admin-ui/src/icons/index.js @@ -0,0 +1,7 @@ +import SvgIcon from '@/components/SvgIcon'// svg component + +const req = require.context('./svg', false, /\.svg$/) +const requireAll = requireContext => requireContext.keys().map(requireContext) +requireAll(req) + +export default SvgIcon diff --git a/admin-ui/src/icons/svg/404.svg b/admin-ui/src/icons/svg/404.svg new file mode 100644 index 0000000..6df5019 --- /dev/null +++ b/admin-ui/src/icons/svg/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/access.svg b/admin-ui/src/icons/svg/access.svg new file mode 100644 index 0000000..501fc35 --- /dev/null +++ b/admin-ui/src/icons/svg/access.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/add-db.svg b/admin-ui/src/icons/svg/add-db.svg new file mode 100644 index 0000000..c80fd20 --- /dev/null +++ b/admin-ui/src/icons/svg/add-db.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/add-doc.svg b/admin-ui/src/icons/svg/add-doc.svg new file mode 100644 index 0000000..732ba09 --- /dev/null +++ b/admin-ui/src/icons/svg/add-doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/alarm-settings.svg b/admin-ui/src/icons/svg/alarm-settings.svg new file mode 100644 index 0000000..e2a6d40 --- /dev/null +++ b/admin-ui/src/icons/svg/alarm-settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-ctl.svg b/admin-ui/src/icons/svg/api-ctl.svg new file mode 100644 index 0000000..569e44e --- /dev/null +++ b/admin-ui/src/icons/svg/api-ctl.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-doc.svg b/admin-ui/src/icons/svg/api-doc.svg new file mode 100644 index 0000000..aa27653 --- /dev/null +++ b/admin-ui/src/icons/svg/api-doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-gateway.svg b/admin-ui/src/icons/svg/api-gateway.svg new file mode 100644 index 0000000..18b9e63 --- /dev/null +++ b/admin-ui/src/icons/svg/api-gateway.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-monitor.svg b/admin-ui/src/icons/svg/api-monitor.svg new file mode 100644 index 0000000..006eabc --- /dev/null +++ b/admin-ui/src/icons/svg/api-monitor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-server.svg b/admin-ui/src/icons/svg/api-server.svg new file mode 100644 index 0000000..50c38c9 --- /dev/null +++ b/admin-ui/src/icons/svg/api-server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/api-test.svg b/admin-ui/src/icons/svg/api-test.svg new file mode 100644 index 0000000..f9343b0 --- /dev/null +++ b/admin-ui/src/icons/svg/api-test.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/app-group-fill.svg b/admin-ui/src/icons/svg/app-group-fill.svg new file mode 100644 index 0000000..edec45d --- /dev/null +++ b/admin-ui/src/icons/svg/app-group-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/archived.svg b/admin-ui/src/icons/svg/archived.svg new file mode 100644 index 0000000..a4dfd53 --- /dev/null +++ b/admin-ui/src/icons/svg/archived.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/base-info.svg b/admin-ui/src/icons/svg/base-info.svg new file mode 100644 index 0000000..ef6fc93 --- /dev/null +++ b/admin-ui/src/icons/svg/base-info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/batch-update.svg b/admin-ui/src/icons/svg/batch-update.svg new file mode 100644 index 0000000..75b34c2 --- /dev/null +++ b/admin-ui/src/icons/svg/batch-update.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/bug.svg b/admin-ui/src/icons/svg/bug.svg new file mode 100644 index 0000000..05a150d --- /dev/null +++ b/admin-ui/src/icons/svg/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/build.svg b/admin-ui/src/icons/svg/build.svg new file mode 100644 index 0000000..97c4688 --- /dev/null +++ b/admin-ui/src/icons/svg/build.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/calendar.svg b/admin-ui/src/icons/svg/calendar.svg new file mode 100644 index 0000000..badc7a6 --- /dev/null +++ b/admin-ui/src/icons/svg/calendar.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin-ui/src/icons/svg/cascader.svg b/admin-ui/src/icons/svg/cascader.svg new file mode 100644 index 0000000..e256024 --- /dev/null +++ b/admin-ui/src/icons/svg/cascader.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/chart.svg b/admin-ui/src/icons/svg/chart.svg new file mode 100644 index 0000000..27728fb --- /dev/null +++ b/admin-ui/src/icons/svg/chart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/checkbox.svg b/admin-ui/src/icons/svg/checkbox.svg new file mode 100644 index 0000000..013fd3a --- /dev/null +++ b/admin-ui/src/icons/svg/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/clipboard.svg b/admin-ui/src/icons/svg/clipboard.svg new file mode 100644 index 0000000..90923ff --- /dev/null +++ b/admin-ui/src/icons/svg/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/code.svg b/admin-ui/src/icons/svg/code.svg new file mode 100644 index 0000000..ed4d23c --- /dev/null +++ b/admin-ui/src/icons/svg/code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/color.svg b/admin-ui/src/icons/svg/color.svg new file mode 100644 index 0000000..44a81aa --- /dev/null +++ b/admin-ui/src/icons/svg/color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/component.svg b/admin-ui/src/icons/svg/component.svg new file mode 100644 index 0000000..29c3458 --- /dev/null +++ b/admin-ui/src/icons/svg/component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/dashboard.svg b/admin-ui/src/icons/svg/dashboard.svg new file mode 100644 index 0000000..5317d37 --- /dev/null +++ b/admin-ui/src/icons/svg/dashboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/date-range.svg b/admin-ui/src/icons/svg/date-range.svg new file mode 100644 index 0000000..fda571e --- /dev/null +++ b/admin-ui/src/icons/svg/date-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/date.svg b/admin-ui/src/icons/svg/date.svg new file mode 100644 index 0000000..52dc73e --- /dev/null +++ b/admin-ui/src/icons/svg/date.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/db.svg b/admin-ui/src/icons/svg/db.svg new file mode 100644 index 0000000..139804a --- /dev/null +++ b/admin-ui/src/icons/svg/db.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/del.svg b/admin-ui/src/icons/svg/del.svg new file mode 100644 index 0000000..bdff2ec --- /dev/null +++ b/admin-ui/src/icons/svg/del.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/dev-tools.svg b/admin-ui/src/icons/svg/dev-tools.svg new file mode 100644 index 0000000..6953317 --- /dev/null +++ b/admin-ui/src/icons/svg/dev-tools.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/dict.svg b/admin-ui/src/icons/svg/dict.svg new file mode 100644 index 0000000..4849377 --- /dev/null +++ b/admin-ui/src/icons/svg/dict.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/doc.svg b/admin-ui/src/icons/svg/doc.svg new file mode 100644 index 0000000..b744f5d --- /dev/null +++ b/admin-ui/src/icons/svg/doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/documentation.svg b/admin-ui/src/icons/svg/documentation.svg new file mode 100644 index 0000000..7043122 --- /dev/null +++ b/admin-ui/src/icons/svg/documentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/download.svg b/admin-ui/src/icons/svg/download.svg new file mode 100644 index 0000000..c896951 --- /dev/null +++ b/admin-ui/src/icons/svg/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/drag copy.svg b/admin-ui/src/icons/svg/drag copy.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/admin-ui/src/icons/svg/drag copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/drag.svg b/admin-ui/src/icons/svg/drag.svg new file mode 100644 index 0000000..4185d3c --- /dev/null +++ b/admin-ui/src/icons/svg/drag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/druid.svg b/admin-ui/src/icons/svg/druid.svg new file mode 100644 index 0000000..a2b4b4e --- /dev/null +++ b/admin-ui/src/icons/svg/druid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/edit.svg b/admin-ui/src/icons/svg/edit.svg new file mode 100644 index 0000000..d26101f --- /dev/null +++ b/admin-ui/src/icons/svg/edit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/education.svg b/admin-ui/src/icons/svg/education.svg new file mode 100644 index 0000000..7bfb01d --- /dev/null +++ b/admin-ui/src/icons/svg/education.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/email.svg b/admin-ui/src/icons/svg/email.svg new file mode 100644 index 0000000..74d25e2 --- /dev/null +++ b/admin-ui/src/icons/svg/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/err-list.svg b/admin-ui/src/icons/svg/err-list.svg new file mode 100644 index 0000000..7700377 --- /dev/null +++ b/admin-ui/src/icons/svg/err-list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/example.svg b/admin-ui/src/icons/svg/example.svg new file mode 100644 index 0000000..46f42b5 --- /dev/null +++ b/admin-ui/src/icons/svg/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/excel.svg b/admin-ui/src/icons/svg/excel.svg new file mode 100644 index 0000000..74d97b8 --- /dev/null +++ b/admin-ui/src/icons/svg/excel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/exit-fullscreen.svg b/admin-ui/src/icons/svg/exit-fullscreen.svg new file mode 100644 index 0000000..485c128 --- /dev/null +++ b/admin-ui/src/icons/svg/exit-fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/eye-open.svg b/admin-ui/src/icons/svg/eye-open.svg new file mode 100644 index 0000000..88dcc98 --- /dev/null +++ b/admin-ui/src/icons/svg/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/eye.svg b/admin-ui/src/icons/svg/eye.svg new file mode 100644 index 0000000..16ed2d8 --- /dev/null +++ b/admin-ui/src/icons/svg/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/form.svg b/admin-ui/src/icons/svg/form.svg new file mode 100644 index 0000000..dcbaa18 --- /dev/null +++ b/admin-ui/src/icons/svg/form.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/fullscreen.svg b/admin-ui/src/icons/svg/fullscreen.svg new file mode 100644 index 0000000..0e86b6f --- /dev/null +++ b/admin-ui/src/icons/svg/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/github.svg b/admin-ui/src/icons/svg/github.svg new file mode 100644 index 0000000..db0a0d4 --- /dev/null +++ b/admin-ui/src/icons/svg/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/guide.svg b/admin-ui/src/icons/svg/guide.svg new file mode 100644 index 0000000..b271001 --- /dev/null +++ b/admin-ui/src/icons/svg/guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/heart.svg b/admin-ui/src/icons/svg/heart.svg new file mode 100644 index 0000000..97d62cc --- /dev/null +++ b/admin-ui/src/icons/svg/heart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/http-err.svg b/admin-ui/src/icons/svg/http-err.svg new file mode 100644 index 0000000..abd8f41 --- /dev/null +++ b/admin-ui/src/icons/svg/http-err.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/icon.svg b/admin-ui/src/icons/svg/icon.svg new file mode 100644 index 0000000..82be8ee --- /dev/null +++ b/admin-ui/src/icons/svg/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/info-setting.svg b/admin-ui/src/icons/svg/info-setting.svg new file mode 100644 index 0000000..63d5e93 --- /dev/null +++ b/admin-ui/src/icons/svg/info-setting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/input.svg b/admin-ui/src/icons/svg/input.svg new file mode 100644 index 0000000..ab91381 --- /dev/null +++ b/admin-ui/src/icons/svg/input.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/intel.svg b/admin-ui/src/icons/svg/intel.svg new file mode 100644 index 0000000..64abf0a --- /dev/null +++ b/admin-ui/src/icons/svg/intel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/international.svg b/admin-ui/src/icons/svg/international.svg new file mode 100644 index 0000000..e9b56ee --- /dev/null +++ b/admin-ui/src/icons/svg/international.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/job.svg b/admin-ui/src/icons/svg/job.svg new file mode 100644 index 0000000..2a93a25 --- /dev/null +++ b/admin-ui/src/icons/svg/job.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/json-push.svg b/admin-ui/src/icons/svg/json-push.svg new file mode 100644 index 0000000..8663033 --- /dev/null +++ b/admin-ui/src/icons/svg/json-push.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/language.svg b/admin-ui/src/icons/svg/language.svg new file mode 100644 index 0000000..0082b57 --- /dev/null +++ b/admin-ui/src/icons/svg/language.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/link.svg b/admin-ui/src/icons/svg/link.svg new file mode 100644 index 0000000..48197ba --- /dev/null +++ b/admin-ui/src/icons/svg/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/list.svg b/admin-ui/src/icons/svg/list.svg new file mode 100644 index 0000000..20259ed --- /dev/null +++ b/admin-ui/src/icons/svg/list.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/lock.svg b/admin-ui/src/icons/svg/lock.svg new file mode 100644 index 0000000..74fee54 --- /dev/null +++ b/admin-ui/src/icons/svg/lock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/log.svg b/admin-ui/src/icons/svg/log.svg new file mode 100644 index 0000000..edc1f51 --- /dev/null +++ b/admin-ui/src/icons/svg/log.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/logininfor.svg b/admin-ui/src/icons/svg/logininfor.svg new file mode 100644 index 0000000..267f844 --- /dev/null +++ b/admin-ui/src/icons/svg/logininfor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/map.svg b/admin-ui/src/icons/svg/map.svg new file mode 100644 index 0000000..b7e1170 --- /dev/null +++ b/admin-ui/src/icons/svg/map.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/message.svg b/admin-ui/src/icons/svg/message.svg new file mode 100644 index 0000000..14ca817 --- /dev/null +++ b/admin-ui/src/icons/svg/message.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/money.svg b/admin-ui/src/icons/svg/money.svg new file mode 100644 index 0000000..c1580de --- /dev/null +++ b/admin-ui/src/icons/svg/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/monitor.svg b/admin-ui/src/icons/svg/monitor.svg new file mode 100644 index 0000000..bc308cb --- /dev/null +++ b/admin-ui/src/icons/svg/monitor.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/nested.svg b/admin-ui/src/icons/svg/nested.svg new file mode 100644 index 0000000..06713a8 --- /dev/null +++ b/admin-ui/src/icons/svg/nested.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/network.svg b/admin-ui/src/icons/svg/network.svg new file mode 100644 index 0000000..2a34b91 --- /dev/null +++ b/admin-ui/src/icons/svg/network.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin-ui/src/icons/svg/next-page.svg b/admin-ui/src/icons/svg/next-page.svg new file mode 100644 index 0000000..97d522c --- /dev/null +++ b/admin-ui/src/icons/svg/next-page.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/number.svg b/admin-ui/src/icons/svg/number.svg new file mode 100644 index 0000000..ad5ce9a --- /dev/null +++ b/admin-ui/src/icons/svg/number.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/online.svg b/admin-ui/src/icons/svg/online.svg new file mode 100644 index 0000000..330a202 --- /dev/null +++ b/admin-ui/src/icons/svg/online.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/operators.svg b/admin-ui/src/icons/svg/operators.svg new file mode 100644 index 0000000..1c3e2cb --- /dev/null +++ b/admin-ui/src/icons/svg/operators.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/pass.svg b/admin-ui/src/icons/svg/pass.svg new file mode 100644 index 0000000..ff2f2e4 --- /dev/null +++ b/admin-ui/src/icons/svg/pass.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin-ui/src/icons/svg/password.svg b/admin-ui/src/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/admin-ui/src/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/pdf.svg b/admin-ui/src/icons/svg/pdf.svg new file mode 100644 index 0000000..957aa0c --- /dev/null +++ b/admin-ui/src/icons/svg/pdf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/people.svg b/admin-ui/src/icons/svg/people.svg new file mode 100644 index 0000000..2bd54ae --- /dev/null +++ b/admin-ui/src/icons/svg/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/peoples.svg b/admin-ui/src/icons/svg/peoples.svg new file mode 100644 index 0000000..aab852e --- /dev/null +++ b/admin-ui/src/icons/svg/peoples.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/phone.svg b/admin-ui/src/icons/svg/phone.svg new file mode 100644 index 0000000..ab8e8c4 --- /dev/null +++ b/admin-ui/src/icons/svg/phone.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/post.svg b/admin-ui/src/icons/svg/post.svg new file mode 100644 index 0000000..2922c61 --- /dev/null +++ b/admin-ui/src/icons/svg/post.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/project-group.svg b/admin-ui/src/icons/svg/project-group.svg new file mode 100644 index 0000000..511dca4 --- /dev/null +++ b/admin-ui/src/icons/svg/project-group.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/project-manage.svg b/admin-ui/src/icons/svg/project-manage.svg new file mode 100644 index 0000000..b6ecbe1 --- /dev/null +++ b/admin-ui/src/icons/svg/project-manage.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/pwd.svg b/admin-ui/src/icons/svg/pwd.svg new file mode 100644 index 0000000..75ee458 --- /dev/null +++ b/admin-ui/src/icons/svg/pwd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/qq.svg b/admin-ui/src/icons/svg/qq.svg new file mode 100644 index 0000000..ee13d4e --- /dev/null +++ b/admin-ui/src/icons/svg/qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/question.svg b/admin-ui/src/icons/svg/question.svg new file mode 100644 index 0000000..cf75bd4 --- /dev/null +++ b/admin-ui/src/icons/svg/question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/radio.svg b/admin-ui/src/icons/svg/radio.svg new file mode 100644 index 0000000..0cde345 --- /dev/null +++ b/admin-ui/src/icons/svg/radio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/rate.svg b/admin-ui/src/icons/svg/rate.svg new file mode 100644 index 0000000..aa3b14d --- /dev/null +++ b/admin-ui/src/icons/svg/rate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/return-code-doc.svg b/admin-ui/src/icons/svg/return-code-doc.svg new file mode 100644 index 0000000..66bb5cc --- /dev/null +++ b/admin-ui/src/icons/svg/return-code-doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/return-code.svg b/admin-ui/src/icons/svg/return-code.svg new file mode 100644 index 0000000..d04fa5a --- /dev/null +++ b/admin-ui/src/icons/svg/return-code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/root-addr.svg b/admin-ui/src/icons/svg/root-addr.svg new file mode 100644 index 0000000..ace8272 --- /dev/null +++ b/admin-ui/src/icons/svg/root-addr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/row.svg b/admin-ui/src/icons/svg/row.svg new file mode 100644 index 0000000..0780992 --- /dev/null +++ b/admin-ui/src/icons/svg/row.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/safety.svg b/admin-ui/src/icons/svg/safety.svg new file mode 100644 index 0000000..57eef25 --- /dev/null +++ b/admin-ui/src/icons/svg/safety.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/scene.svg b/admin-ui/src/icons/svg/scene.svg new file mode 100644 index 0000000..ffc375f --- /dev/null +++ b/admin-ui/src/icons/svg/scene.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/search.svg b/admin-ui/src/icons/svg/search.svg new file mode 100644 index 0000000..84233dd --- /dev/null +++ b/admin-ui/src/icons/svg/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/select.svg b/admin-ui/src/icons/svg/select.svg new file mode 100644 index 0000000..d628382 --- /dev/null +++ b/admin-ui/src/icons/svg/select.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/server.svg b/admin-ui/src/icons/svg/server.svg new file mode 100644 index 0000000..ca37b00 --- /dev/null +++ b/admin-ui/src/icons/svg/server.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/shopping.svg b/admin-ui/src/icons/svg/shopping.svg new file mode 100644 index 0000000..87513e7 --- /dev/null +++ b/admin-ui/src/icons/svg/shopping.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/signature.svg b/admin-ui/src/icons/svg/signature.svg new file mode 100644 index 0000000..17b31bf --- /dev/null +++ b/admin-ui/src/icons/svg/signature.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/size.svg b/admin-ui/src/icons/svg/size.svg new file mode 100644 index 0000000..ddb25b8 --- /dev/null +++ b/admin-ui/src/icons/svg/size.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/skill.svg b/admin-ui/src/icons/svg/skill.svg new file mode 100644 index 0000000..a3b7312 --- /dev/null +++ b/admin-ui/src/icons/svg/skill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/slider.svg b/admin-ui/src/icons/svg/slider.svg new file mode 100644 index 0000000..fbe4f39 --- /dev/null +++ b/admin-ui/src/icons/svg/slider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/star.svg b/admin-ui/src/icons/svg/star.svg new file mode 100644 index 0000000..6cf86e6 --- /dev/null +++ b/admin-ui/src/icons/svg/star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/statistics.svg b/admin-ui/src/icons/svg/statistics.svg new file mode 100644 index 0000000..3d9c5e8 --- /dev/null +++ b/admin-ui/src/icons/svg/statistics.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/swagger.svg b/admin-ui/src/icons/svg/swagger.svg new file mode 100644 index 0000000..05d4e7b --- /dev/null +++ b/admin-ui/src/icons/svg/swagger.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/switch.svg b/admin-ui/src/icons/svg/switch.svg new file mode 100644 index 0000000..0ba61e3 --- /dev/null +++ b/admin-ui/src/icons/svg/switch.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/system-tools.svg b/admin-ui/src/icons/svg/system-tools.svg new file mode 100644 index 0000000..8484d6f --- /dev/null +++ b/admin-ui/src/icons/svg/system-tools.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/system.svg b/admin-ui/src/icons/svg/system.svg new file mode 100644 index 0000000..dba28cf --- /dev/null +++ b/admin-ui/src/icons/svg/system.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/tab.svg b/admin-ui/src/icons/svg/tab.svg new file mode 100644 index 0000000..b4b48e4 --- /dev/null +++ b/admin-ui/src/icons/svg/tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/table.svg b/admin-ui/src/icons/svg/table.svg new file mode 100644 index 0000000..0e3dc9d --- /dev/null +++ b/admin-ui/src/icons/svg/table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/textarea.svg b/admin-ui/src/icons/svg/textarea.svg new file mode 100644 index 0000000..2709f29 --- /dev/null +++ b/admin-ui/src/icons/svg/textarea.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/theme.svg b/admin-ui/src/icons/svg/theme.svg new file mode 100644 index 0000000..5982a2f --- /dev/null +++ b/admin-ui/src/icons/svg/theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/time-avg.svg b/admin-ui/src/icons/svg/time-avg.svg new file mode 100644 index 0000000..488d0ec --- /dev/null +++ b/admin-ui/src/icons/svg/time-avg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/time-range.svg b/admin-ui/src/icons/svg/time-range.svg new file mode 100644 index 0000000..13c1202 --- /dev/null +++ b/admin-ui/src/icons/svg/time-range.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/time.svg b/admin-ui/src/icons/svg/time.svg new file mode 100644 index 0000000..b376e32 --- /dev/null +++ b/admin-ui/src/icons/svg/time.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/tool.svg b/admin-ui/src/icons/svg/tool.svg new file mode 100644 index 0000000..c813067 --- /dev/null +++ b/admin-ui/src/icons/svg/tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/tree-table.svg b/admin-ui/src/icons/svg/tree-table.svg new file mode 100644 index 0000000..8aafdb8 --- /dev/null +++ b/admin-ui/src/icons/svg/tree-table.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/tree.svg b/admin-ui/src/icons/svg/tree.svg new file mode 100644 index 0000000..dd4b7dd --- /dev/null +++ b/admin-ui/src/icons/svg/tree.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/upload.svg b/admin-ui/src/icons/svg/upload.svg new file mode 100644 index 0000000..bae49c0 --- /dev/null +++ b/admin-ui/src/icons/svg/upload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/user-info.svg b/admin-ui/src/icons/svg/user-info.svg new file mode 100644 index 0000000..6f7e057 --- /dev/null +++ b/admin-ui/src/icons/svg/user-info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/user.svg b/admin-ui/src/icons/svg/user.svg new file mode 100644 index 0000000..0ba0716 --- /dev/null +++ b/admin-ui/src/icons/svg/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/validCode.svg b/admin-ui/src/icons/svg/validCode.svg new file mode 100644 index 0000000..cfb1021 --- /dev/null +++ b/admin-ui/src/icons/svg/validCode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/vip.svg b/admin-ui/src/icons/svg/vip.svg new file mode 100644 index 0000000..c31b6de --- /dev/null +++ b/admin-ui/src/icons/svg/vip.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin-ui/src/icons/svg/webhock.svg b/admin-ui/src/icons/svg/webhock.svg new file mode 100644 index 0000000..1216341 --- /dev/null +++ b/admin-ui/src/icons/svg/webhock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/wechat.svg b/admin-ui/src/icons/svg/wechat.svg new file mode 100644 index 0000000..c586e55 --- /dev/null +++ b/admin-ui/src/icons/svg/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svg/zip.svg b/admin-ui/src/icons/svg/zip.svg new file mode 100644 index 0000000..f806fc4 --- /dev/null +++ b/admin-ui/src/icons/svg/zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/admin-ui/src/icons/svgo.yml b/admin-ui/src/icons/svgo.yml new file mode 100644 index 0000000..d11906a --- /dev/null +++ b/admin-ui/src/icons/svgo.yml @@ -0,0 +1,22 @@ +# replace default config + +# multipass: true +# full: true + +plugins: + + # - name + # + # or: + # - name: false + # - name: true + # + # or: + # - name: + # param1: 1 + # param2: 2 + +- removeAttrs: + attrs: + - 'fill' + - 'fill-rule' diff --git a/admin-ui/src/layout/BasicLayout.vue b/admin-ui/src/layout/BasicLayout.vue new file mode 100644 index 0000000..cf043a8 --- /dev/null +++ b/admin-ui/src/layout/BasicLayout.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/admin-ui/src/layout/components/AppMain.vue b/admin-ui/src/layout/components/AppMain.vue new file mode 100644 index 0000000..552a067 --- /dev/null +++ b/admin-ui/src/layout/components/AppMain.vue @@ -0,0 +1,47 @@ + + + + + + + diff --git a/admin-ui/src/layout/components/Navbar.vue b/admin-ui/src/layout/components/Navbar.vue new file mode 100644 index 0000000..b8a877f --- /dev/null +++ b/admin-ui/src/layout/components/Navbar.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/admin-ui/src/layout/components/Settings/index.vue b/admin-ui/src/layout/components/Settings/index.vue new file mode 100644 index 0000000..33714cf --- /dev/null +++ b/admin-ui/src/layout/components/Settings/index.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/admin-ui/src/layout/components/Sidebar/FixiOSBug.js b/admin-ui/src/layout/components/Sidebar/FixiOSBug.js new file mode 100644 index 0000000..71c7b88 --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/FixiOSBug.js @@ -0,0 +1,26 @@ +export default { + computed: { + device() { + return this.$store.state.app.device + } + }, + mounted() { + // In order to fix the click on menu on the ios device will trigger the mouseleave bug + // https://github.com/PanJiaChen/vue-element-admin/issues/1135 + this.fixBugIniOS() + }, + methods: { + fixBugIniOS() { + const $subMenu = this.$refs.subMenu + if ($subMenu && typeof $subMenu.handleMouseleave === 'function') { + const handleMouseleave = $subMenu.handleMouseleave + $subMenu.handleMouseleave = (e) => { + if (this.device === 'mobile') { + return + } + handleMouseleave(e) + } + } + } + } +} diff --git a/admin-ui/src/layout/components/Sidebar/Item.vue b/admin-ui/src/layout/components/Sidebar/Item.vue new file mode 100644 index 0000000..48f1aef --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/Item.vue @@ -0,0 +1,31 @@ + diff --git a/admin-ui/src/layout/components/Sidebar/Link.vue b/admin-ui/src/layout/components/Sidebar/Link.vue new file mode 100644 index 0000000..31a847a --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/Link.vue @@ -0,0 +1,27 @@ + + + + diff --git a/admin-ui/src/layout/components/Sidebar/Logo.vue b/admin-ui/src/layout/components/Sidebar/Logo.vue new file mode 100644 index 0000000..be73dcb --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/Logo.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/admin-ui/src/layout/components/Sidebar/SidebarItem.vue b/admin-ui/src/layout/components/Sidebar/SidebarItem.vue new file mode 100644 index 0000000..e9bd650 --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/SidebarItem.vue @@ -0,0 +1,92 @@ + + + diff --git a/admin-ui/src/layout/components/Sidebar/index.vue b/admin-ui/src/layout/components/Sidebar/index.vue new file mode 100644 index 0000000..d963596 --- /dev/null +++ b/admin-ui/src/layout/components/Sidebar/index.vue @@ -0,0 +1,67 @@ + + + diff --git a/admin-ui/src/layout/components/TagsView/ScrollPane.vue b/admin-ui/src/layout/components/TagsView/ScrollPane.vue new file mode 100644 index 0000000..9c9ece3 --- /dev/null +++ b/admin-ui/src/layout/components/TagsView/ScrollPane.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/admin-ui/src/layout/components/TagsView/TagsView.vue b/admin-ui/src/layout/components/TagsView/TagsView.vue new file mode 100644 index 0000000..86b0391 --- /dev/null +++ b/admin-ui/src/layout/components/TagsView/TagsView.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/admin-ui/src/layout/components/TagsView/index.vue b/admin-ui/src/layout/components/TagsView/index.vue new file mode 100644 index 0000000..5460002 --- /dev/null +++ b/admin-ui/src/layout/components/TagsView/index.vue @@ -0,0 +1,411 @@ + + + + + + + diff --git a/admin-ui/src/layout/components/index.js b/admin-ui/src/layout/components/index.js new file mode 100644 index 0000000..104bd3a --- /dev/null +++ b/admin-ui/src/layout/components/index.js @@ -0,0 +1,5 @@ +export { default as AppMain } from './AppMain' +export { default as Navbar } from './Navbar' +export { default as Settings } from './Settings' +export { default as Sidebar } from './Sidebar/index.vue' +export { default as TagsView } from './TagsView/index.vue' diff --git a/admin-ui/src/layout/index.vue b/admin-ui/src/layout/index.vue new file mode 100644 index 0000000..5844b73 --- /dev/null +++ b/admin-ui/src/layout/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/admin-ui/src/layout/mixin/ResizeHandler.js b/admin-ui/src/layout/mixin/ResizeHandler.js new file mode 100644 index 0000000..01a1cc7 --- /dev/null +++ b/admin-ui/src/layout/mixin/ResizeHandler.js @@ -0,0 +1,45 @@ +import store from '@/store' + +const { body } = document +const WIDTH = 992 // refer to Bootstrap's responsive design + +export default { + watch: { + $route(route) { + if (this.device === 'mobile' && this.sidebar.opened) { + store.dispatch('app/closeSideBar', { withoutAnimation: false }) + } + } + }, + beforeMount() { + window.addEventListener('resize', this.$_resizeHandler) + }, + beforeUnmount() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + mounted() { + const isMobile = this.$_isMobile() + if (isMobile) { + store.dispatch('app/toggleDevice', 'mobile') + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_isMobile() { + const rect = body.getBoundingClientRect() + return rect.width - 1 < WIDTH + }, + $_resizeHandler() { + if (!document.hidden) { + const isMobile = this.$_isMobile() + store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop') + + if (isMobile) { + store.dispatch('app/closeSideBar', { withoutAnimation: true }) + } + } + } + } +} diff --git a/admin-ui/src/main.js b/admin-ui/src/main.js new file mode 100644 index 0000000..b63b636 --- /dev/null +++ b/admin-ui/src/main.js @@ -0,0 +1,105 @@ +import { createApp } from 'vue' +import { ElMessage } from 'element-plus' + +import Cookies from 'js-cookie' + +import 'normalize.css/normalize.css' // a modern alternative to CSS resets + +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import zhCn from 'element-plus/es/locale/lang/zh-cn' + +import '@/styles/index.scss' // global css +import '@/styles/admin.scss' + +import { Codemirror } from 'vue-codemirror' + +import App from './App' +import store from './store' +import router from './router' +import permission from './directive/permission' + +import { getDicts } from '@/api/admin/dict/data' +import { getItems, setItems } from '@/api/table' +import { getConfigKey } from '@/api/admin/sys-config' +import { parseTime, resetForm, addDateRange, selectDictLabel, /* download,*/ selectItemsLabel } from '@/utils/costum' +import { dialogDrag } from '@/utils/dialog' // dialog directive +import { setupErrorHandler } from '@/utils/error-log' // error log + +import SvgIcon from './icons' // icon +import './permission' // permission control + +// import Viser from 'viser-vue' +// Note: viser-vue 不支持 Vue 3,需要后续处理 + +import * as filters from './filters' // global filters + +import Pagination from '@/components/Pagination' +import BasicLayout from '@/layout/BasicLayout' + +import Particles from '@tsparticles/vue3' +import { loadSlim } from '@tsparticles/slim' + +import '@/utils/dialog' + +// import VueDND from 'awe-dnd' +// Note: awe-dnd 不支持 Vue 3,已改用 vue3-dnd + +import 'remixicon/fonts/remixicon.css' + +console.info(`欢迎使用go-admin,谢谢您对我们的支持,在使用过程中如果有什么问题, +请访问https://github.com/go-admin-team/go-admin 或者 + https://github.com/go-admin-team/go-admin-ui 向我们反馈, + 谢谢!`) + +// 创建 Vue 应用实例 +const app = createApp(App) + +// 全局方法挂载($前缀版本 + 无前缀版本同时注册,兼容历史代码) +const msgSuccess = (msg) => ElMessage({ showClose: true, message: msg, type: 'success' }) +const msgError = (msg) => ElMessage({ showClose: true, message: msg, type: 'error' }) +const msgInfo = (msg) => ElMessage.info(msg) + +const globalMethods = { + getDicts, getItems, setItems, getConfigKey, + parseTime, resetForm, addDateRange, selectDictLabel, selectItemsLabel, + msgSuccess, msgError, msgInfo +} + +Object.entries(globalMethods).forEach(([key, fn]) => { + app.config.globalProperties[key] = fn // this.getDicts(...) + app.config.globalProperties['$' + key] = fn // this.$getDicts(...) +}) + +// 全局过滤器改为全局方法 +app.config.globalProperties.$filters = filters + +// 全局组件注册(Pagination 同时注册两个名称兼容历史模板) +app.component('AppPagination', Pagination) +app.component('Pagination', Pagination) +app.component('BasicLayout', BasicLayout) +app.component('CodeEditor', Codemirror) +app.component('SvgIcon', SvgIcon) + +// 注册插件 +app.use(store) +app.use(router) +app.use(permission) +app.use(Particles, { + init: async engine => { + await loadSlim(engine) + } +}) +app.use(ElementPlus, { + locale: zhCn, + size: Cookies.get('size') || 'default' +}) + +// 注册自定义指令 +app.directive('dialogDrag', dialogDrag) + +// 设置错误处理器 +setupErrorHandler(app) + +// 挂载应用 +app.mount('#app') diff --git a/admin-ui/src/permission.js b/admin-ui/src/permission.js new file mode 100644 index 0000000..cd25faa --- /dev/null +++ b/admin-ui/src/permission.js @@ -0,0 +1,74 @@ +import router from './router' +import store from './store' +import { ElMessage } from 'element-plus' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +import { getToken } from '@/utils/auth' // get token from cookie +import getPageTitle from '@/utils/get-page-title' + +NProgress.configure({ showSpinner: false }) // NProgress Configuration + +const whiteList = ['/login', '/auth-redirect'] // no redirect whitelist + +router.beforeEach(async(to, from, next) => { + // start progress bar + NProgress.start() + + // set page title + document.title = getPageTitle(to.meta.title) + + // determine whether the user has logged in + const hasToken = getToken() + + if (hasToken) { + if (to.path === '/login') { + // if is logged in, redirect to the home page + next({ path: '/' }) + NProgress.done() + } else { + // determine whether the user has obtained his permission roles through getInfo + const hasRoles = store.getters.roles && store.getters.roles.length > 0 + if (hasRoles) { + next() + } else { + try { + // get user info + // note: roles must be a object array! such as: ['admin'] or ,['developer','editor'] + const { roles } = await store.dispatch('user/getInfo') + + // generate accessible routes map based on roles + const accessRoutes = await store.dispatch('permission/generateRoutes', roles) + + // dynamically add accessible routes + accessRoutes.forEach(route => router.addRoute(route)) + + // hack method to ensure that addRoutes is complete + // set the replace: true, so the navigation will not leave a history record + next({ ...to, replace: true }) + } catch (error) { + // remove token and go to login page to re-login + // await store.dispatch('user/resetToken') + ElMessage.error(error || 'Has Error') + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } + } + } else { + /* has no token*/ + + if (whiteList.indexOf(to.path) !== -1) { + // in the free login whitelist, go directly + next() + } else { + // other pages that do not have permission to access are redirected to the login page. + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } +}) + +router.afterEach(() => { + // finish progress bar + NProgress.done() +}) diff --git a/admin-ui/src/router/index.js b/admin-ui/src/router/index.js new file mode 100644 index 0000000..0ef9e8f --- /dev/null +++ b/admin-ui/src/router/index.js @@ -0,0 +1,126 @@ +import { createRouter, createWebHashHistory } from 'vue-router' + +/* Layout */ +import Layout from '@/layout' + +/* Router Modules */ +// import componentsRouter from './modules/components' +// import chartsRouter from './modules/charts' +// import tableRouter from './modules/table' +// import nestedRouter from './modules/nested' + +/** + * Note: sub-menu only appear when route children.length >= 1 + * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html + * + * hidden: true if set true, item will not show in the sidebar(default is false) + * alwaysShow: true if set true, will always show the root menu + * if not set alwaysShow, when item has more than one children route, + * it will becomes nested mode, otherwise not show the root menu + * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb + * name:'router-name' the name is used by (must set!!!) + * meta : { + roles: ['admin','editor'] control the page roles (you can set multiple roles) + title: 'title' the name show in sidebar and breadcrumb (recommend set) + icon: 'svg-name' the icon show in the sidebar + noCache: true if set true, the page will no be cached(default is false) + affix: true if set true, the tag will affix in the tags-view + breadcrumb: false if set false, the item will hidden in breadcrumb(default is true) + activeMenu: '/example/list' if set path, the sidebar will highlight the path you set + } + */ + +/** + * constantRoutes + * a base page that does not have permission requirements + * all roles can be accessed + */ +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path*', + component: () => import('@/views/redirect/index') + } + ] + }, + { + path: '/login', + component: () => import('@/views/login/index'), + hidden: true + }, + { + path: '/auth-redirect', + component: () => import('@/views/login/auth-redirect'), + hidden: true + }, + { + path: '/404', + component: () => import('@/views/error-page/404'), + hidden: true + }, + { + path: '/401', + component: () => import('@/views/error-page/401'), + hidden: true + }, + { + path: '/', + component: Layout, + redirect: '/dashboard', + children: [ + { + path: 'dashboard', + component: () => import('@/views/dashboard/index'), + name: 'Dashboard', + meta: { title: '首页', icon: 'dashboard', affix: true } + } + ] + }, + { + path: '/profile', + component: Layout, + redirect: '/profile/index', + hidden: true, + children: [ + { + path: 'index', + component: () => import('@/views/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user', noCache: true } + } + ] + } +] + +/** + * asyncRoutes + * the routes that need to be dynamically loaded based on user roles + */ +export const asyncRoutes = [ + +] + +const router = createRouter({ + history: createWebHashHistory(), // 使用 hash 模式 + scrollBehavior: () => ({ top: 0 }), + routes: constantRoutes +}) + +// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 +export function resetRouter() { + const newRouter = createRouter({ + history: createWebHashHistory(), + scrollBehavior: () => ({ top: 0 }), + routes: constantRoutes + }) + router.clearRoutes() + newRouter.getRoutes().forEach(route => { + router.addRoute(route) + }) +} + +export default router diff --git a/admin-ui/src/settings.js b/admin-ui/src/settings.js new file mode 100644 index 0000000..1a59468 --- /dev/null +++ b/admin-ui/src/settings.js @@ -0,0 +1,43 @@ +module.exports = { + title: 'go-admin后台管理系统', + + /** + * @type {boolean} true | false + * @description Whether show the settings right-panel + */ + showSettings: true, + + /** + * 是否显示顶部导航 + * 注:Element Plus 2.14.0 水平 el-menu 有 calcSliceIndex/childNodes bug,暂关闭 + */ + topNav: false, + + /** + * @type {boolean} true | false + * @description Whether need tagsView + */ + tagsView: true, + + /** + * @type {boolean} true | false + * @description Whether fix the header + */ + fixedHeader: true, + + /** + * @type {boolean} true | false + * @description Whether show the logo in sidebar + */ + sidebarLogo: true, + + /** + * @type {string | array} 'production' | ['production', 'development'] + * @description Need show err logs component. + * The default is only used in the production env + * If you want to also use it in dev, you can pass ['production', 'development'] + */ + errorLog: 'production', + + themeStyle: 'dark' +} diff --git a/admin-ui/src/store/getters.js b/admin-ui/src/store/getters.js new file mode 100644 index 0000000..f7b1531 --- /dev/null +++ b/admin-ui/src/store/getters.js @@ -0,0 +1,20 @@ +const getters = { + sidebar: state => state.app.sidebar, + size: state => state.app.size, + device: state => state.app.device, + visitedViews: state => state.tagsView.visitedViews, + cachedViews: state => state.tagsView.cachedViews, + token: state => state.user.token, + avatar: state => state.user.avatar, + name: state => state.user.name, + introduction: state => state.user.introduction, + roles: state => state.user.roles, + permisaction: state => state.user.permisaction, + permission_routes: state => state.permission.routes, + topbarRouters: state => state.permission.topbarRouters, + defaultRoutes: state => state.permission.defaultRoutes, + sidebarRouters: state => state.permission.sidebarRouters, + errorLogs: state => state.errorLog.logs, + appInfo: state => state.system.info +} +export default getters diff --git a/admin-ui/src/store/index.js b/admin-ui/src/store/index.js new file mode 100644 index 0000000..5707491 --- /dev/null +++ b/admin-ui/src/store/index.js @@ -0,0 +1,22 @@ +import { createStore } from 'vuex' +import getters from './getters' + +// https://webpack.js.org/guides/dependency-management/#requirecontext +const modulesFiles = require.context('./modules', true, /\.js$/) + +// you do not need `import app from './modules/app'` +// it will auto require all vuex module from modules file +const modules = modulesFiles.keys().reduce((modules, modulePath) => { + // set './app.js' => 'app' + const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') + const value = modulesFiles(modulePath) + modules[moduleName] = value.default + return modules +}, {}) + +const store = createStore({ + modules, + getters +}) + +export default store diff --git a/admin-ui/src/store/modules/app.js b/admin-ui/src/store/modules/app.js new file mode 100644 index 0000000..45d89bb --- /dev/null +++ b/admin-ui/src/store/modules/app.js @@ -0,0 +1,56 @@ +import Cookies from 'js-cookie' + +const state = { + sidebar: { + opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, + withoutAnimation: false + }, + device: 'desktop', + size: Cookies.get('size') || 'medium' +} + +const mutations = { + TOGGLE_SIDEBAR: state => { + state.sidebar.opened = !state.sidebar.opened + state.sidebar.withoutAnimation = false + if (state.sidebar.opened) { + Cookies.set('sidebarStatus', 1) + } else { + Cookies.set('sidebarStatus', 0) + } + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Cookies.set('sidebarStatus', 0) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + }, + SET_SIZE: (state, size) => { + state.size = size + Cookies.set('size', size) + } +} + +const actions = { + toggleSideBar({ commit }) { + commit('TOGGLE_SIDEBAR') + }, + closeSideBar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + toggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + }, + setSize({ commit }, size) { + commit('SET_SIZE', size) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/store/modules/errorLog.js b/admin-ui/src/store/modules/errorLog.js new file mode 100644 index 0000000..6b01f95 --- /dev/null +++ b/admin-ui/src/store/modules/errorLog.js @@ -0,0 +1,28 @@ +const state = { + logs: [] +} + +const mutations = { + ADD_ERROR_LOG: (state, log) => { + state.logs.push(log) + }, + CLEAR_ERROR_LOG: (state) => { + state.logs.splice(0) + } +} + +const actions = { + addErrorLog({ commit }, log) { + commit('ADD_ERROR_LOG', log) + }, + clearErrorLog({ commit }) { + commit('CLEAR_ERROR_LOG') + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/store/modules/permission.js b/admin-ui/src/store/modules/permission.js new file mode 100644 index 0000000..ad286fd --- /dev/null +++ b/admin-ui/src/store/modules/permission.js @@ -0,0 +1,186 @@ +import { constantRoutes } from '@/router' +import { getRoutes } from '@/api/admin/sys-role' +import Layout from '@/layout' +// import sysuserindex from '@/views/sysuser/index' + +/** + * Use meta.role to determine if the current user has permission + * @param roles + * @param route + */ +function hasPermission(roles, route) { + if (route.meta && route.meta.roles) { + return roles.some(role => route.meta.roles.includes(role)) + } else { + return true + } +} + +/** + * Use names to determine if the current user has permission + * @param names + * @param route + */ +function hasPathPermission(paths, route) { + if (route.path) { + return paths.some(path => route.path === path.path) + } else { + return true + } +} + +/** + * 后台查询的菜单数据拼装成路由格式的数据 + * @param routes + */ +export function generaMenu(routes, data) { + data.forEach(item => { + const menu = { + path: item.path, + component: item.component === 'Layout' ? Layout : loadView(item.component), + // eslint-disable-next-line eqeqeq + hidden: item.visible != '0', + children: [], + name: item.menuName, + meta: { + title: item.title, + icon: item.icon, + noCache: item.noCache + } + } + if (item.children) { + generaMenu(menu.children, item.children) + } + routes.push(menu) + }) +} + +// 使用 require.context 预建 views 目录索引, +// 绕过 babel-plugin-dynamic-import-node 在开发模式下将 import() 转换为 +// 同步 require() 导致 webpack 上下文失效的问题。 +const viewsContext = require.context('@/views', true, /\.vue$/) + +export const loadView = (view) => { // 路由懒加载 + const key = `.${view}.vue` + if (viewsContext.keys().includes(key)) { + // require.context 返回的是 { default: Component, __esModule: true }, + // Vue Router 4 需要直接拿到组件对象(.default),否则渲染空白 + const mod = viewsContext(key) + return mod.default || mod + } + // 兜底:动态 import(生产构建不受 dynamic-import-node 影响) + return () => import(`@/views${view}.vue`) +} + +/** + * Filter asynchronous routing tables by recursion + * @param routes asyncRoutes + * @param roles + */ +export function filterAsyncRoutes(routes, roles) { + const res = [] + + routes.forEach(route => { + const tmp = { ...route } + if (hasPermission(roles, tmp)) { + if (tmp.children) { + tmp.children = filterAsyncRoutes(tmp.children, roles) + } + res.push(tmp) + } + }) + + return res +} + +/** + * Filter asynchronous routing tables by recursion + * @param routes asyncRoutes + * @param components + */ +export function filterAsyncPathRoutes(routes, paths) { + const res = [] + + routes.forEach(route => { + const tmp = { ...route } + if (hasPathPermission(paths, tmp)) { + if (tmp.children) { + tmp.children = filterAsyncPathRoutes(tmp.children, paths) + } + res.push(tmp) + } + }) + + return res +} + +const state = { + routes: [], + addRoutes: [], + defaultRoutes: [], + topbarRouters: [], + sidebarRouters: [] +} + +const mutations = { + SET_ROUTES: (state, routes) => { + state.addRoutes = routes + state.routes = constantRoutes.concat(routes) + }, + SET_DEFAULT_ROUTES: (state, routes) => { + state.defaultRoutes = constantRoutes.concat(routes) + }, + SET_TOPBAR_ROUTES: (state, routes) => { + // 顶部导航菜单默认添加统计报表栏指向首页 + // const index = [{ + // path: 'dashboard', + // meta: { title: '统计报表', icon: 'dashboard' } + // }] + state.topbarRouters = routes // .concat(index) + }, + SET_SIDEBAR_ROUTERS: (state, routes) => { + state.sidebarRouters = routes + } +} + +const actions = { + generateRoutes({ commit }, roles) { + return new Promise(resolve => { + const loadMenuData = [] + + getRoutes().then(response => { + // console.log(JSON.stringify(response)) + let data = response + if (response.code !== 200) { + this.$message({ + message: '菜单数据加载异常', + type: 0 + }) + } else { + data = response.data + Object.assign(loadMenuData, data) + + const dynamicRoutes = [] + generaMenu(dynamicRoutes, loadMenuData) + dynamicRoutes.push({ path: '/:pathMatch(.*)*', redirect: '/', hidden: true }) + commit('SET_ROUTES', dynamicRoutes) + const sidebarRoutes = [] + generaMenu(sidebarRoutes, loadMenuData) + commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) + commit('SET_DEFAULT_ROUTES', sidebarRoutes) + commit('SET_TOPBAR_ROUTES', sidebarRoutes) + resolve(dynamicRoutes) + } + }).catch(error => { + console.log(error) + }) + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/store/modules/settings.js b/admin-ui/src/store/modules/settings.js new file mode 100644 index 0000000..983a28a --- /dev/null +++ b/admin-ui/src/store/modules/settings.js @@ -0,0 +1,37 @@ +import variables from '@/styles/element-variables.scss' +import defaultSettings from '@/settings' + +const { showSettings, topNav, tagsView, fixedHeader, sidebarLogo, themeStyle } = defaultSettings + +const state = { + theme: variables.theme, + showSettings: showSettings, + topNav: topNav, + tagsView: tagsView, + fixedHeader: fixedHeader, + sidebarLogo: sidebarLogo, + themeStyle: themeStyle +} + +const mutations = { + CHANGE_SETTING: (state, { key, value }) => { + // eslint-disable-next-line no-prototype-builtins + if (state.hasOwnProperty(key)) { + state[key] = value + } + } +} + +const actions = { + changeSetting({ commit }, data) { + commit('CHANGE_SETTING', data) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/admin-ui/src/store/modules/system.js b/admin-ui/src/store/modules/system.js new file mode 100644 index 0000000..a7ed0c4 --- /dev/null +++ b/admin-ui/src/store/modules/system.js @@ -0,0 +1,32 @@ +import { getSetting } from '@/api/login' +import storage from '@/utils/storage' +const state = { + info: storage.get('app_info') || {} +} + +const mutations = { + SET_INFO: (state, data) => { + state.info = data + storage.set('app_info', data) + } +} + +const actions = { + settingDetail({ commit }) { + return new Promise((resolve, reject) => { + getSetting().then(response => { + commit('SET_INFO', response.data) + resolve(response.data) + }).catch(error => { + reject(error) + }) + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/store/modules/tagsView.js b/admin-ui/src/store/modules/tagsView.js new file mode 100644 index 0000000..173425c --- /dev/null +++ b/admin-ui/src/store/modules/tagsView.js @@ -0,0 +1,162 @@ +const state = { + visitedViews: [], + cachedViews: [] +} + +const mutations = { + ADD_VISITED_VIEW: (state, view) => { + if (state.visitedViews.some(v => v.path === view.path)) return + state.visitedViews.push( + Object.assign({}, view, { + title: view.meta.title || 'no-name' + }) + ) + }, + ADD_CACHED_VIEW: (state, view) => { + if (state.cachedViews.includes(view.name)) return + if (!view.meta.noCache) { + state.cachedViews.push(view.name) + } + }, + + DEL_VISITED_VIEW: (state, view) => { + for (const [i, v] of state.visitedViews.entries()) { + if (v.path === view.path) { + state.visitedViews.splice(i, 1) + break + } + } + }, + DEL_CACHED_VIEW: (state, view) => { + const index = state.cachedViews.indexOf(view.name) + index > -1 && state.cachedViews.splice(index, 1) + }, + + DEL_OTHERS_VISITED_VIEWS: (state, view) => { + state.visitedViews = state.visitedViews.filter(v => { + return v.meta.affix || v.path === view.path + }) + }, + DEL_OTHERS_CACHED_VIEWS: (state, view) => { + if (state.cachedViews.length > 0) { + const index = state.cachedViews.indexOf(view.name) + if (index > -1) { + state.cachedViews = state.cachedViews.slice(index, index + 1) + } else { + // if index = -1, there is no cached tags + state.cachedViews = [] + } + } + }, + + DEL_ALL_VISITED_VIEWS: state => { + // keep affix tags + const affixTags = state.visitedViews.filter(tag => tag.meta.affix) + state.visitedViews = affixTags + }, + DEL_ALL_CACHED_VIEWS: state => { + state.cachedViews = [] + }, + + UPDATE_VISITED_VIEW: (state, view) => { + for (let v of state.visitedViews) { + if (v.path === view.path) { + v = Object.assign(v, view) + break + } + } + } +} + +const actions = { + addView({ dispatch }, view) { + dispatch('addVisitedView', view) + dispatch('addCachedView', view) + }, + addVisitedView({ commit }, view) { + commit('ADD_VISITED_VIEW', view) + }, + addCachedView({ commit }, view) { + commit('ADD_CACHED_VIEW', view) + }, + + delView({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delVisitedView', view) + dispatch('delCachedView', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delVisitedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_VISITED_VIEW', view) + resolve([...state.visitedViews]) + }) + }, + delCachedView({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_CACHED_VIEW', view) + resolve([...state.cachedViews]) + }) + }, + + delOthersViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delOthersVisitedViews', view) + dispatch('delOthersCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delOthersVisitedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_VISITED_VIEWS', view) + resolve([...state.visitedViews]) + }) + }, + delOthersCachedViews({ commit, state }, view) { + return new Promise(resolve => { + commit('DEL_OTHERS_CACHED_VIEWS', view) + resolve([...state.cachedViews]) + }) + }, + + delAllViews({ dispatch, state }, view) { + return new Promise(resolve => { + dispatch('delAllVisitedViews', view) + dispatch('delAllCachedViews', view) + resolve({ + visitedViews: [...state.visitedViews], + cachedViews: [...state.cachedViews] + }) + }) + }, + delAllVisitedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_VISITED_VIEWS') + resolve([...state.visitedViews]) + }) + }, + delAllCachedViews({ commit, state }) { + return new Promise(resolve => { + commit('DEL_ALL_CACHED_VIEWS') + resolve([...state.cachedViews]) + }) + }, + + updateVisitedView({ commit }, view) { + commit('UPDATE_VISITED_VIEW', view) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/store/modules/user.js b/admin-ui/src/store/modules/user.js new file mode 100644 index 0000000..0811a8e --- /dev/null +++ b/admin-ui/src/store/modules/user.js @@ -0,0 +1,153 @@ +import { login, logout, getInfo, refreshtoken } from '@/api/user' +import { getToken, setToken, removeToken } from '@/utils/auth' +import router, { resetRouter } from '@/router' +import storage from '@/utils/storage' + +const state = { + token: getToken(), + name: '', + avatar: '', + introduction: '', + roles: [], + permissions: [], + permisaction: [] +} + +const mutations = { + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_INTRODUCTION: (state, introduction) => { + state.introduction = introduction + }, + SET_NAME: (state, name) => { + state.name = name + }, + SET_AVATAR: (state, avatar) => { + if (avatar.indexOf('http') !== -1) { + state.avatar = avatar + } else { + state.avatar = process.env.VUE_APP_BASE_API + avatar + } + }, + SET_ROLES: (state, roles) => { + state.roles = roles + }, + SET_PERMISSIONS: (state, permisaction) => { + state.permisaction = permisaction + } +} + +const actions = { + // user login + login({ commit }, userInfo) { + return new Promise((resolve, reject) => { + login(userInfo).then(response => { + const { token } = response + commit('SET_TOKEN', token) + setToken(token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // get user info + getInfo({ commit, state }) { + return new Promise((resolve, reject) => { + getInfo().then(response => { + if (!response || !response.data) { + commit('SET_TOKEN', '') + removeToken() + return resolve() + } + + const { roles, name, avatar, introduction, permissions } = response.data + + // roles must be a non-empty array + if (!roles || roles.length <= 0) { + return reject('getInfo: roles must be a non-null array!') + } + commit('SET_PERMISSIONS', permissions) + commit('SET_ROLES', roles) + commit('SET_NAME', name) + commit('SET_AVATAR', avatar) + commit('SET_INTRODUCTION', introduction) + resolve(response) + }).catch(error => { + reject(error) + }) + }) + }, + // 退出系统 + LogOut({ commit, state }) { + return new Promise((resolve, reject) => { + logout(state.token).then(() => { + commit('SET_TOKEN', '') + commit('SET_ROLES', []) + commit('SET_PERMISSIONS', []) + removeToken() + storage.clear() + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 刷新token + refreshToken({ commit, state }) { + return new Promise((resolve, reject) => { + refreshtoken({ token: state.token }).then(response => { + const { token } = response + commit('SET_TOKEN', token) + setToken(token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + + // remove token + resetToken({ commit }) { + return new Promise(resolve => { + commit('SET_TOKEN', '') + removeToken() + resolve() + }) + }, + + // dynamically modify permissions + changeRoles({ commit, dispatch }, role) { + // eslint-disable-next-line no-async-promise-executor + return new Promise(async resolve => { + const token = role + '-token' + + commit('SET_TOKEN', token) + setToken(token) + + const { roles } = await dispatch('getInfo') + + resetRouter() + + // generate accessible routes map based on roles + const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true }) + + // dynamically add accessible routes + accessRoutes.forEach(route => router.addRoute(route)) + + // reset visited views and cached views + dispatch('tagsView/delAllViews', null, { root: true }) + + resolve() + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/admin-ui/src/styles/admin.css b/admin-ui/src/styles/admin.css new file mode 100644 index 0000000..2ba9847 --- /dev/null +++ b/admin-ui/src/styles/admin.css @@ -0,0 +1,213 @@ +@charset "UTF-8"; +/** + * 通用css样式布局处理 + * Copyright (c) 2019 ruoyi + */ +/** 基础通用 **/ +.pt5 { + padding-top: 5px; +} + +.pr5 { + padding-right: 5px; +} + +.pb5 { + padding-bottom: 5px; +} + +.mt5 { + margin-top: 5px; +} + +.mr5 { + margin-right: 5px; +} + +.mb5 { + margin-bottom: 5px; +} + +.mb8 { + margin-bottom: 8px; +} + +.ml5 { + margin-left: 5px; +} + +.mt10 { + margin-top: 10px; +} + +.mr10 { + margin-right: 10px; +} + +.mb10 { + margin-bottom: 10px; +} + +.ml0 { + margin-left: 10px; +} + +.mt20 { + margin-top: 20px; +} + +.mr20 { + margin-right: 20px; +} + +.mb20 { + margin-bottom: 20px; +} + +.m20 { + margin-left: 20px; +} + +.el-dialog { + margin-top: 6vh !important; +} + +.el-table .el-table__header-wrapper th { + word-break: break-word; + background-color: #f8f8f9; + color: #515a6e; + height: 40px; + font-size: 13px; +} + +/** 表单布局 **/ +.form-header { + font-size: 15px; + color: #6379bb; + border-bottom: 1px solid #ddd; + margin: 8px 10px 25px 10px; + padding-bottom: 5px; +} + +/** 表格布局 **/ +.pagination-container { + position: relative; + height: 25px; + margin-bottom: 10px; + margin-top: 15px; + padding: 10px 20px !important; +} + +.pagination-container .el-pagination { + right: 0; + position: absolute; +} + +.el-table .fixed-width .el-button--mini { + color: #409EFF; + padding-left: 0; + padding-right: 0; + width: inherit; +} + +.el-tree-node__content > .el-checkbox { + margin-right: 8px; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +.list-group { + padding-left: 0px; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; +} + +.pull-right { + float: right !important; +} + +.el-card__header { + padding: 14px 15px 7px; + min-height: 40px; +} + +.el-card__body { + padding: 15px 20px 20px 20px; +} + +.card-box { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 10px; +} + +/* text color */ +.text-navy { + color: #1ab394; +} + +.text-primary { + color: inherit; +} + +.text-success { + color: #1c84c6; +} + +.text-info { + color: #23c6c8; +} + +.text-warning { + color: #f8ac59; +} + +.text-danger { + color: #ed5565; +} + +.text-muted { + color: #888888; +} + +/* image */ +.img-circle { + border-radius: 50%; +} + +.img-lg { + width: 120px; + height: 120px; +} + +.avatar-upload-preview { + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 180px; + height: 180px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; +} + +.el-tabs__item { + font-size: 13px; +} + +.delete-popconfirm{ + margin-left: 10px; + } \ No newline at end of file diff --git a/admin-ui/src/styles/admin.min.css b/admin-ui/src/styles/admin.min.css new file mode 100644 index 0000000..ebd2d7a --- /dev/null +++ b/admin-ui/src/styles/admin.min.css @@ -0,0 +1 @@ +.pt5{padding-top:5px}.pr5{padding-right:5px}.pb5{padding-bottom:5px}.mt5{margin-top:5px}.mr5{margin-right:5px}.mb5{margin-bottom:5px}.mb8{margin-bottom:8px}.ml5{margin-left:5px}.mt10{margin-top:10px}.mr10{margin-right:10px}.mb10{margin-bottom:10px}.ml0{margin-left:10px}.mt20{margin-top:20px}.mr20{margin-right:20px}.mb20{margin-bottom:20px}.m20{margin-left:20px}.el-dialog{margin-top:6vh !important}.el-table .el-table__header-wrapper th{word-break:break-word;background-color:#f8f8f9;color:#515a6e;height:40px;font-size:13px}.form-header{font-size:15px;color:#6379bb;border-bottom:1px solid #ddd;margin:8px 10px 25px 10px;padding-bottom:5px}.pagination-container{position:relative;height:25px;margin-bottom:10px;margin-top:15px;padding:10px 20px !important}.pagination-container .el-pagination{right:0;position:absolute}.el-table .fixed-width .el-button--mini{color:#409EFF;padding-left:0;padding-right:0;width:inherit}.el-tree-node__content>.el-checkbox{margin-right:8px}.list-group-striped>.list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}.list-group{padding-left:0px;list-style:none}.list-group-item{border-bottom:1px solid #e7eaec;border-top:1px solid #e7eaec;margin-bottom:-1px;padding:11px 0px;font-size:13px}.pull-right{float:right !important}.el-card__header{padding:14px 15px 7px;min-height:40px}.el-card__body{padding:15px 20px 20px 20px}.card-box{padding-right:15px;padding-left:15px;margin-bottom:10px}.text-navy{color:#1ab394}.text-primary{color:inherit}.text-success{color:#1c84c6}.text-info{color:#23c6c8}.text-warning{color:#f8ac59}.text-danger{color:#ed5565}.text-muted{color:#888888}.img-circle{border-radius:50%}.img-lg{width:120px;height:120px}.avatar-upload-preview{position:absolute;top:50%;transform:translate(50%, -50%);width:180px;height:180px;border-radius:50%;box-shadow:0 0 4px #ccc;overflow:hidden}.el-tabs__item{font-size:13px} diff --git a/admin-ui/src/styles/admin.scss b/admin-ui/src/styles/admin.scss new file mode 100644 index 0000000..fa4a71b --- /dev/null +++ b/admin-ui/src/styles/admin.scss @@ -0,0 +1,204 @@ +// ══════════════════════════════════════════════════════════════════ +// 全局业务样式 — 布局、表单搜索、工具类 +// ══════════════════════════════════════════════════════════════════ + +// ── 间距工具类 ───────────────────────────────────────────────── +.pt5 { padding-top: 5px; } +.pr5 { padding-right: 5px; } +.pb5 { padding-bottom: 5px; } +.mt5 { margin-top: 5px; } +.mr5 { margin-right: 5px; } +.mb5 { margin-bottom: 5px; } +.mb8 { margin-bottom: 8px; } +.ml5 { margin-left: 5px; } +.mt10 { margin-top: 10px; } +.mr10 { margin-right: 10px; } +.mb10 { margin-bottom: 10px; } +.mt20 { margin-top: 20px; } +.mr20 { margin-right: 20px; } +.mb20 { margin-bottom: 20px; } + +// ── 搜索栏 ───────────────────────────────────────────────────── +// 业务页面统一使用 .search-form 包裹搜索区域 +.search-form { + padding: 14px 16px 6px; + background: #fff; + border-radius: 10px; + border: 1px solid #eef0f6; + margin-bottom: 12px; + box-shadow: 0 1px 3px rgba(0,0,0,0.04); + + .el-form-item { + margin-bottom: 10px; + } + + .el-input__wrapper, + .el-select .el-input__wrapper { + background: #fafbff; + } +} + +// ── 操作按钮行 .mb8 ───────────────────────────────────────────── +// 兼容原有 el-row :gutter="10" class="mb8" 写法 +.el-row.mb8 { + padding: 0 2px; +} + +// ── 表格容器 ─────────────────────────────────────────────────── +.el-table { + .el-table__header-wrapper, + .el-table__fixed-header-wrapper { + th { + word-break: break-word; + } + } + + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { margin-left: 1px; } + } + + // 操作列按钮 + .el-button.is-link + .el-divider--vertical + .el-button.is-link { + margin-left: 0; + } +} + +// ── 分页容器 ────────────────────────────────────────────────── +.pagination-container { + display: flex; + justify-content: flex-end; + align-items: center; + margin-top: 16px; + padding: 8px 4px; +} + +// ── 表单分区标题 .form-header ──────────────────────────────── +.form-header { + display: flex; + align-items: center; + gap: 8px; + font-size: 14px; + font-weight: 600; + color: #1e293b; + border-bottom: 2px solid #ede9fe; + margin: 8px 0 20px; + padding-bottom: 10px; + + &::before { + content: ''; + display: inline-block; + width: 4px; + height: 16px; + background: linear-gradient(135deg, #4f46e5, #7c3aed); + border-radius: 2px; + flex-shrink: 0; + } +} + +// ── 卡片容器 .card-box ────────────────────────────────────── +.card-box { + padding-right: 12px; + padding-left: 12px; + margin-bottom: 12px; +} + +// ── Tree ──────────────────────────────────────────────────── +.tree-border { + margin-top: 5px; + border: 1px solid #eef0f6; + background: #fff; + border-radius: 8px; + overflow: hidden; +} + +// ── 拖拽排序 ──────────────────────────────────────────────── +.sortable-ghost { + opacity: 0.8; + color: #fff !important; + background: #4f46e5 !important; + border-radius: 6px; +} + +// ── Drawer ────────────────────────────────────────────────── +.demo-drawer__content { + display: flex; + flex-direction: column; + height: 100%; + form { flex: 1; } +} + +.demo-drawer__footer { + display: flex; + gap: 8px; + padding: 12px 0; + button { flex: 1; } +} + +// ── 图片相关 ──────────────────────────────────────────────── +.img-circle { border-radius: 50%; } +.img-lg { width: 120px; height: 120px; } +.avatar-upload-preview { + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 8px rgba(0,0,0,0.15); + overflow: hidden; +} + +// ── 顶部右侧按钮 ──────────────────────────────────────────── +.top-right-btn { + position: relative; + float: right; +} + +// ── 文字色工具 ────────────────────────────────────────────── +.text-primary { color: #4f46e5; } +.text-success { color: #10b981; } +.text-warning { color: #f59e0b; } +.text-danger { color: #f43f5e; } +.text-info { color: #3b82f6; } +.text-muted { color: #94a3b8; } + +// ── pull-right ────────────────────────────────────────────── +.pull-right { float: right !important; } + +// ── 通用列表组 ────────────────────────────────────────────── +.list-group { + padding-left: 0; + list-style: none; +} + +.list-group-item { + border-bottom: 1px solid #f1f5f9; + border-top: 1px solid #f1f5f9; + margin-bottom: -1px; + padding: 10px 0; + font-size: 13px; + color: #374151; +} + +.list-group-striped > .list-group-item { + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; +} + +// ── 子菜单顶部导航栏修正 ────────────────────────────────── +.el-menu--horizontal > .el-submenu .el-submenu__title { + height: 50px !important; + line-height: 50px !important; +} + +// ── 操作工具栏(替代 el-row :gutter="10" class="mb8")────── +.toolbar { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 12px; + flex-wrap: wrap; +} diff --git a/admin-ui/src/styles/btn.scss b/admin-ui/src/styles/btn.scss new file mode 100644 index 0000000..09f8fc0 --- /dev/null +++ b/admin-ui/src/styles/btn.scss @@ -0,0 +1,99 @@ +@use './variables.scss' as *; + +@mixin colorBtn($color) { + background: $color; + + &:hover { + color: $color; + + &:before, + &:after { + background: $color; + } + } +} + +.blue-btn { + @include colorBtn($blue) +} + +.light-blue-btn { + @include colorBtn($light-blue) +} + +.red-btn { + @include colorBtn($red) +} + +.pink-btn { + @include colorBtn($pink) +} + +.green-btn { + @include colorBtn($green) +} + +.tiffany-btn { + @include colorBtn($tiffany) +} + +.yellow-btn { + @include colorBtn($yellow) +} + +.pan-btn { + font-size: 14px; + color: #fff; + padding: 14px 36px; + border-radius: 8px; + border: none; + outline: none; + transition: 600ms ease all; + position: relative; + display: inline-block; + + &:hover { + background: #fff; + + &:before, + &:after { + width: 100%; + transition: 600ms ease all; + } + } + + &:before, + &:after { + content: ''; + position: absolute; + top: 0; + right: 0; + height: 2px; + width: 0; + transition: 400ms ease all; + } + + &::after { + right: inherit; + top: inherit; + left: 0; + bottom: 0; + } +} + +.custom-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + color: #fff; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: 0; + margin: 0; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} diff --git a/admin-ui/src/styles/element-plus.scss b/admin-ui/src/styles/element-plus.scss new file mode 100644 index 0000000..0cc5d80 --- /dev/null +++ b/admin-ui/src/styles/element-plus.scss @@ -0,0 +1,576 @@ +// ══════════════════════════════════════════════════════════════════ +// Design System — Element Plus 全量组件覆盖 +// 参考 Ant Design 5.x 蓝色体系 +// Primary: #1677ff Hover: #4096ff Active: #0958d9 +// ══════════════════════════════════════════════════════════════════ + +// ── 全局 CSS Token (Ant Design 5.x Blue Palette) ──────────────── +:root { + --el-color-primary: #1677ff; + --el-color-primary-light-3: #4096ff; + --el-color-primary-light-5: #69b1ff; + --el-color-primary-light-7: #91caff; + --el-color-primary-light-8: #bae0ff; + --el-color-primary-light-9: #e6f4ff; + --el-color-primary-dark-2: #0958d9; + + --el-color-success: #52c41a; + --el-color-danger: #ff4d4f; + --el-color-warning: #faad14; + + --el-border-radius-base: 6px; + --el-border-radius-small: 4px; + --el-border-color: #d9d9d9; + --el-border-color-light: #f0f0f0; + --el-border-color-lighter: #f5f5f5; + + --el-text-color-primary: #000000d9; + --el-text-color-regular: #000000a6; + --el-text-color-secondary: #00000073; + --el-text-color-placeholder:#00000040; + + --el-bg-color: #ffffff; + --el-fill-color-light: #fafafa; +} + +// ═══════════════════════════════════ +// 一、卡片 el-card +// ═══════════════════════════════════ +.el-card { + border-radius: 8px !important; + border: 1px solid #f0f0f0 !important; + box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04) !important; + transition: box-shadow 0.3s; + + &:hover { + box-shadow: 0 1px 6px rgba(0,0,0,0.1), 0 6px 18px rgba(0,21,41,0.08) !important; + } + + .el-card__header { + padding: 14px 16px !important; + min-height: unset; + border-bottom: 1px solid #f0f0f0 !important; + background: #fafafa; + border-radius: 8px 8px 0 0; + font-size: 14px; + font-weight: 600; + color: #000000d9; + } + + .el-card__body { + padding: 16px !important; + } +} + +// ═══════════════════════════════════ +// 二、按钮 el-button +// ═══════════════════════════════════ +.el-button { + border-radius: 6px; + font-weight: 400; + transition: all 0.2s; + + &--primary { + background: #1677ff !important; + border-color: #1677ff !important; + &:hover, &:focus { + background: #4096ff !important; + border-color: #4096ff !important; + } + &:active { background: #0958d9 !important; border-color: #0958d9 !important; } + &.is-plain { + background: #e6f4ff !important; + border-color: #91caff !important; + color: #1677ff !important; + &:hover { background: #1677ff !important; border-color: #1677ff !important; color: #fff !important; } + } + &.is-link { color: #1677ff !important; background: transparent !important; border: none !important; } + } + + &--success { + background: #52c41a !important; + border-color: #52c41a !important; + &:hover { background: #73d13d !important; border-color: #73d13d !important; } + &.is-plain { + background: #f6ffed !important; + border-color: #b7eb8f !important; + color: #389e0d !important; + &:hover { background: #52c41a !important; color: #fff !important; border-color: #52c41a !important; } + } + &.is-link { color: #52c41a !important; background: transparent !important; border: none !important; } + } + + &--danger { + background: #ff4d4f !important; + border-color: #ff4d4f !important; + &:hover { background: #ff7875 !important; border-color: #ff7875 !important; } + &.is-plain { + background: #fff2f0 !important; + border-color: #ffccc7 !important; + color: #cf1322 !important; + &:hover { background: #ff4d4f !important; color: #fff !important; border-color: #ff4d4f !important; } + } + &.is-link { color: #ff4d4f !important; background: transparent !important; border: none !important; } + } + + &--warning { + background: #faad14 !important; + border-color: #faad14 !important; + color: #fff !important; + &:hover { background: #ffc53d !important; border-color: #ffc53d !important; } + &.is-plain { + background: #fffbe6 !important; + border-color: #ffe58f !important; + color: #d48806 !important; + &:hover { background: #faad14 !important; color: #fff !important; } + } + } + + &--default, &:not([class*='--']) { + border-color: #d9d9d9 !important; + color: #000000d9 !important; + &:hover { + border-color: #4096ff !important; + color: #1677ff !important; + background: #fff !important; + } + } +} + +// ═══════════════════════════════════ +// 三、输入框 +// ═══════════════════════════════════ +.el-input { + &__wrapper { + border-radius: 6px; + box-shadow: 0 0 0 1px #d9d9d9 inset !important; + transition: box-shadow 0.2s; + &:hover { box-shadow: 0 0 0 1px #4096ff inset !important; } + &.is-focus { + box-shadow: 0 0 0 1px #1677ff inset, 0 0 0 3px rgba(22,119,255,0.1) !important; + } + } + &__prefix-icon, &__suffix-icon { color: #00000040; } +} + +.el-textarea__inner { + border-radius: 6px; + border: 1px solid #d9d9d9; + transition: border-color 0.2s, box-shadow 0.2s; + &:hover { border-color: #4096ff; } + &:focus { + border-color: #1677ff; + box-shadow: 0 0 0 3px rgba(22,119,255,0.1); + outline: none; + } +} + +.el-select .el-input__wrapper.is-focus { + box-shadow: 0 0 0 1px #1677ff inset !important; +} + +// ═══════════════════════════════════ +// 四、表格 el-table +// ═══════════════════════════════════ +.el-table { + border-radius: 8px; + overflow: hidden; + border: 1px solid #f0f0f0 !important; + font-size: 13px; + + &::before, &::after { display: none; } + + th.el-table__cell { + background: #fafafa !important; + color: #000000d9 !important; + font-weight: 600; + font-size: 13px; + border-bottom: 1px solid #f0f0f0 !important; + border-right: 1px solid #f0f0f0 !important; + padding: 10px 0; + white-space: nowrap; + } + + td.el-table__cell { + border-bottom: 1px solid #f0f0f0 !important; + border-right: 1px solid #f5f5f5 !important; + color: #000000d9; + padding: 9px 0; + font-size: 13px; + } + + .el-table__row { + transition: background 0.15s; + &:hover td.el-table__cell { background: #e6f4ff !important; } + &:last-child td.el-table__cell { border-bottom: none !important; } + } + + &.el-table--striped .el-table__row--striped td.el-table__cell { + background: #fafafa !important; + } + + .el-checkbox__inner { + border-color: #d9d9d9; + border-radius: 3px; + } +} + +// ═══════════════════════════════════ +// 五、表单 el-form +// ═══════════════════════════════════ +.el-form-item { + margin-bottom: 18px; + + &__label { + font-weight: 500; + color: #000000d9; + font-size: 13px; + line-height: 1.5; + padding-bottom: 4px; + } + + &__error { + color: #ff4d4f; + font-size: 12px; + padding-top: 2px; + } +} + +.el-form--inline .el-form-item { margin-bottom: 10px; } + +// ═══════════════════════════════════ +// 六、对话框 el-dialog +// ═══════════════════════════════════ +.el-dialog { + border-radius: 10px !important; + overflow: hidden; + transform: none; + left: 0; + position: relative; + margin: 0 auto; + box-shadow: 0 6px 16px rgba(0,0,0,0.08), 0 3px 6px rgba(0,0,0,0.12) !important; + + &__header { + padding: 16px 20px 12px !important; + border-bottom: 1px solid #f0f0f0; + background: #fafafa; + margin: 0 !important; + } + + &__title { + font-weight: 600 !important; + color: #000000d9 !important; + font-size: 15px !important; + } + + &__headerbtn { + top: 14px !important; + right: 16px !important; + width: 28px; + height: 28px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; + &:hover { background: #f0f0f0; } + .el-dialog__close { + color: #00000073 !important; + &:hover { color: #1677ff !important; } + } + } + + &__body { + padding: 20px 24px !important; + color: #000000d9; + font-size: 14px; + } + + &__footer { + padding: 12px 20px 16px !important; + border-top: 1px solid #f0f0f0; + background: #fafafa; + .dialog-footer { + display: flex; + justify-content: flex-end; + gap: 8px; + } + } +} + +.el-dialog:not(.is-fullscreen) { margin-top: 6vh !important; } + +// ═══════════════════════════════════ +// 七、标签 el-tag +// ═══════════════════════════════════ +.el-tag { + border-radius: 4px; + font-weight: 400; + font-size: 12px; + padding: 0 7px; + height: 22px; + line-height: 20px; + border: 1px solid; + + &--success { + background: #f6ffed !important; + border-color: #b7eb8f !important; + color: #389e0d !important; + } + &--danger { + background: #fff2f0 !important; + border-color: #ffccc7 !important; + color: #cf1322 !important; + } + &--warning { + background: #fffbe6 !important; + border-color: #ffe58f !important; + color: #d48806 !important; + } + &--info { + background: #f5f5f5 !important; + border-color: #d9d9d9 !important; + color: #595959 !important; + } + &--primary, &:not([class*="el-tag--"]) { + background: #e6f4ff !important; + border-color: #91caff !important; + color: #1677ff !important; + } +} + +// ═══════════════════════════════════ +// 八、分页 el-pagination +// ═══════════════════════════════════ +.el-pagination { + .el-pager li { + border-radius: 6px; + min-width: 32px; + height: 32px; + line-height: 32px; + font-size: 13px; + border: 1px solid #d9d9d9; + margin: 0 2px; + background: #fff; + transition: all 0.2s; + &.is-active { + background: #1677ff !important; + border-color: #1677ff !important; + color: #fff !important; + font-weight: 600; + } + &:hover:not(.is-active) { + color: #1677ff; + border-color: #1677ff; + } + } + + .btn-prev, .btn-next { + border-radius: 6px; + border: 1px solid #d9d9d9; + width: 32px; + height: 32px; + background: #fff; + &:hover { color: #1677ff; border-color: #1677ff; } + &:disabled { background: #f5f5f5; color: #d9d9d9; border-color: #d9d9d9; } + } +} + +// ═══════════════════════════════════ +// 九、下拉面板 +// ═══════════════════════════════════ +.el-select-dropdown { + border-radius: 8px !important; + border: 1px solid #f0f0f0 !important; + box-shadow: 0 6px 16px rgba(0,0,0,0.08), 0 3px 6px rgba(0,0,0,0.12) !important; + overflow: hidden; + + &__item { + font-size: 13px; + height: 34px; + line-height: 34px; + padding: 0 12px; + border-radius: 4px; + margin: 0 4px; + &.is-selected { color: #1677ff; font-weight: 600; background: #e6f4ff; } + &:hover:not(.is-selected) { background: #e6f4ff; color: #1677ff; } + &.is-disabled { color: #d9d9d9; } + } +} + +// ═══════════════════════════════════ +// 十、Tabs +// ═══════════════════════════════════ +.el-tabs { + &__active-bar { background: #1677ff; height: 2px; border-radius: 2px; } + &__item { + font-size: 14px; + font-weight: 400; + color: #000000a6; + padding: 0 16px; + &.is-active { color: #1677ff; font-weight: 600; } + &:hover:not(.is-active) { color: #1677ff; } + } + &__nav-wrap::after { background-color: #f0f0f0; height: 1px; } +} + +// ═══════════════════════════════════ +// 十一、Dropdown +// ═══════════════════════════════════ +.el-dropdown-menu { + border-radius: 8px; + border: 1px solid #f0f0f0; + box-shadow: 0 6px 16px rgba(0,0,0,0.08), 0 3px 6px rgba(0,0,0,0.12); + padding: 4px; + overflow: hidden; + + &__item { + border-radius: 4px; + font-size: 13px; + padding: 8px 12px; + color: #000000d9; + &:hover { background: #e6f4ff; color: #1677ff; } + &.is-disabled { color: #d9d9d9; } + &--divided { border-top: 1px solid #f0f0f0; margin-top: 4px; padding-top: 8px; } + } + + a { display: block; } +} + +// ═══════════════════════════════════ +// 十二、Popover / Tooltip +// ═══════════════════════════════════ +.el-popover { + border-radius: 8px !important; + border: 1px solid #f0f0f0 !important; + box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important; + padding: 12px !important; + font-size: 13px; +} + +// ═══════════════════════════════════ +// 十三、Radio / Checkbox +// ═══════════════════════════════════ +.el-radio { + .el-radio__inner { border-color: #d9d9d9; transition: all 0.2s; } + &.is-checked { + .el-radio__inner { border-color: #1677ff; background: #1677ff; } + .el-radio__label { color: #1677ff; } + } +} + +.el-checkbox { + .el-checkbox__inner { border-color: #d9d9d9; border-radius: 3px; transition: all 0.2s; } + &.is-checked { + .el-checkbox__inner { background: #1677ff; border-color: #1677ff; } + .el-checkbox__label { color: #1677ff; } + } + &.is-indeterminate .el-checkbox__inner { background: #1677ff; border-color: #1677ff; } +} + +// ═══════════════════════════════════ +// 十四、Switch / Progress +// ═══════════════════════════════════ +.el-switch.is-checked .el-switch__core { border-color: #1677ff; background: #1677ff; } + +.el-progress-bar__inner { + background: linear-gradient(90deg, #40a9ff, #1677ff); + border-radius: 4px; +} + +// ═══════════════════════════════════ +// 十五、消息 / Alert +// ═══════════════════════════════════ +.el-message { + border-radius: 8px; + box-shadow: 0 6px 16px rgba(0,0,0,0.08); + border: 1px solid #f0f0f0; + padding: 12px 16px; +} + +.el-alert { + border-radius: 8px; + border: none; + &.el-alert--success { background: #f6ffed; } + &.el-alert--warning { background: #fffbe6; } + &.el-alert--error { background: #fff2f0; } + &.el-alert--info { background: #e6f4ff; } +} + +// ═══════════════════════════════════ +// 十六、面包屑 +// ═══════════════════════════════════ +.el-breadcrumb { + &__inner, &__inner a { + font-weight: 400 !important; + color: #000000a6; + } + &__inner.is-link, &__inner a { + &:hover { color: #1677ff; } + } + &__separator { color: #d9d9d9; } +} + +// ═══════════════════════════════════ +// 十七、Upload +// ═══════════════════════════════════ +.el-upload { + input[type="file"] { display: none !important; } + &__input { display: none; } + &-dragger { + border-radius: 8px; + border: 1px dashed #d9d9d9; + background: #fafafa; + transition: all 0.3s; + &:hover { border-color: #1677ff; background: #e6f4ff; } + } +} + +.upload-container .el-upload { + width: 100%; + .el-upload-dragger { width: 100%; height: 200px; } +} + +// ═══════════════════════════════════ +// 十八、DatePicker +// ═══════════════════════════════════ +.el-date-editor { border-radius: 6px; } +.el-range-editor.el-input__inner { display: inline-flex !important; } +.el-range-separator { box-sizing: content-box; } +.el-picker__popper { + border-radius: 8px !important; + border: 1px solid #f0f0f0 !important; + box-shadow: 0 6px 16px rgba(0,0,0,0.08) !important; +} + +// ═══════════════════════════════════ +// 十九、Drawer +// ═══════════════════════════════════ +.el-drawer { + overflow-y: auto; + &__header { + padding: 16px 20px 12px; + border-bottom: 1px solid #f0f0f0; + background: #fafafa; + margin: 0; + font-weight: 600; + color: #000000d9; + font-size: 15px; + } + &__body { padding: 20px; } + &__footer { + padding: 12px 20px; + border-top: 1px solid #f0f0f0; + background: #fafafa; + } +} + +// ═══════════════════════════════════ +// 二十、Misc +// ═══════════════════════════════════ +.el-tree-node__content > .el-checkbox { margin-right: 8px; } +.cell .el-tag { margin-right: 0; } +.small-padding .cell { padding-left: 5px; padding-right: 5px; } +.fixed-width .el-button--mini { padding: 7px 10px; width: 60px; } +.status-col .cell { padding: 0 10px; text-align: center; } +.delete-popconfirm { margin-left: 10px; } diff --git a/admin-ui/src/styles/element-theme.css b/admin-ui/src/styles/element-theme.css new file mode 100644 index 0000000..e69de29 diff --git a/admin-ui/src/styles/element-theme.js b/admin-ui/src/styles/element-theme.js new file mode 100644 index 0000000..e69de29 diff --git a/admin-ui/src/styles/element-variables.module.scss b/admin-ui/src/styles/element-variables.module.scss new file mode 100644 index 0000000..8359029 --- /dev/null +++ b/admin-ui/src/styles/element-variables.module.scss @@ -0,0 +1,29 @@ +/** +* Element Plus theme variables (CSS Modules export for JS consumption) +**/ + +/* theme color */ +$--color-primary: #1890ff; +$--color-success: #13ce66; +$--color-warning: #FFBA00; +$--color-danger: #ff4949; +// $--color-info: #1E1E1E; + +$--button-font-weight: 400; + +// $--color-text-regular: #1f2d3d; + +$--border-color-light: #dfe4ed; +$--border-color-lighter: #e6ebf5; + +$--table-border:1px solid#dfe6ec; + +/* icon font path, required */ +$--font-path: '~element-plus/theme-chalk/fonts'; + +@use "element-plus/theme-chalk/src/index.scss" as *; + +// export primary theme color for JS access +:export { + theme: $--color-primary; +} diff --git a/admin-ui/src/styles/element-variables.scss b/admin-ui/src/styles/element-variables.scss new file mode 100644 index 0000000..6dd626c --- /dev/null +++ b/admin-ui/src/styles/element-variables.scss @@ -0,0 +1,30 @@ +/** +* Element Plus theme customization +**/ + +/* theme color */ +$--el-color-primary: #1890ff !default; +$--el-color-success: #13ce66 !default; +$--el-color-warning: #FFBA00 !default; +$--el-color-danger: #ff4949 !default; + +$--el-button-font-weight: 400 !default; + +$--el-border-color-light: #dfe4ed !default; +$--el-border-color-lighter: #e6ebf5 !default; + +$--el-table-border: 1px solid #dfe6ec !default; + +// Element Plus uses CSS variables for theming, so we can override them +:root { + --el-color-primary: #{$--el-color-primary}; + --el-color-success: #{$--el-color-success}; + --el-color-warning: #{$--el-color-warning}; + --el-color-danger: #{$--el-color-danger}; +} + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + theme: $--el-color-primary; +} diff --git a/admin-ui/src/styles/index.scss b/admin-ui/src/styles/index.scss new file mode 100644 index 0000000..9193a9d --- /dev/null +++ b/admin-ui/src/styles/index.scss @@ -0,0 +1,196 @@ +@use './variables.scss' as *; +@use './mixin.scss' as *; +@use './transition.scss' as *; +@use './element-plus.scss' as *; +@use './sidebar.scss' as *; +@use './btn.scss' as *; + +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +// label { +// font-weight: 700; +// } + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + a { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.pagination-container { + margin-top: 30px; +} + +.text-center { + text-align: center +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + + .subtitle { + font-size: 20px; + color: #fff; + } + + &.draft { + background: #d0d0d0; + } + + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} + +//refine vue-multiselect plugin +.multiselect { + line-height: 16px; +} + +.multiselect--active { + z-index: 1000 !important; +} + + +.el-card + .el-card { + margin-top: 12px; +} diff --git a/admin-ui/src/styles/mixin.scss b/admin-ui/src/styles/mixin.scss new file mode 100644 index 0000000..2241417 --- /dev/null +++ b/admin-ui/src/styles/mixin.scss @@ -0,0 +1,66 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width*0.5; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + + @if $direction==up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } + + @else if $direction==down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } + + @else if $direction==left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} diff --git a/admin-ui/src/styles/sidebar.scss b/admin-ui/src/styles/sidebar.scss new file mode 100644 index 0000000..20874c1 --- /dev/null +++ b/admin-ui/src/styles/sidebar.scss @@ -0,0 +1,263 @@ +@use './variables.scss' as *; + +#app { + + .main-container { + min-height: 100%; + transition: margin-left .28s; + margin-left: $sideBarWidth; + position: relative; + } + + .sidebar-container { + -webkit-transition: width .28s; + transition: width 0.28s; + width: $sideBarWidth !important; + background-color: $menuBg; + height: 100%; + position: fixed; + font-size: 0px; + top: 0; + bottom: 0; + left: 0; + z-index: 1001; + overflow: hidden; + -webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, .35); + box-shadow: 2px 0 6px rgba(0, 21, 41, .35); + + .horizontal-collapse-transition { + transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out; + } + + .scrollbar-wrapper { + overflow-x: hidden !important; + } + + .el-scrollbar__bar.is-vertical { + right: 0px; + } + + .el-scrollbar { + height: 100%; + } + + &.has-logo { + .el-scrollbar { + height: calc(100% - 64px); + } + } + + .is-horizontal { + display: none; + } + + a { + display: inline-block; + width: 100%; + overflow: hidden; + } + + .svg-icon { + margin-right: 16px; + } + + .el-menu { + border: none; + height: 100%; + width: 100% !important; + --el-menu-bg-color: #{$menuBg}; + background-color: $menuBg !important; + border-right: none !important; + } + + // 统一菜单项高度(Element Plus 2.x 默认 56px 偏大,收紧至 50px) + .el-menu-item, + .el-sub-menu__title, + .el-submenu__title { + height: 50px !important; + line-height: 50px !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + color: #fff !important; + } + + // 顶级 el-menu-item(如"首页")必须设置深色背景,否则白字不可见 + .el-menu-item { + background-color: $menuBg !important; + + &:hover { + background-color: $menuHover !important; + } + + &.is-active { + background-color: $subMenuBg !important; + color: $menuActiveText !important; + } + } + + // 展开的子菜单 el-menu-item 强制暗色背景 + 白色文字 + .el-sub-menu .el-menu-item, + .el-submenu .el-menu-item { + background-color: $subMenuBg !important; + color: #fff !important; + min-width: $sideBarWidth !important; + + &:hover { + background-color: $subMenuHover !important; + } + + &.is-active { + color: $menuActiveText !important; + } + } + + // 嵌套子菜单标题 + .nest-menu .el-sub-menu > .el-sub-menu__title, + .nest-menu .el-submenu > .el-submenu__title { + background-color: $subMenuBg !important; + color: #fff !important; + min-width: $sideBarWidth !important; + + &:hover { + background-color: $subMenuHover !important; + } + } + + // 父级菜单标题 hover 效果 + .submenu-title-noDropdown, + .el-sub-menu__title, + .el-submenu__title { + &:hover { + background-color: $menuHover !important; + } + } + + .is-active > .el-sub-menu__title, + .is-active > .el-submenu__title { + color: $subMenuActiveText !important; + } + } + + .hideSidebar { + .sidebar-container { + width: 54px !important; + } + + .main-container { + margin-left: 54px; + } + + .submenu-title-noDropdown { + padding: 0 !important; + position: relative; + + .el-tooltip { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-sub-menu, + .el-submenu { + overflow: hidden; + + > .el-sub-menu__title, + > .el-submenu__title { + padding: 0 !important; + + .svg-icon { + margin-left: 20px; + } + } + } + + .el-menu--collapse { + .el-sub-menu, + .el-submenu { + > .el-sub-menu__title, + > .el-submenu__title { + > span { + height: 0; + width: 0; + overflow: hidden; + visibility: hidden; + display: inline-block; + } + } + } + } + } + + .el-menu--collapse .el-menu .el-sub-menu, + .el-menu--collapse .el-menu .el-submenu { + min-width: $sideBarWidth !important; + } + + // mobile responsive + .mobile { + .main-container { + margin-left: 0px; + } + + .sidebar-container { + transition: transform .28s; + width: $sideBarWidth !important; + } + + &.hideSidebar { + .sidebar-container { + pointer-events: none; + transition-duration: 0.3s; + transform: translate3d(-$sideBarWidth, 0, 0); + } + } + } + + .withoutAnimation { + + .main-container, + .sidebar-container { + transition: none; + } + } +} + +// when menu collapsed +.el-menu--vertical { + > .el-menu { + .svg-icon { + margin-right: 16px; + } + } + + .nest-menu .el-sub-menu > .el-sub-menu__title, + .nest-menu .el-submenu > .el-submenu__title, + .el-menu-item { + &:hover { + background-color: rgba(0, 0, 0, 0.06) !important; + } + } + + // the scroll bar appears when the subMenu is too long + > .el-menu--popup { + max-height: 100vh; + overflow-y: auto; + + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } + } +} diff --git a/admin-ui/src/styles/transition.scss b/admin-ui/src/styles/transition.scss new file mode 100644 index 0000000..4cb27cc --- /dev/null +++ b/admin-ui/src/styles/transition.scss @@ -0,0 +1,48 @@ +// global transition css + +/* fade */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.28s; +} + +.fade-enter, +.fade-leave-active { + opacity: 0; +} + +/* fade-transform */ +.fade-transform-leave-active, +.fade-transform-enter-active { + transition: all .5s; +} + +.fade-transform-enter { + opacity: 0; + transform: translateX(-30px); +} + +.fade-transform-leave-to { + opacity: 0; + transform: translateX(30px); +} + +/* breadcrumb transition */ +.breadcrumb-enter-active, +.breadcrumb-leave-active { + transition: all .5s; +} + +.breadcrumb-enter, +.breadcrumb-leave-active { + opacity: 0; + transform: translateX(20px); +} + +.breadcrumb-move { + transition: all .5s; +} + +.breadcrumb-leave-active { + position: absolute; +} diff --git a/admin-ui/src/styles/variables.css b/admin-ui/src/styles/variables.css new file mode 100644 index 0000000..04d422c --- /dev/null +++ b/admin-ui/src/styles/variables.css @@ -0,0 +1,13 @@ +:export { + menuActiveText: #409EFF; + subMenuActiveText: #f4f4f5; + menuBg: #001529; + menuHover: #000c17; + menuLightBg: #ffffff; + menuLightHover: #f0f1f5; + subMenuBg: #000c17; + subMenuHover: #001528; + sideBarWidth: 210px; + sidebarTitle: #ffffff; + sidebarLightTitle: #001529; +} diff --git a/admin-ui/src/styles/variables.min.css b/admin-ui/src/styles/variables.min.css new file mode 100644 index 0000000..a279fd5 --- /dev/null +++ b/admin-ui/src/styles/variables.min.css @@ -0,0 +1 @@ +:export{menuActiveText:#409EFF;subMenuActiveText:#f4f4f5;menuBg:#001529;menuHover:#000c17;menuLightBg:#fff;menuLightHover:#f0f1f5;subMenuBg:#000c17;subMenuHover:#001528;sideBarWidth:256px;sidebarTitle:#fff;sidebarLightTitle:#001529} diff --git a/admin-ui/src/styles/variables.module.scss b/admin-ui/src/styles/variables.module.scss new file mode 100644 index 0000000..e69de29 diff --git a/admin-ui/src/styles/variables.scss b/admin-ui/src/styles/variables.scss new file mode 100644 index 0000000..d9d5d67 --- /dev/null +++ b/admin-ui/src/styles/variables.scss @@ -0,0 +1,43 @@ +// base color +$blue:#324157; +$light-blue:#3A71A8; +$red:#C03639; +$pink: #E65D6E; +$green: #30B08F; +$tiffany: #4AB7BD; +$yellow:#FEC171; +$panGreen: #30B08F; + +// sidebar — Ant Design Pro 经典深蓝配色 +$menuActiveText:#1677ff; +$subMenuActiveText:#69b1ff; + +$menuBg:#001529; +$menuHover:#000c17; +$sidebarTitle: #ffffff; + +$menuLightBg:#ffffff; +$menuLightHover:#e6f4ff; +$sidebarLightTitle: #001d66; + +$subMenuBg:#000c17; +$subMenuHover:#001528; + +$sideBarWidth: 210px; + +// the :export directive is the magic sauce for webpack +// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass +:export { + // menuText: $menuText; + menuActiveText: $menuActiveText; + subMenuActiveText: $subMenuActiveText; + menuBg: $menuBg; + menuHover: $menuHover; + menuLightBg: $menuLightBg; + menuLightHover: $menuLightHover; + subMenuBg: $subMenuBg; + subMenuHover: $subMenuHover; + sideBarWidth: $sideBarWidth; + sidebarTitle: $sidebarTitle; + sidebarLightTitle: $sidebarLightTitle +} diff --git a/admin-ui/src/utils/auth.js b/admin-ui/src/utils/auth.js new file mode 100644 index 0000000..08a43d6 --- /dev/null +++ b/admin-ui/src/utils/auth.js @@ -0,0 +1,15 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'Admin-Token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} diff --git a/admin-ui/src/utils/costum.js b/admin-ui/src/utils/costum.js new file mode 100644 index 0000000..ffcd41f --- /dev/null +++ b/admin-ui/src/utils/costum.js @@ -0,0 +1,106 @@ + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + if (time.indexOf('01-01-01') > -1) { + return '-' + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +// 表单重置 +export function resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields() + } +} + +// 添加日期范围 +export function addDateRange(params, dateRange) { + var search = params + search.beginTime = '' + search.endTime = '' + if (dateRange != null && dateRange !== '') { + search.beginTime = this.dateRange[0] + search.endTime = this.dateRange[1] + } + return search +} + +// 回显数据字典 +export function selectDictLabel(datas, value) { + var actions = [] + Object.keys(datas).map((key) => { + if (datas[key].value === ('' + value)) { + actions.push(datas[key].label) + return false + } + }) + return actions.join('') +} + +export function selectItemsLabel(datas, value) { + var actions = [] + Object.keys(datas).map((key) => { + if (datas[key].key === ('' + value)) { + actions.push(datas[key].value) + return false + } + }) + return actions.join('') +} + +// 字符串格式化(%s ) +export function sprintf(str) { + var args = arguments; var flag = true; var i = 1 + str = str.replace(/%s/g, function() { + var arg = args[i++] + if (typeof arg === 'undefined') { + flag = false + return '' + } + return arg + }) + return flag ? str : '' +} + +// 转换字符串,undefined,null等转化为"" +export function praseStrEmpty(str) { + if (!str || str === 'undefined' || str === 'null') { + return '' + } + return str +} diff --git a/admin-ui/src/utils/dialog.js b/admin-ui/src/utils/dialog.js new file mode 100644 index 0000000..9fa986c --- /dev/null +++ b/admin-ui/src/utils/dialog.js @@ -0,0 +1,75 @@ +// v-dialogDrag: 弹窗拖拽属性 +export const dialogDrag = { + mounted(el, binding, vnode) { + const dialogHeaderEl = el.querySelector('.el-dialog__header') + const dragDom = el.querySelector('.el-dialog') + dialogHeaderEl.style.cssText += ';cursor:move;' + // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null); + const sty = (function() { + if (window.document.currentStyle) { + return (dom, attr) => dom.currentStyle[attr] + } else { + return (dom, attr) => getComputedStyle(dom, false)[attr] + } + })() + + dialogHeaderEl.onmousedown = (e) => { + // 鼠标按下,计算当前元素距离可视区的距离 + const disX = e.clientX - dialogHeaderEl.offsetLeft + const disY = e.clientY - dialogHeaderEl.offsetTop + + const screenWidth = document.body.clientWidth // body当前宽度 + const screenHeight = document.documentElement.clientHeight // 可见区域高度(应为body高度,可某些环境下无法获取) + + const dragDomWidth = dragDom.offsetWidth // 对话框宽度 + const dragDomheight = dragDom.offsetHeight // 对话框高度 + + const minDragDomLeft = dragDom.offsetLeft + const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth + + const minDragDomTop = dragDom.offsetTop + const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight + + // 获取到的值带px 正则匹配替换 + let styL = sty(dragDom, 'left') + let styT = sty(dragDom, 'top') + + // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px + if (styL.includes('%')) { + styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100) + styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100) + } else { + styL = +styL.replace(/\px/g, '') + styT = +styT.replace(/\px/g, '') + } + + document.onmousemove = function(e) { + // 通过事件委托,计算移动的距离 + let left = e.clientX - disX + let top = e.clientY - disY + + // 边界处理 + if (-(left) > minDragDomLeft) { + left = -(minDragDomLeft) + } else if (left > maxDragDomLeft) { + left = maxDragDomLeft + } + + if (-(top) > minDragDomTop) { + top = -(minDragDomTop) + } else if (top > maxDragDomTop) { + top = maxDragDomTop + } + + // 移动当前元素 + dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;` + } + + document.onmouseup = function(e) { + document.onmousemove = null + document.onmouseup = null + } + return false + } + } +} diff --git a/admin-ui/src/utils/error-log.js b/admin-ui/src/utils/error-log.js new file mode 100644 index 0000000..00c7207 --- /dev/null +++ b/admin-ui/src/utils/error-log.js @@ -0,0 +1,38 @@ +import { nextTick } from 'vue' +import store from '@/store' +import { isString, isArray } from '@/utils/validate' +import settings from '@/settings' + +// you can set in settings.js +// errorLog:'production' | ['production', 'development'] +const { errorLog: needErrorLog } = settings + +function checkNeed() { + const env = process.env.NODE_ENV + if (isString(needErrorLog)) { + return env === needErrorLog + } + if (isArray(needErrorLog)) { + return needErrorLog.includes(env) + } + return false +} + +// Export error handler configuration +export function setupErrorHandler(app) { + if (checkNeed()) { + app.config.errorHandler = function(err, vm, info) { + // Don't ask me why I use nextTick, it just a hack. + // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500 + nextTick(() => { + store.dispatch('errorLog/addErrorLog', { + err, + vm, + info, + url: window.location.href + }) + console.error(err, info) + }) + } + } +} diff --git a/admin-ui/src/utils/eventbus.js b/admin-ui/src/utils/eventbus.js new file mode 100644 index 0000000..b0230b5 --- /dev/null +++ b/admin-ui/src/utils/eventbus.js @@ -0,0 +1,2 @@ +import Vue from 'vue' +export default new Vue() diff --git a/admin-ui/src/utils/generator/config.js b/admin-ui/src/utils/generator/config.js new file mode 100644 index 0000000..a2ae2aa --- /dev/null +++ b/admin-ui/src/utils/generator/config.js @@ -0,0 +1,423 @@ +export const formConf = { + formRef: 'elForm', + formModel: 'formData', + size: 'medium', + labelPosition: 'right', + labelWidth: 100, + formRules: 'rules', + gutter: 15, + disabled: false, + span: 24, + formBtns: true +} + +export const inputComponents = [ + { + label: '单行文本', + tag: 'el-input', + tagIcon: 'input', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '多行文本', + tag: 'el-input', + tagIcon: 'textarea', + type: 'textarea', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + labelWidth: null, + autosize: { + minRows: 4, + maxRows: 4 + }, + style: { width: '100%' }, + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '密码', + tag: 'el-input', + tagIcon: 'password', + placeholder: '请输入', + defaultValue: undefined, + span: 24, + 'show-password': true, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': '', + 'suffix-icon': '', + maxlength: null, + 'show-word-limit': false, + readonly: false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input' + }, + { + label: '计数器', + tag: 'el-input-number', + tagIcon: 'number', + placeholder: '', + defaultValue: undefined, + span: 24, + labelWidth: null, + min: undefined, + max: undefined, + step: undefined, + 'step-strictly': false, + precision: undefined, + 'controls-position': '', + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/input-number' + } +] + +export const selectComponents = [ + { + label: '下拉选择', + tag: 'el-select', + tagIcon: 'select', + placeholder: '请选择', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: { width: '100%' }, + clearable: true, + disabled: false, + required: true, + filterable: false, + multiple: false, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/select' + }, + { + label: '级联选择', + tag: 'el-cascader', + tagIcon: 'cascader', + placeholder: '请选择', + defaultValue: [], + span: 24, + labelWidth: null, + style: { width: '100%' }, + props: { + props: { + multiple: false + } + }, + 'show-all-levels': true, + disabled: false, + clearable: true, + filterable: false, + required: true, + options: [{ + id: 1, + value: 1, + label: '选项1', + children: [{ + id: 2, + value: 2, + label: '选项1-1' + }] + }], + dataType: 'dynamic', + labelKey: 'label', + valueKey: 'value', + childrenKey: 'children', + separator: '/', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/cascader' + }, + { + label: '单选框组', + tag: 'el-radio-group', + tagIcon: 'radio', + defaultValue: undefined, + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'medium', + disabled: false, + required: true, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/radio' + }, + { + label: '多选框组', + tag: 'el-checkbox-group', + tagIcon: 'checkbox', + defaultValue: [], + span: 24, + labelWidth: null, + style: {}, + optionType: 'default', + border: false, + size: 'medium', + disabled: false, + required: true, + options: [{ + label: '选项一', + value: 1 + }, { + label: '选项二', + value: 2 + }], + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/checkbox' + }, + { + label: '开关', + tag: 'el-switch', + tagIcon: 'switch', + defaultValue: false, + span: 24, + labelWidth: null, + style: {}, + disabled: false, + required: true, + 'active-text': '', + 'inactive-text': '', + 'active-color': null, + 'inactive-color': null, + 'active-value': true, + 'inactive-value': false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/switch' + }, + { + label: '滑块', + tag: 'el-slider', + tagIcon: 'slider', + defaultValue: null, + span: 24, + labelWidth: null, + disabled: false, + required: true, + min: 0, + max: 100, + step: 1, + 'show-stops': false, + range: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/slider' + }, + { + label: '时间选择', + tag: 'el-time-picker', + tagIcon: 'time', + placeholder: '请选择', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + 'picker-options': { + selectableRange: '00:00:00-23:59:59' + }, + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker' + }, + { + label: '时间范围', + tag: 'el-time-picker', + tagIcon: 'time-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + 'is-range': true, + 'range-separator': '至', + 'start-placeholder': '开始时间', + 'end-placeholder': '结束时间', + format: 'HH:mm:ss', + 'value-format': 'HH:mm:ss', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/time-picker' + }, + { + label: '日期选择', + tag: 'el-date-picker', + tagIcon: 'date', + placeholder: '请选择', + defaultValue: null, + type: 'date', + span: 24, + labelWidth: null, + style: { width: '100%' }, + disabled: false, + clearable: true, + required: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker' + }, + { + label: '日期范围', + tag: 'el-date-picker', + tagIcon: 'date-range', + defaultValue: null, + span: 24, + labelWidth: null, + style: { width: '100%' }, + type: 'daterange', + 'range-separator': '至', + 'start-placeholder': '开始日期', + 'end-placeholder': '结束日期', + disabled: false, + clearable: true, + required: true, + format: 'yyyy-MM-dd', + 'value-format': 'yyyy-MM-dd', + readonly: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/date-picker' + }, + { + label: '评分', + tag: 'el-rate', + tagIcon: 'rate', + defaultValue: 0, + span: 24, + labelWidth: null, + style: {}, + max: 5, + 'allow-half': false, + 'show-text': false, + 'show-score': false, + disabled: false, + required: true, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/rate' + }, + { + label: '颜色选择', + tag: 'el-color-picker', + tagIcon: 'color', + defaultValue: null, + labelWidth: null, + 'show-alpha': false, + 'color-format': '', + disabled: false, + required: true, + size: 'medium', + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/color-picker' + }, + { + label: '上传', + tag: 'el-upload', + tagIcon: 'upload', + action: 'https://jsonplaceholder.typicode.com/posts/', + defaultValue: null, + labelWidth: null, + disabled: false, + required: true, + accept: '', + name: 'file', + 'auto-upload': true, + showTip: false, + buttonText: '点击上传', + fileSize: 2, + sizeUnit: 'MB', + 'list-type': 'text', + multiple: false, + regList: [], + changeTag: true, + document: 'https://element.eleme.cn/#/zh-CN/component/upload' + } +] + +export const layoutComponents = [ + { + layout: 'rowFormItem', + tagIcon: 'row', + type: 'default', + justify: 'start', + align: 'top', + label: '行容器', + layoutTree: true, + children: [], + document: 'https://element.eleme.cn/#/zh-CN/component/layout' + } +] + +// 组件rule的触发方式,无触发方式的组件不生成rule +export const trigger = { + 'el-input': 'blur', + 'el-input-number': 'blur', + 'el-select': 'change', + 'el-radio-group': 'change', + 'el-checkbox-group': 'change', + 'el-cascader': 'change', + 'el-time-picker': 'change', + 'el-date-picker': 'change', + 'el-rate': 'change' +} diff --git a/admin-ui/src/utils/generator/css.js b/admin-ui/src/utils/generator/css.js new file mode 100644 index 0000000..c1c62e6 --- /dev/null +++ b/admin-ui/src/utils/generator/css.js @@ -0,0 +1,18 @@ +const styles = { + 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}', + 'el-upload': '.el-upload__tip{line-height: 1.2;}' +} + +function addCss(cssList, el) { + const css = styles[el.tag] + css && cssList.indexOf(css) === -1 && cssList.push(css) + if (el.children) { + el.children.forEach(el2 => addCss(cssList, el2)) + } +} + +export function makeUpCss(conf) { + const cssList = [] + conf.fields.forEach(el => addCss(cssList, el)) + return cssList.join('\n') +} diff --git a/admin-ui/src/utils/generator/drawingDefalut.js b/admin-ui/src/utils/generator/drawingDefalut.js new file mode 100644 index 0000000..09f133c --- /dev/null +++ b/admin-ui/src/utils/generator/drawingDefalut.js @@ -0,0 +1,29 @@ +export default [ + { + layout: 'colFormItem', + tagIcon: 'input', + label: '手机号', + vModel: 'mobile', + formId: 6, + tag: 'el-input', + placeholder: '请输入手机号', + defaultValue: '', + span: 24, + style: { width: '100%' }, + clearable: true, + prepend: '', + append: '', + 'prefix-icon': 'el-icon-mobile', + 'suffix-icon': '', + maxlength: 11, + 'show-word-limit': true, + readonly: false, + disabled: false, + required: true, + changeTag: true, + regList: [{ + pattern: '/^1(3|4|5|7|8|9)\\d{9}$/', + message: '手机号格式错误' + }] + } +] diff --git a/admin-ui/src/utils/generator/html.js b/admin-ui/src/utils/generator/html.js new file mode 100644 index 0000000..0ece23b --- /dev/null +++ b/admin-ui/src/utils/generator/html.js @@ -0,0 +1,400 @@ +/* eslint-disable max-len */ +import ruleTrigger from './ruleTrigger' + +let confGlobal +let someSpanIsNot24 + +export function dialogWrapper(str) { + return ` + ${str} + + ` +} + +export function vueTemplate(str) { + return `` +} + +export function vueScript(str) { + return `` +} + +export function cssStyle(cssStr) { + return `` +} + +function buildFormTemplate(scheme, child, type) { + let labelPosition = '' + if (scheme.labelPosition !== 'right') { + labelPosition = `label-position="${scheme.labelPosition}"` + } + const disabled = scheme.disabled ? `:disabled="${scheme.disabled}"` : '' + let str = ` + ${child} + ${buildFromBtns(scheme, type)} + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + return str +} + +function buildFromBtns(scheme, type) { + let str = '' + if (scheme.formBtns && type === 'file') { + str = ` + 提交 + 重置 + ` + if (someSpanIsNot24) { + str = ` + ${str} + ` + } + } + return str +} + +// span不为24的用el-col包裹 +function colWrapper(scheme, str) { + if (someSpanIsNot24 || scheme.__config__.span !== 24) { + return ` + ${str} + ` + } + return str +} + +const layouts = { + colFormItem(scheme) { + const config = scheme.__config__ + let labelWidth = '' + let label = `label="${config.label}"` + if (config.labelWidth && config.labelWidth !== confGlobal.labelWidth) { + labelWidth = `label-width="${config.labelWidth}px"` + } + if (config.showLabel === false) { + labelWidth = 'label-width="0"' + label = '' + } + const required = !ruleTrigger[config.tag] && config.required ? 'required' : '' + const tagDom = tags[config.tag] ? tags[config.tag](scheme) : null + let str = ` + ${tagDom} + ` + str = colWrapper(scheme, str) + return str + }, + rowFormItem(scheme) { + const config = scheme.__config__ + const type = scheme.type === 'default' ? '' : `type="${scheme.type}"` + const justify = scheme.type === 'default' ? '' : `justify="${scheme.justify}"` + const align = scheme.type === 'default' ? '' : `align="${scheme.align}"` + const gutter = scheme.gutter ? `:gutter="${scheme.gutter}"` : '' + const children = config.children.map(el => layouts[el.__config__.layout](el)) + let str = ` + ${children.join('\n')} + ` + str = colWrapper(scheme, str) + return str + } +} + +const tags = { + 'el-button': el => { + const { + tag, disabled + } = attrBuilder(el) + const type = el.type ? `type="${el.type}"` : '' + const icon = el.icon ? `icon="${el.icon}"` : '' + const round = el.round ? 'round' : '' + const size = el.size ? `size="${el.size}"` : '' + const plain = el.plain ? 'plain' : '' + const circle = el.circle ? 'circle' : '' + let child = buildElButtonChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${type} ${icon} ${round} ${size} ${plain} ${disabled} ${circle}>${child}` + }, + 'el-input': el => { + const { + tag, disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : '' + const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : '' + const readonly = el.readonly ? 'readonly' : '' + const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : '' + const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : '' + const showPassword = el['show-password'] ? 'show-password' : '' + const type = el.type ? `type="${el.type}"` : '' + const autosize = el.autosize && el.autosize.minRows + ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"` + : '' + let child = buildElInputChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}` + }, + 'el-input-number': el => { + const { + tag, disabled, vModel, placeholder + } = attrBuilder(el) + const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : '' + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const stepStrictly = el['step-strictly'] ? 'step-strictly' : '' + const precision = el.precision ? `:precision='${el.precision}'` : '' + + return `<${tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}>` + }, + 'el-select': el => { + const { + tag, disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const filterable = el.filterable ? 'filterable' : '' + const multiple = el.multiple ? 'multiple' : '' + let child = buildElSelectChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}` + }, + 'el-radio-group': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + let child = buildElRadioGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${vModel} ${size} ${disabled}>${child}` + }, + 'el-checkbox-group': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const min = el.min ? `:min="${el.min}"` : '' + const max = el.max ? `:max="${el.max}"` : '' + let child = buildElCheckboxGroupChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}` + }, + 'el-switch': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : '' + const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : '' + const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : '' + const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : '' + const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : '' + const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : '' + + return `<${tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}>` + }, + 'el-cascader': el => { + const { + tag, disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const options = el.options ? `:options="${el.__vModel__}Options"` : '' + const props = el.props ? `:props="${el.__vModel__}Props"` : '' + const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"' + const filterable = el.filterable ? 'filterable' : '' + const separator = el.separator === '/' ? '' : `separator="${el.separator}"` + + return `<${tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}>` + }, + 'el-slider': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const min = el.min ? `:min='${el.min}'` : '' + const max = el.max ? `:max='${el.max}'` : '' + const step = el.step ? `:step='${el.step}'` : '' + const range = el.range ? 'range' : '' + const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : '' + + return `<${tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}>` + }, + 'el-time-picker': el => { + const { + tag, disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const isRange = el['is-range'] ? 'is-range' : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : '' + + return `<${tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}>` + }, + 'el-date-picker': el => { + const { + tag, disabled, vModel, clearable, placeholder, width + } = attrBuilder(el) + const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : '' + const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : '' + const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : '' + const format = el.format ? `format="${el.format}"` : '' + const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : '' + const type = el.type === 'date' ? '' : `type="${el.type}"` + const readonly = el.readonly ? 'readonly' : '' + + return `<${tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}>` + }, + 'el-rate': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const max = el.max ? `:max='${el.max}'` : '' + const allowHalf = el['allow-half'] ? 'allow-half' : '' + const showText = el['show-text'] ? 'show-text' : '' + const showScore = el['show-score'] ? 'show-score' : '' + + return `<${tag} ${vModel} ${max} ${allowHalf} ${showText} ${showScore} ${disabled}>` + }, + 'el-color-picker': el => { + const { tag, disabled, vModel } = attrBuilder(el) + const size = `size="${el.size}"` + const showAlpha = el['show-alpha'] ? 'show-alpha' : '' + const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : '' + + return `<${tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}>` + }, + 'el-upload': el => { + const { tag } = el.__config__ + const disabled = el.disabled ? ':disabled=\'true\'' : '' + const action = el.action ? `:action="${el.__vModel__}Action"` : '' + const multiple = el.multiple ? 'multiple' : '' + const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : '' + const accept = el.accept ? `accept="${el.accept}"` : '' + const name = el.name !== 'file' ? `name="${el.name}"` : '' + const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : '' + const beforeUpload = `:before-upload="${el.__vModel__}BeforeUpload"` + const onSuccess = `:on-success="${el.__vModel__}OnSuccess"` + const fileList = `:file-list="${el.__vModel__}fileList"` + const ref = `ref="${el.__vModel__}"` + let child = buildElUploadChild(el) + + if (child) child = `\n${child}\n` // 换行 + return `<${tag} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${onSuccess} ${listType} ${accept} ${name} ${disabled}>${child}` + }, + tinymce: el => { + const { tag, vModel, placeholder } = attrBuilder(el) + const height = el.height ? `:height="${el.height}"` : '' + const branding = el.branding ? `:branding="${el.branding}"` : '' + return `<${tag} ${vModel} ${placeholder} ${height} ${branding}>` + } +} + +function attrBuilder(el) { + return { + tag: el.__config__.tag, + vModel: `v-model="${confGlobal.formModel}.${el.__vModel__}"`, + clearable: el.clearable ? 'clearable' : '', + placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '', + width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '', + disabled: el.disabled ? ':disabled=\'true\'' : '' + } +} + +// el-buttin 子级 +function buildElButtonChild(scheme) { + const children = [] + const slot = scheme.__slot__ || {} + if (slot.default) { + children.push(slot.default) + } + return children.join('\n') +} + +// el-input 子级 +function buildElInputChild(scheme) { + const children = [] + const slot = scheme.__slot__ + if (slot && slot.prepend) { + children.push(``) + } + if (slot && slot.append) { + children.push(``) + } + return children.join('\n') +} + +// el-select 子级 +function buildElSelectChild(scheme) { + const children = [] + const slot = scheme.__slot__ + if (slot && slot.options && slot.options.length) { + children.push(``) + } + return children.join('\n') +} + +// el-radio-group 子级 +function buildElRadioGroupChild(scheme) { + const children = [] + const slot = scheme.__slot__ + const config = scheme.__config__ + if (slot && slot.options && slot.options.length) { + const tag = config.optionType === 'button' ? 'el-radio-button' : 'el-radio' + const border = config.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${scheme.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +// el-checkbox-group 子级 +function buildElCheckboxGroupChild(scheme) { + const children = [] + const slot = scheme.__slot__ + const config = scheme.__config__ + if (slot && slot.options && slot.options.length) { + const tag = config.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox' + const border = config.border ? 'border' : '' + children.push(`<${tag} v-for="(item, index) in ${scheme.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}`) + } + return children.join('\n') +} + +// el-upload 子级 +function buildElUploadChild(scheme) { + const list = [] + const config = scheme.__config__ + if (scheme['list-type'] === 'picture-card') list.push('') + else list.push(`${config.buttonText}`) + if (config.showTip) list.push(`
      只能上传不超过 ${config.fileSize}${config.sizeUnit} 的${scheme.accept}文件
      `) + return list.join('\n') +} + +/** + * 组装html代码。【入口函数】 + * @param {Object} formConfig 整个表单配置 + * @param {String} type 生成类型,文件或弹窗等 + */ +export function makeUpHtml(formConfig, type) { + const htmlList = [] + confGlobal = formConfig + // 判断布局是否都沾满了24个栅格,以备后续简化代码结构 + someSpanIsNot24 = formConfig.fields.some(item => item.__config__.span !== 24) + // 遍历渲染每个组件成html + formConfig.fields.forEach(el => { + htmlList.push(layouts[el.__config__.layout](el)) + }) + const htmlStr = htmlList.join('\n') + // 将组件代码放进form标签 + let temp = buildFormTemplate(formConfig, htmlStr, type) + // dialog标签包裹代码 + if (type === 'dialog') { + temp = dialogWrapper(temp) + } + confGlobal = null + return temp +} diff --git a/admin-ui/src/utils/generator/icon.json b/admin-ui/src/utils/generator/icon.json new file mode 100644 index 0000000..2d9999a --- /dev/null +++ b/admin-ui/src/utils/generator/icon.json @@ -0,0 +1 @@ +["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"] \ No newline at end of file diff --git a/admin-ui/src/utils/generator/index.js b/admin-ui/src/utils/generator/index.js new file mode 100644 index 0000000..034eae0 --- /dev/null +++ b/admin-ui/src/utils/generator/index.js @@ -0,0 +1,158 @@ +/* eslint-disable no-nested-ternary */ +/* eslint-disable no-restricted-syntax */ +/* eslint-disable guard-for-in */ +/** + * num 小于0,左缩进num*2个空格; 大于0,右缩进num*2个空格。 + * @param {string} str 代码 + * @param {number} num 缩进次数 + * @param {number} len 【可选】缩进单位,空格数 + */ +export function indent(str, num, len = 2) { + if (num === 0) return str + const isLeft = num < 0; const result = []; let reg; let + spaces = '' + if (isLeft) { + num *= -1 + reg = new RegExp(`(^\\s{0,${num * len}})`, 'g') + } else { + for (let i = 0; i < num * len; i++) spaces += ' ' + } + + str.split('\n').forEach(line => { + line = isLeft ? line.replace(reg, '') : spaces + line + result.push(line) + }) + return result.join('\n') +} + +// 首字母大小 +export function titleCase(str) { + return str.replace(/( |^)[a-z]/g, L => L.toUpperCase()) +} + +// 下划转驼峰 +export function camelCase(str) { + return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase()) +} + +export function isNumberStr(str) { + return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) +} + +export const exportDefault = 'export default ' + +export const beautifierConf = { + html: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'separate', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: false, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + }, + js: { + indent_size: '2', + indent_char: ' ', + max_preserve_newlines: '-1', + preserve_newlines: false, + keep_array_indentation: false, + break_chained_methods: false, + indent_scripts: 'normal', + brace_style: 'end-expand', + space_before_conditional: true, + unescape_strings: false, + jslint_happy: true, + end_with_newline: true, + wrap_line_length: '110', + indent_inner_html: true, + comma_first: false, + e4x: true, + indent_empty_lines: true + } +} + +function stringify(obj) { + return JSON.stringify(obj, (key, val) => { + if (typeof val === 'function') { + return `${val}` + } + return val + }) +} + +function parse(str) { + JSON.parse(str, (k, v) => { + if (v.indexOf && v.indexOf('function') > -1) { + // eslint-disable-next-line no-eval + return eval(`(${v})`) + } + return v + }) +} + +export function jsonClone(obj) { + return parse(stringify(obj)) +} + +// 深拷贝对象 +export function deepClone(obj) { + const _toString = Object.prototype.toString + + // null, undefined, non-object, function + if (!obj || typeof obj !== 'object') { + return obj + } + + // DOM Node + if (obj.nodeType && 'cloneNode' in obj) { + return obj.cloneNode(true) + } + + // Date + if (_toString.call(obj) === '[object Date]') { + return new Date(obj.getTime()) + } + + // RegExp + if (_toString.call(obj) === '[object RegExp]') { + const flags = [] + if (obj.global) { flags.push('g') } + if (obj.multiline) { flags.push('m') } + if (obj.ignoreCase) { flags.push('i') } + + return new RegExp(obj.source, flags.join('')) + } + + const result = Array.isArray(obj) ? [] : obj.constructor ? new obj.constructor() : {} + + for (const key in obj) { + result[key] = deepClone(obj[key]) + } + + return result +} + +const toStr = Function.prototype.call.bind(Object.prototype.toString) +export function isObjectObject(t) { + return toStr(t) === '[object Object]' +} +export function isObjectArray(t) { + return toStr(t) === '[object Array]' +} +export function isObjectNull(t) { + return toStr(t) === '[object Null]' +} +export function isObjectUnde(t) { + return toStr(t) === '[object Undefined]' +} diff --git a/admin-ui/src/utils/generator/js.js b/admin-ui/src/utils/generator/js.js new file mode 100644 index 0000000..63acfc5 --- /dev/null +++ b/admin-ui/src/utils/generator/js.js @@ -0,0 +1,236 @@ +import { isArray } from 'util' +import { exportDefault, titleCase } from '@/utils/generator/index' +import { trigger } from './config' + +const units = { + KB: '1024', + MB: '1024 / 1024', + GB: '1024 / 1024 / 1024' +} +let confGlobal +const inheritAttrs = { + file: '', + dialog: 'inheritAttrs: false,' +} + +export function makeUpJs(conf, type) { + confGlobal = conf = JSON.parse(JSON.stringify(conf)) + const dataList = [] + const ruleList = [] + const optionsList = [] + const propsList = [] + const methodList = mixinMethod(type) + const uploadVarList = [] + + conf.fields.forEach(el => { + buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + + const script = buildexport( + conf, + type, + dataList.join('\n'), + ruleList.join('\n'), + optionsList.join('\n'), + uploadVarList.join('\n'), + propsList.join('\n'), + methodList.join('\n') + ) + confGlobal = null + return script +} + +function buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) { + buildData(el, dataList) + buildRules(el, ruleList) + + if (el.options && el.options.length) { + buildOptions(el, optionsList) + if (el.dataType === 'dynamic') { + const model = `${el.vModel}Options` + const options = titleCase(model) + buildOptionMethod(`get${options}`, model, methodList) + } + } + + if (el.props && el.props.props) { + buildProps(el, propsList) + } + + if (el.action && el.tag === 'el-upload') { + uploadVarList.push( + `${el.vModel}Action: '${el.action}', + ${el.vModel}fileList: [],` + ) + methodList.push(buildBeforeUpload(el)) + if (!el['auto-upload']) { + methodList.push(buildSubmitUpload(el)) + } + } + + if (el.children) { + el.children.forEach(el2 => { + buildAttributes(el2, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) + }) + } +} + +function mixinMethod(type) { + const list = []; const + minxins = { + file: confGlobal.formBtns ? { + submitForm: `submitForm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + // TODO 提交表单 + }) + },`, + resetForm: `resetForm() { + this.$refs['${confGlobal.formRef}'].resetFields() + },` + } : null, + dialog: { + onOpen: 'onOpen() {},', + onClose: `onClose() { + this.$refs['${confGlobal.formRef}'].resetFields() + },`, + close: `close() { + this.$emit('update:visible', false) + },`, + handelConfirm: `handelConfirm() { + this.$refs['${confGlobal.formRef}'].validate(valid => { + if(!valid) return + this.close() + }) + },` + } + } + + const methods = minxins[type] + if (methods) { + Object.keys(methods).forEach(key => { + list.push(methods[key]) + }) + } + + return list +} + +function buildData(conf, dataList) { + if (conf.vModel === undefined) return + let defaultValue + if (typeof (conf.defaultValue) === 'string' && !conf.multiple) { + defaultValue = `'${conf.defaultValue}'` + } else { + defaultValue = `${JSON.stringify(conf.defaultValue)}` + } + dataList.push(`${conf.vModel}: ${defaultValue},`) +} + +function buildRules(conf, ruleList) { + if (conf.vModel === undefined) return + const rules = [] + if (trigger[conf.tag]) { + if (conf.required) { + const type = isArray(conf.defaultValue) ? 'type: \'array\',' : '' + let message = isArray(conf.defaultValue) ? `请至少选择一个${conf.vModel}` : conf.placeholder + if (message === undefined) message = `${conf.label}不能为空` + rules.push(`{ required: true, ${type} message: '${message}', trigger: '${trigger[conf.tag]}' }`) + } + if (conf.regList && isArray(conf.regList)) { + conf.regList.forEach(item => { + if (item.pattern) { + // eslint-disable-next-line no-eval + rules.push(`{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${trigger[conf.tag]}' }`) + } + }) + } + ruleList.push(`${conf.vModel}: [${rules.join(',')}],`) + } +} + +function buildOptions(conf, optionsList) { + if (conf.vModel === undefined) return + if (conf.dataType === 'dynamic') { conf.options = [] } + const str = `${conf.vModel}Options: ${JSON.stringify(conf.options)},` + optionsList.push(str) +} + +function buildProps(conf, propsList) { + if (conf.dataType === 'dynamic') { + conf.valueKey !== 'value' && (conf.props.props.value = conf.valueKey) + conf.labelKey !== 'label' && (conf.props.props.label = conf.labelKey) + conf.childrenKey !== 'children' && (conf.props.props.children = conf.childrenKey) + } + const str = `${conf.vModel}Props: ${JSON.stringify(conf.props.props)},` + propsList.push(str) +} + +function buildBeforeUpload(conf) { + const unitNum = units[conf.sizeUnit]; let rightSizeCode = ''; let acceptCode = ''; const + returnList = [] + if (conf.fileSize) { + rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${conf.fileSize} + if(!isRightSize){ + this.$message.error('文件大小超过 ${conf.fileSize}${conf.sizeUnit}') + }` + returnList.push('isRightSize') + } + if (conf.accept) { + acceptCode = `let isAccept = new RegExp('${conf.accept}').test(file.type) + if(!isAccept){ + this.$message.error('应该选择${conf.accept}类型的文件') + }` + returnList.push('isAccept') + } + const str = `${conf.vModel}BeforeUpload(file) { + ${rightSizeCode} + ${acceptCode} + return ${returnList.join('&&')} + },` + return returnList.length ? str : '' +} + +function buildSubmitUpload(conf) { + const str = `submitUpload() { + this.$refs['${conf.vModel}'].submit() + },` + return str +} + +function buildOptionMethod(methodName, model, methodList) { + const str = `${methodName}() { + // TODO 发起请求获取数据 + this.${model} + },` + methodList.push(str) +} + +function buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods) { + const str = `${exportDefault}{ + ${inheritAttrs[type]} + components: {}, + props: [], + data () { + return { + ${conf.formModel}: { + ${data} + }, + ${conf.formRules}: { + ${rules} + }, + ${uploadVar} + ${selectOptions} + ${props} + } + }, + computed: {}, + watch: {}, + created () {}, + mounted () {}, + methods: { + ${methods} + } +}` + return str +} diff --git a/admin-ui/src/utils/generator/render.js b/admin-ui/src/utils/generator/render.js new file mode 100644 index 0000000..95991a9 --- /dev/null +++ b/admin-ui/src/utils/generator/render.js @@ -0,0 +1,121 @@ +import { makeMap } from '@/utils/generator/index' + +// 参考https://github.com/vuejs/vue/blob/v2.6.10/src/platforms/web/server/util.js +const isAttr = makeMap( + 'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,' + + 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,' + + 'checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,' + + 'name,contenteditable,contextmenu,controls,coords,data,datetime,default,' + + 'defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,' + + 'form,formaction,headers,height,hidden,high,href,hreflang,http-equiv,' + + 'icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,' + + 'manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,' + + 'muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,' + + 'preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,' + + 'scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,' + + 'spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,' + + 'target,title,type,usemap,value,width,wrap' +) + +function vModel(self, dataObject, defaultValue) { + dataObject.props.value = defaultValue + + dataObject.on.input = val => { + self.$emit('input', val) + } +} + +const componentChild = { + 'el-input': { + prepend(h, conf, key) { + return + }, + append(h, conf, key) { + return + } + }, + 'el-select': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + list.push() + }) + return list + } + }, + 'el-radio-group': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + if (conf.optionType === 'button') list.push({item.label}) + else list.push({item.label}) + }) + return list + } + }, + 'el-checkbox-group': { + options(h, conf, key) { + const list = [] + conf.options.forEach(item => { + if (conf.optionType === 'button') { + list.push({item.label}) + } else { + list.push({item.label}) + } + }) + return list + } + }, + 'el-upload': { + 'list-type': (h, conf, key) => { + const list = [] + if (conf['list-type'] === 'picture-card') { + list.push() + } else { + list.push({conf.buttonText}) + } + if (conf.showTip) { + list.push(
      只能上传不超过 {conf.fileSize}{conf.sizeUnit} 的{conf.accept}文件
      ) + } + return list + } + } +} + +export default { + render(h) { + const dataObject = { + attrs: {}, + props: {}, + on: {}, + style: {} + } + const confClone = JSON.parse(JSON.stringify(this.conf)) + const children = [] + + const childObjs = componentChild[confClone.tag] + if (childObjs) { + Object.keys(childObjs).forEach(key => { + const childFunc = childObjs[key] + if (confClone[key]) { + children.push(childFunc(h, confClone, key)) + } + }) + } + + Object.keys(confClone).forEach(key => { + const val = confClone[key] + if (key === 'vModel') { + vModel(this, dataObject, confClone.defaultValue) + } else if (dataObject[key]) { + dataObject[key] = val + } else if (!isAttr(key)) { + dataObject.props[key] = val + } else { + dataObject.attrs[key] = val + } + }) + return h(this.conf.tag, dataObject, children) + }, + props: ['conf'] +} diff --git a/admin-ui/src/utils/get-page-title.js b/admin-ui/src/utils/get-page-title.js new file mode 100644 index 0000000..9528a74 --- /dev/null +++ b/admin-ui/src/utils/get-page-title.js @@ -0,0 +1,10 @@ +import storage from '@/utils/storage' + +export default function getPageTitle(pageTitle) { + const app_info = storage.get('app_info') + const title = app_info ? app_info.sys_app_name : 'go-admin 后台管理系统' + if (pageTitle) { + return `${pageTitle} - ${title}` + } + return `${title}` +} diff --git a/admin-ui/src/utils/index.js b/admin-ui/src/utils/index.js new file mode 100644 index 0000000..53d05a2 --- /dev/null +++ b/admin-ui/src/utils/index.js @@ -0,0 +1,368 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * Parse the time to string + * @param {(Object|string|number)} time + * @param {string} cFormat + * @returns {string | null} + */ +export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => { + const value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + return value.toString().padStart(2, '0') + }) + + if (time_str.indexOf('01-01-01') > -1) { + return '-' + } + + return time_str +} + +/** + * @param {number} time + * @param {string} option + * @returns {string} + */ +export function formatTime(time, option) { + if (('' + time).length === 10) { + time = parseInt(time) * 1000 + } else { + time = +time + } + const d = new Date(time) + const now = Date.now() + + const diff = (now - d) / 1000 + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { + // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return ( + d.getMonth() + + 1 + + '月' + + d.getDate() + + '日' + + d.getHours() + + '时' + + d.getMinutes() + + '分' + ) + } +} + +/** + * @param {string} url + * @returns {Object} + */ +export function getQueryObject(url) { + url = url == null ? window.location.href : url + const search = url.substring(url.lastIndexOf('?') + 1) + const obj = {} + const reg = /([^?&=]+)=([^?&=]*)/g + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1) + let val = decodeURIComponent($2) + val = String(val) + obj[name] = val + return rs + }) + return obj +} + +/** + * @param {string} input value + * @returns {number} output value + */ +export function byteLength(str) { + // returns the byte length of an utf8 string + let s = str.length + for (var i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i) + if (code > 0x7f && code <= 0x7ff) s++ + else if (code > 0x7ff && code <= 0xffff) s += 2 + if (code >= 0xDC00 && code <= 0xDFFF) i-- + } + return s +} + +/** + * @param {Array} actual + * @returns {Array} + */ +export function cleanArray(actual) { + const newArray = [] + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]) + } + } + return newArray +} + +/** + * @param {Object} json + * @returns {Array} + */ +export function param(json) { + if (!json) return '' + return cleanArray( + Object.keys(json).map(key => { + if (json[key] === undefined) return '' + return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) + }) + ).join('&') +} + +/** + * @param {string} url + * @returns {Object} + */ +export function param2Obj(url) { + const search = url.split('?')[1] + if (!search) { + return {} + } + return JSON.parse( + '{"' + + decodeURIComponent(search) + .replace(/"/g, '\\"') + .replace(/&/g, '","') + .replace(/=/g, '":"') + .replace(/\+/g, ' ') + + '"}' + ) +} + +/** + * @param {string} val + * @returns {string} + */ +export function html2Text(val) { + const div = document.createElement('div') + div.innerHTML = val + return div.textContent || div.innerText +} + +/** + * Merges two objects, giving the last one precedence + * @param {Object} target + * @param {(Object|Array)} source + * @returns {Object} + */ +export function objectMerge(target, source) { + if (typeof target !== 'object') { + target = {} + } + if (Array.isArray(source)) { + return source.slice() + } + Object.keys(source).forEach(property => { + const sourceProperty = source[property] + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty) + } else { + target[property] = sourceProperty + } + }) + return target +} + +/** + * @param {HTMLElement} element + * @param {string} className + */ +export function toggleClass(element, className) { + if (!element || !className) { + return + } + let classString = element.className + const nameIndex = classString.indexOf(className) + if (nameIndex === -1) { + classString += '' + className + } else { + classString = + classString.substr(0, nameIndex) + + classString.substr(nameIndex + className.length) + } + element.className = classString +} + +/** + * @param {string} type + * @returns {Date} + */ +export function getTime(type) { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90 + } else { + return new Date(new Date().toDateString()) + } +} + +/** + * @param {Function} func + * @param {number} wait + * @param {boolean} immediate + * @return {*} + */ +export function debounce(func, wait, immediate) { + let timeout, args, context, timestamp, result + + const later = function() { + // 据上一次触发时间间隔 + const last = +new Date() - timestamp + + // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait + if (last < wait && last > 0) { + timeout = setTimeout(later, wait - last) + } else { + timeout = null + // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 + if (!immediate) { + result = func.apply(context, args) + if (!timeout) context = args = null + } + } + } + + return function(...args) { + context = this + timestamp = +new Date() + const callNow = immediate && !timeout + // 如果延时不存在,重新设定延时 + if (!timeout) timeout = setTimeout(later, wait) + if (callNow) { + result = func.apply(context, args) + context = args = null + } + + return result + } +} + +/** + * This is just a simple version of deep copy + * Has a lot of edge cases bug + * If you want to use a perfect deep copy, use lodash's _.cloneDeep + * @param {Object} source + * @returns {Object} + */ +export function deepClone(source) { + if (!source && typeof source !== 'object') { + throw new Error('error arguments', 'deepClone') + } + const targetObj = source.constructor === Array ? [] : {} + Object.keys(source).forEach(keys => { + if (source[keys] && typeof source[keys] === 'object') { + targetObj[keys] = deepClone(source[keys]) + } else { + targetObj[keys] = source[keys] + } + }) + return targetObj +} + +/** + * @param {Array} arr + * @returns {Array} + */ +export function uniqueArr(arr) { + return Array.from(new Set(arr)) +} + +/** + * @returns {string} + */ +export function createUniqueString() { + const timestamp = +new Date() + '' + const randomNum = parseInt((1 + Math.random()) * 65536) + '' + return (+(randomNum + timestamp)).toString(32) +} + +/** + * Check if an element has a class + * @param {HTMLElement} elm + * @param {string} cls + * @returns {boolean} + */ +export function hasClass(ele, cls) { + return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) +} + +/** + * Add class to element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function addClass(ele, cls) { + if (!hasClass(ele, cls)) ele.className += ' ' + cls +} + +/** + * Remove class from element + * @param {HTMLElement} elm + * @param {string} cls + */ +export function removeClass(ele, cls) { + if (hasClass(ele, cls)) { + const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') + ele.className = ele.className.replace(reg, ' ') + } +} + +/** + * @param {Array} filterVal + * @param {Object} jsonData + * @returns {string} + */ +export function formatJson(filterVal, jsonData) { + return jsonData.map(v => filterVal.map(j => { + if (j === 'timestamp') { + return parseTime(v[j]) + } else { + return v[j] + } + })) +} + diff --git a/admin-ui/src/utils/open-window.js b/admin-ui/src/utils/open-window.js new file mode 100644 index 0000000..1a655d7 --- /dev/null +++ b/admin-ui/src/utils/open-window.js @@ -0,0 +1,25 @@ +/** + *Created by PanJiaChen on 16/11/29. + * @param {Sting} url + * @param {Sting} title + * @param {Number} w + * @param {Number} h + */ +export default function openWindow(url, title, w, h) { + // Fixes dual-screen position Most browsers Firefox + const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left + const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top + + const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width + const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height + + const left = ((width / 2) - (w / 2)) + dualScreenLeft + const top = ((height / 2) - (h / 2)) + dualScreenTop + const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left) + + // Puts focus on the newWindow + if (window.focus) { + newWindow.focus() + } +} + diff --git a/admin-ui/src/utils/permission.js b/admin-ui/src/utils/permission.js new file mode 100644 index 0000000..221d384 --- /dev/null +++ b/admin-ui/src/utils/permission.js @@ -0,0 +1,25 @@ +import store from '@/store' + +/** + * @param {Array} value + * @returns {Boolean} + * @example see @/views/permission/directive.vue + */ +export default function checkPermission(value) { + if (value && value instanceof Array && value.length > 0) { + const roles = store.getters && store.getters.roles + const permissionRoles = value + + const hasPermission = roles.some(role => { + return permissionRoles.includes(role) + }) + + if (!hasPermission) { + return false + } + return true + } else { + console.error(`need roles! Like v-permission="['admin','editor']"`) + return false + } +} diff --git a/admin-ui/src/utils/request.js b/admin-ui/src/utils/request.js new file mode 100644 index 0000000..a17485a --- /dev/null +++ b/admin-ui/src/utils/request.js @@ -0,0 +1,121 @@ +import axios from 'axios' +import { ElMessageBox, ElMessage } from 'element-plus' +import store from '@/store' +import { getToken } from '@/utils/auth' + +// create an axios instance +const service = axios.create({ + baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url + // withCredentials: true, // send cookies when cross-domain requests + timeout: 10000 // request timeout +}) + +// request interceptor +service.interceptors.request.use( + config => { + // do something before request is sent + + if (store.getters.token) { + // let each request carry token + // ['X-Token'] is a custom headers key + // please modify it according to the actual situation + config.headers['Authorization'] = 'Bearer ' + getToken() + config.headers['Content-Type'] = 'application/json' + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } +) + +// response interceptor +service.interceptors.response.use( + /** + * If you want to get http information such as headers or status + * Please return response => response + */ + + /** + * Determine the request status by custom code + * Here is just an example + * You can also judge the status by HTTP Status Code + */ + response => { + const code = response.data.code + if (code === 401) { + store.dispatch('user/resetToken') + if (location.href.indexOf('login') !== -1) { + location.reload() // 为了重新实例化vue-router对象 避免bug + } else { + ElMessageBox.confirm( + '登录状态已过期,您可以继续留在该页面,或者重新登录', + '系统提示', + { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + } + ).then(() => { + location.reload() // 为了重新实例化vue-router对象 避免bug + }) + } + return Promise.reject(new Error('Unauthorized')) + } else if (code === 6401) { + store.dispatch('user/resetToken') + ElMessageBox.confirm( + '登录状态已过期,您可以继续留在该页面,或者重新登录', + '系统提示', + { + confirmButtonText: '重新登录', + cancelButtonText: '取消', + type: 'warning' + } + ).then(() => { + location.reload() // 为了重新实例化vue-router对象 避免bug + }) + return false + } else if (code === 400 || code === 403) { + ElMessage({ + message: response.data.msg, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(new Error(response.data.msg)) + } else if (code !== 200) { + // Notification.error({ + // title: response.data.msg + // }) + ElMessage({ + message: response.data.msg, + type: 'error' + }) + return Promise.reject('error') + } else { + return response.data + } + }, + error => { + if (error.message === 'Network Error') { + ElMessage({ + message: '服务器连接异常,请检查服务器!', + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } + console.log('err' + error) // for debug + + ElMessage({ + message: error.message, + type: 'error', + duration: 5 * 1000 + }) + + return Promise.reject(error) + } +) + +export default service diff --git a/admin-ui/src/utils/scroll-to.js b/admin-ui/src/utils/scroll-to.js new file mode 100644 index 0000000..c5d8e04 --- /dev/null +++ b/admin-ui/src/utils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} diff --git a/admin-ui/src/utils/storage.js b/admin-ui/src/utils/storage.js new file mode 100644 index 0000000..cdcd8d2 --- /dev/null +++ b/admin-ui/src/utils/storage.js @@ -0,0 +1,23 @@ +const storage = { + set(key, value) { + if (typeof value === 'object') { + value = JSON.stringify(value) + } + localStorage.setItem(key, value) + }, + get(key) { + let value = localStorage.getItem(key) + if (value && value.indexOf('{') !== -1) { + value = JSON.parse(value) + } + return value + }, + remove(key) { + localStorage.removeItem(key) + }, + clear() { + localStorage.clear() + } +} + +export default storage diff --git a/admin-ui/src/utils/validate.js b/admin-ui/src/utils/validate.js new file mode 100644 index 0000000..6b3ac41 --- /dev/null +++ b/admin-ui/src/utils/validate.js @@ -0,0 +1,87 @@ +/** + * Created by PanJiaChen on 16/11/18. + */ + +/** + * @param {string} path + * @returns {Boolean} + */ +export function isExternal(path) { + return /^(https?:|mailto:|tel:)/.test(path) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0 +} + +/** + * @param {string} url + * @returns {Boolean} + */ +export function validURL(url) { + const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + return reg.test(url) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validLowerCase(str) { + const reg = /^[a-z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validUpperCase(str) { + const reg = /^[A-Z]+$/ + return reg.test(str) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function validAlphabets(str) { + const reg = /^[A-Za-z]+$/ + return reg.test(str) +} + +/** + * @param {string} email + * @returns {Boolean} + */ +export function validEmail(email) { + const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + return reg.test(email) +} + +/** + * @param {string} str + * @returns {Boolean} + */ +export function isString(str) { + if (typeof str === 'string' || str instanceof String) { + return true + } + return false +} + +/** + * @param {Array} arg + * @returns {Boolean} + */ +export function isArray(arg) { + if (typeof Array.isArray === 'undefined') { + return Object.prototype.toString.call(arg) === '[object Array]' + } + return Array.isArray(arg) +} diff --git a/admin-ui/src/utils/zipdownload.js b/admin-ui/src/utils/zipdownload.js new file mode 100644 index 0000000..6f44c9b --- /dev/null +++ b/admin-ui/src/utils/zipdownload.js @@ -0,0 +1,49 @@ +import axios from 'axios' +import { getToken } from '@/utils/auth' + +const mimeMap = { + xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + zip: 'application/zip' +} + +const baseUrl = process.env.VUE_APP_BASE_API +export function downLoadZip(str, filename) { + var url = baseUrl + str + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then(res => { + resolveBlob(res, mimeMap.zip) + }) +} + +export function downLoadFile(str) { + var url = baseUrl + str + const aLink = document.createElement('a') + aLink.href = url + document.body.appendChild(aLink) + aLink.click() + document.body.appendChild(aLink) +} +/** + * 解析blob响应内容并下载 + * @param {*} res blob响应内容 + * @param {String} mimeType MIME类型 + */ +export function resolveBlob(res, mimeType) { + const aLink = document.createElement('a') + var blob = new Blob([res.data], { type: mimeType }) + // //从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名; + var patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*') + var contentDisposition = decodeURI(res.headers['content-disposition']) + var result = patt.exec(contentDisposition) + var fileName = result[1] + fileName = fileName.replace(/\"/g, '') + aLink.href = URL.createObjectURL(blob) + aLink.setAttribute('download', fileName) // 设置下载文件名称 + document.body.appendChild(aLink) + aLink.click() + document.body.appendChild(aLink) +} diff --git a/admin-ui/src/vendor/Export2Excel.js b/admin-ui/src/vendor/Export2Excel.js new file mode 100644 index 0000000..b64e7d8 --- /dev/null +++ b/admin-ui/src/vendor/Export2Excel.js @@ -0,0 +1,220 @@ +/* eslint-disable */ +import { saveAs } from 'file-saver' +import * as XLSX from 'xlsx' + +function generateArray(table) { + var out = []; + var rows = table.querySelectorAll('tr'); + var ranges = []; + for (var R = 0; R < rows.length; ++R) { + var outRow = []; + var row = rows[R]; + var columns = row.querySelectorAll('td'); + for (var C = 0; C < columns.length; ++C) { + var cell = columns[C]; + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + var cellValue = cell.innerText; + if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + + //Skip ranges + ranges.forEach(function (range) { + if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { + for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); + } + }); + + //Handle Row Span + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({ + s: { + r: R, + c: outRow.length + }, + e: { + r: R + rowspan - 1, + c: outRow.length + colspan - 1 + } + }); + }; + + //Handle Value + outRow.push(cellValue !== "" ? cellValue : null); + + //Handle Colspan + if (colspan) + for (var k = 0; k < colspan - 1; ++k) outRow.push(null); + } + out.push(outRow); + } + return [out, ranges]; +}; + +function datenum(v, date1904) { + if (date1904) v += 1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); +} + +function sheet_from_array_of_arrays(data, opts) { + var ws = {}; + var range = { + s: { + c: 10000000, + r: 10000000 + }, + e: { + c: 0, + r: 0 + } + }; + for (var R = 0; R != data.length; ++R) { + for (var C = 0; C != data[R].length; ++C) { + if (range.s.r > R) range.s.r = R; + if (range.s.c > C) range.s.c = C; + if (range.e.r < R) range.e.r = R; + if (range.e.c < C) range.e.c = C; + var cell = { + v: data[R][C] + }; + if (cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({ + c: C, + r: R + }); + + if (typeof cell.v === 'number') cell.t = 'n'; + else if (typeof cell.v === 'boolean') cell.t = 'b'; + else if (cell.v instanceof Date) { + cell.t = 'n'; + cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } else cell.t = 's'; + + ws[cell_ref] = cell; + } + } + if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; +} + +function Workbook() { + if (!(this instanceof Workbook)) return new Workbook(); + this.SheetNames = []; + this.Sheets = {}; +} + +function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; +} + +export function export_table_to_excel(id) { + var theTable = document.getElementById(id); + var oo = generateArray(theTable); + var ranges = oo[1]; + + /* original data */ + var data = oo[0]; + var ws_name = "SheetJS"; + + var wb = new Workbook(), + ws = sheet_from_array_of_arrays(data); + + /* add ranges to worksheet */ + // ws['!cols'] = ['apple', 'banan']; + ws['!merges'] = ranges; + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, { + bookType: 'xlsx', + bookSST: false, + type: 'binary' + }); + + saveAs(new Blob([s2ab(wbout)], { + type: "application/octet-stream" + }), "test.xlsx") +} + +export function export_json_to_excel({ + multiHeader = [], + header, + data, + filename, + merges = [], + autoWidth = true, + bookType = 'xlsx' +} = {}) { + /* original data */ + filename = filename || 'excel-list' + data = [...data] + data.unshift(header); + + for (let i = multiHeader.length - 1; i > -1; i--) { + data.unshift(multiHeader[i]) + } + + var ws_name = "SheetJS"; + var wb = new Workbook(), + ws = sheet_from_array_of_arrays(data); + + if (merges.length > 0) { + if (!ws['!merges']) ws['!merges'] = []; + merges.forEach(item => { + ws['!merges'].push(XLSX.utils.decode_range(item)) + }) + } + + if (autoWidth) { + /*设置worksheet每列的最大宽度*/ + const colWidth = data.map(row => row.map(val => { + /*先判断是否为null/undefined*/ + if (val == null) { + return { + 'wch': 10 + }; + } + /*再判断是否为中文*/ + else if (val.toString().charCodeAt(0) > 255) { + return { + 'wch': val.toString().length * 2 + }; + } else { + return { + 'wch': val.toString().length + }; + } + })) + /*以第一行为初始值*/ + let result = colWidth[0]; + for (let i = 1; i < colWidth.length; i++) { + for (let j = 0; j < colWidth[i].length; j++) { + if (result[j]['wch'] < colWidth[i][j]['wch']) { + result[j]['wch'] = colWidth[i][j]['wch']; + } + } + } + ws['!cols'] = result; + } + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, { + bookType: bookType, + bookSST: false, + type: 'binary' + }); + saveAs(new Blob([s2ab(wbout)], { + type: "application/octet-stream" + }), `${filename}.${bookType}`); +} diff --git a/admin-ui/src/vendor/Export2Zip.js b/admin-ui/src/vendor/Export2Zip.js new file mode 100644 index 0000000..db70707 --- /dev/null +++ b/admin-ui/src/vendor/Export2Zip.js @@ -0,0 +1,24 @@ +/* eslint-disable */ +import { saveAs } from 'file-saver' +import JSZip from 'jszip' + +export function export_txt_to_zip(th, jsonData, txtName, zipName) { + const zip = new JSZip() + const txt_name = txtName || 'file' + const zip_name = zipName || 'file' + const data = jsonData + let txtData = `${th}\r\n` + data.forEach((row) => { + let tempStr = '' + tempStr = row.toString() + txtData += `${tempStr}\r\n` + }) + zip.file(`${txt_name}.txt`, txtData) + zip.generateAsync({ + type: "blob" + }).then((blob) => { + saveAs(blob, `${zip_name}.zip`) + }, (err) => { + alert('导出失败') + }) +} diff --git a/admin-ui/src/views/admin/dict/data.vue b/admin-ui/src/views/admin/dict/data.vue new file mode 100644 index 0000000..22f02a3 --- /dev/null +++ b/admin-ui/src/views/admin/dict/data.vue @@ -0,0 +1,333 @@ + + + diff --git a/admin-ui/src/views/admin/dict/index.vue b/admin-ui/src/views/admin/dict/index.vue new file mode 100644 index 0000000..fa3e345 --- /dev/null +++ b/admin-ui/src/views/admin/dict/index.vue @@ -0,0 +1,322 @@ + + + diff --git a/admin-ui/src/views/admin/sys-api/index.vue b/admin-ui/src/views/admin/sys-api/index.vue new file mode 100644 index 0000000..9a8e243 --- /dev/null +++ b/admin-ui/src/views/admin/sys-api/index.vue @@ -0,0 +1,426 @@ + + + + diff --git a/admin-ui/src/views/admin/sys-config/index.vue b/admin-ui/src/views/admin/sys-config/index.vue new file mode 100644 index 0000000..bcab909 --- /dev/null +++ b/admin-ui/src/views/admin/sys-config/index.vue @@ -0,0 +1,432 @@ + + + diff --git a/admin-ui/src/views/admin/sys-config/set.vue b/admin-ui/src/views/admin/sys-config/set.vue new file mode 100644 index 0000000..7a95b69 --- /dev/null +++ b/admin-ui/src/views/admin/sys-config/set.vue @@ -0,0 +1,604 @@ + + + + + diff --git a/admin-ui/src/views/admin/sys-dept/index.vue b/admin-ui/src/views/admin/sys-dept/index.vue new file mode 100644 index 0000000..9b169a5 --- /dev/null +++ b/admin-ui/src/views/admin/sys-dept/index.vue @@ -0,0 +1,377 @@ + + + diff --git a/admin-ui/src/views/admin/sys-login-log/index.vue b/admin-ui/src/views/admin/sys-login-log/index.vue new file mode 100644 index 0000000..83cd990 --- /dev/null +++ b/admin-ui/src/views/admin/sys-login-log/index.vue @@ -0,0 +1,287 @@ + + + + diff --git a/admin-ui/src/views/admin/sys-menu/index.vue b/admin-ui/src/views/admin/sys-menu/index.vue new file mode 100644 index 0000000..f7e241a --- /dev/null +++ b/admin-ui/src/views/admin/sys-menu/index.vue @@ -0,0 +1,634 @@ + + + + diff --git a/admin-ui/src/views/admin/sys-oper-log/index.vue b/admin-ui/src/views/admin/sys-oper-log/index.vue new file mode 100644 index 0000000..5a34b23 --- /dev/null +++ b/admin-ui/src/views/admin/sys-oper-log/index.vue @@ -0,0 +1,314 @@ + + + + diff --git a/admin-ui/src/views/admin/sys-post/index.vue b/admin-ui/src/views/admin/sys-post/index.vue new file mode 100644 index 0000000..37f0b75 --- /dev/null +++ b/admin-ui/src/views/admin/sys-post/index.vue @@ -0,0 +1,319 @@ + + + diff --git a/admin-ui/src/views/admin/sys-role/index.vue b/admin-ui/src/views/admin/sys-role/index.vue new file mode 100644 index 0000000..83dc8cd --- /dev/null +++ b/admin-ui/src/views/admin/sys-role/index.vue @@ -0,0 +1,552 @@ + + + diff --git a/admin-ui/src/views/admin/sys-user/index.vue b/admin-ui/src/views/admin/sys-user/index.vue new file mode 100644 index 0000000..c847386 --- /dev/null +++ b/admin-ui/src/views/admin/sys-user/index.vue @@ -0,0 +1,683 @@ + + + diff --git a/admin-ui/src/views/chorus/generations/index.vue b/admin-ui/src/views/chorus/generations/index.vue new file mode 100644 index 0000000..ded52a9 --- /dev/null +++ b/admin-ui/src/views/chorus/generations/index.vue @@ -0,0 +1,38 @@ + + + diff --git a/admin-ui/src/views/chorus/health/index.vue b/admin-ui/src/views/chorus/health/index.vue new file mode 100644 index 0000000..aa03e64 --- /dev/null +++ b/admin-ui/src/views/chorus/health/index.vue @@ -0,0 +1,44 @@ + + + diff --git a/admin-ui/src/views/chorus/models/index.vue b/admin-ui/src/views/chorus/models/index.vue new file mode 100644 index 0000000..67f7650 --- /dev/null +++ b/admin-ui/src/views/chorus/models/index.vue @@ -0,0 +1,51 @@ + + + + diff --git a/admin-ui/src/views/chorus/providers/index.vue b/admin-ui/src/views/chorus/providers/index.vue new file mode 100644 index 0000000..eda2635 --- /dev/null +++ b/admin-ui/src/views/chorus/providers/index.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/admin-ui/src/views/chorus/routes/index.vue b/admin-ui/src/views/chorus/routes/index.vue new file mode 100644 index 0000000..fc2924e --- /dev/null +++ b/admin-ui/src/views/chorus/routes/index.vue @@ -0,0 +1,91 @@ + + + + diff --git a/admin-ui/src/views/chorus/shared.js b/admin-ui/src/views/chorus/shared.js new file mode 100644 index 0000000..5ff16e6 --- /dev/null +++ b/admin-ui/src/views/chorus/shared.js @@ -0,0 +1,15 @@ +export function dataOf(response) { + return Array.isArray(response && response.data) ? response.data : [] +} + +export function formatTime(value) { + if (!value) return '-' + return new Intl.DateTimeFormat('zh-CN', { + year: 'numeric', month: '2-digit', day: '2-digit', + hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false + }).format(new Date(value)) +} + +export function contains(value, keyword) { + return String(value == null ? '' : value).toLowerCase().includes(keyword.trim().toLowerCase()) +} diff --git a/admin-ui/src/views/chorus/shared.scss b/admin-ui/src/views/chorus/shared.scss new file mode 100644 index 0000000..9f5ec6e --- /dev/null +++ b/admin-ui/src/views/chorus/shared.scss @@ -0,0 +1,56 @@ +.chorus-page { + padding: 14px 16px 24px; + + .page-heading { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 12px; + margin-bottom: 12px; + } + + .page-heading h1 { + margin: 0 0 4px; + font-size: 20px; + line-height: 1.35; + } + + .page-heading p { + margin: 0; + color: var(--el-text-color-secondary); + line-height: 1.5; + } + + .toolbar { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + padding: 12px; + border: 1px solid var(--el-border-color-light); + border-bottom: 0; + background: var(--el-bg-color); + } + + .toolbar .spacer { flex: 1; } + .table-panel { border: 1px solid var(--el-border-color-light); background: var(--el-bg-color); } + .empty-state { padding: 52px 16px; text-align: center; color: var(--el-text-color-secondary); } + .mono { font-family: Consolas, "SFMono-Regular", monospace; font-variant-numeric: tabular-nums; } + .muted { color: var(--el-text-color-secondary); } + .danger-text { color: var(--el-color-danger); } + .dialog-help { margin: -4px 0 14px; color: var(--el-text-color-secondary); line-height: 1.55; } + .detail-list { display: grid; grid-template-columns: 140px minmax(0, 1fr); margin: 0; } + .detail-list dt, .detail-list dd { margin: 0; padding: 9px 0; border-bottom: 1px solid var(--el-border-color-lighter); overflow-wrap: anywhere; } + .detail-list dt { color: var(--el-text-color-secondary); } +} + +@media (max-width: 760px) { + .chorus-page { padding: 10px; } + .chorus-page .page-heading { display: block; } + .chorus-page .page-heading .el-button { margin-top: 10px; } + .chorus-page .toolbar > .el-input, + .chorus-page .toolbar > .el-select { width: 100% !important; } + .chorus-page .toolbar .spacer { display: none; } + .chorus-page .detail-list { grid-template-columns: 1fr; } + .chorus-page .detail-list dt { padding-bottom: 2px; border-bottom: 0; } +} diff --git a/admin-ui/src/views/chorus/templates/index.vue b/admin-ui/src/views/chorus/templates/index.vue new file mode 100644 index 0000000..954c07d --- /dev/null +++ b/admin-ui/src/views/chorus/templates/index.vue @@ -0,0 +1,42 @@ + + + + diff --git a/admin-ui/src/views/chorus/users/index.vue b/admin-ui/src/views/chorus/users/index.vue new file mode 100644 index 0000000..6ebde49 --- /dev/null +++ b/admin-ui/src/views/chorus/users/index.vue @@ -0,0 +1,30 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/BarChart.vue b/admin-ui/src/views/dashboard/admin/components/BarChart.vue new file mode 100644 index 0000000..ff4317a --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/BarChart.vue @@ -0,0 +1,41 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/LineChart.vue b/admin-ui/src/views/dashboard/admin/components/LineChart.vue new file mode 100644 index 0000000..d705e7e --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/LineChart.vue @@ -0,0 +1,62 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/PanelGroup.vue b/admin-ui/src/views/dashboard/admin/components/PanelGroup.vue new file mode 100644 index 0000000..e6cd064 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/PanelGroup.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/admin-ui/src/views/dashboard/admin/components/PieChart.vue b/admin-ui/src/views/dashboard/admin/components/PieChart.vue new file mode 100644 index 0000000..5226d48 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/PieChart.vue @@ -0,0 +1,50 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/RaddarChart.vue b/admin-ui/src/views/dashboard/admin/components/RaddarChart.vue new file mode 100644 index 0000000..903b885 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/RaddarChart.vue @@ -0,0 +1,51 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/TodoList/Todo.vue b/admin-ui/src/views/dashboard/admin/components/TodoList/Todo.vue new file mode 100644 index 0000000..41ac00d --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/TodoList/Todo.vue @@ -0,0 +1,82 @@ + + + diff --git a/admin-ui/src/views/dashboard/admin/components/TodoList/index.scss b/admin-ui/src/views/dashboard/admin/components/TodoList/index.scss new file mode 100644 index 0000000..74ce0d5 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/TodoList/index.scss @@ -0,0 +1,320 @@ +.todoapp { + font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif; + line-height: 1.4em; + color: #4d4d4d; + min-width: 230px; + max-width: 550px; + margin: 0 auto ; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: 300; + background: #fff; + z-index: 1; + position: relative; + button { + margin: 0; + padding: 0; + border: 0; + background: none; + font-size: 100%; + vertical-align: baseline; + font-family: inherit; + font-weight: inherit; + color: inherit; + -webkit-appearance: none; + appearance: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + :focus { + outline: 0; + } + .hidden { + display: none; + } + .todoapp { + background: #fff; + margin: 130px 0 40px 0; + position: relative; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1); + } + .todoapp input::-webkit-input-placeholder { + font-style: italic; + font-weight: 300; + color: #e6e6e6; + } + .todoapp input::-moz-placeholder { + font-style: italic; + font-weight: 300; + color: #e6e6e6; + } + .todoapp input::input-placeholder { + font-style: italic; + font-weight: 300; + color: #e6e6e6; + } + .todoapp h1 { + position: absolute; + top: -155px; + width: 100%; + font-size: 100px; + font-weight: 100; + text-align: center; + color: rgba(175, 47, 47, 0.15); + -webkit-text-rendering: optimizeLegibility; + -moz-text-rendering: optimizeLegibility; + text-rendering: optimizeLegibility; + } + .new-todo, + .edit { + position: relative; + margin: 0; + width: 100%; + font-size: 18px; + font-family: inherit; + font-weight: inherit; + line-height: 1.4em; + border: 0; + color: inherit; + padding: 6px; + border: 1px solid #999; + box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2); + box-sizing: border-box; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .new-todo { + padding: 10px 16px 16px 60px; + border: none; + background: rgba(0, 0, 0, 0.003); + box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03); + } + .main { + position: relative; + z-index: 2; + border-top: 1px solid #e6e6e6; + } + .toggle-all { + text-align: center; + border: none; + /* Mobile Safari */ + opacity: 0; + position: absolute; + } + .toggle-all+label { + width: 60px; + height: 34px; + font-size: 0; + position: absolute; + top: -52px; + left: -13px; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + } + .toggle-all+label:before { + content: '❯'; + font-size: 22px; + color: #e6e6e6; + padding: 10px 27px 10px 27px; + } + .toggle-all:checked+label:before { + color: #737373; + } + .todo-list { + margin: 0; + padding: 0; + list-style: none; + } + .todo-list li { + position: relative; + font-size: 24px; + border-bottom: 1px solid #ededed; + } + .todo-list li:last-child { + border-bottom: none; + } + .todo-list li.editing { + border-bottom: none; + padding: 0; + } + .todo-list li.editing .edit { + display: block; + width: 506px; + padding: 12px 16px; + margin: 0 0 0 43px; + } + .todo-list li.editing .view { + display: none; + } + .todo-list li .toggle { + text-align: center; + width: 40px; + /* auto, since non-WebKit browsers doesn't support input styling */ + height: auto; + position: absolute; + top: 0; + bottom: 0; + margin: auto 0; + border: none; + /* Mobile Safari */ + -webkit-appearance: none; + appearance: none; + } + .todo-list li .toggle { + opacity: 0; + } + .todo-list li .toggle+label { + /* + Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433 + IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/ + */ + background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E'); + background-repeat: no-repeat; + background-position: center left; + background-size: 36px; + } + .todo-list li .toggle:checked+label { + background-size: 36px; + background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E'); + } + .todo-list li label { + word-break: break-all; + padding: 15px 15px 15px 50px; + display: block; + line-height: 1.0; + font-size: 14px; + transition: color 0.4s; + } + .todo-list li.completed label { + color: #d9d9d9; + text-decoration: line-through; + } + .todo-list li .destroy { + display: none; + position: absolute; + top: 0; + right: 10px; + bottom: 0; + width: 40px; + height: 40px; + margin: auto 0; + font-size: 30px; + color: #cc9a9a; + transition: color 0.2s ease-out; + cursor: pointer; + } + .todo-list li .destroy:hover { + color: #af5b5e; + } + .todo-list li .destroy:after { + content: '×'; + } + .todo-list li:hover .destroy { + display: block; + } + .todo-list li .edit { + display: none; + } + .todo-list li.editing:last-child { + margin-bottom: -1px; + } + .footer { + color: #777; + position: relative; + padding: 10px 15px; + height: 40px; + text-align: center; + border-top: 1px solid #e6e6e6; + } + .footer:before { + content: ''; + position: absolute; + right: 0; + bottom: 0; + left: 0; + height: 40px; + overflow: hidden; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6, 0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6, 0 17px 2px -6px rgba(0, 0, 0, 0.2); + } + .todo-count { + float: left; + text-align: left; + } + .todo-count strong { + font-weight: 300; + } + .filters { + margin: 0; + padding: 0; + position: relative; + z-index: 1; + list-style: none; + } + .filters li { + display: inline; + } + .filters li a { + color: inherit; + font-size: 12px; + padding: 3px 7px; + text-decoration: none; + border: 1px solid transparent; + border-radius: 3px; + } + .filters li a:hover { + border-color: rgba(175, 47, 47, 0.1); + } + .filters li a.selected { + border-color: rgba(175, 47, 47, 0.2); + } + .clear-completed, + html .clear-completed:active { + float: right; + position: relative; + line-height: 20px; + text-decoration: none; + cursor: pointer; + } + .clear-completed:hover { + text-decoration: underline; + } + .info { + margin: 65px auto 0; + color: #bfbfbf; + font-size: 10px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-align: center; + } + .info p { + line-height: 1; + } + .info a { + color: inherit; + text-decoration: none; + font-weight: 400; + } + .info a:hover { + text-decoration: underline; + } + /* + Hack to remove background from Mobile Safari. + Can't use it globally since it destroys checkboxes in Firefox +*/ + @media screen and (-webkit-min-device-pixel-ratio:0) { + .toggle-all, + .todo-list li .toggle { + background: none; + } + .todo-list li .toggle { + height: 40px; + } + } + @media (max-width: 430px) { + .footer { + height: 50px; + } + .filters { + bottom: 10px; + } + } +} diff --git a/admin-ui/src/views/dashboard/admin/components/TodoList/index.vue b/admin-ui/src/views/dashboard/admin/components/TodoList/index.vue new file mode 100644 index 0000000..d817974 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/TodoList/index.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/admin-ui/src/views/dashboard/admin/components/mixins/resize.js b/admin-ui/src/views/dashboard/admin/components/mixins/resize.js new file mode 100644 index 0000000..f7e8b05 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/components/mixins/resize.js @@ -0,0 +1,55 @@ +import { debounce } from '@/utils' + +export default { + data() { + return { + $_sidebarElm: null, + $_resizeHandler: null + } + }, + mounted() { + this.$_resizeHandler = debounce(() => { + if (this.chart) { + this.chart.resize() + } + }, 100) + this.$_initResizeEvent() + this.$_initSidebarResizeEvent() + }, + beforeUnmount() { + this.$_destroyResizeEvent() + this.$_destroySidebarResizeEvent() + }, + // to fixed bug when cached by keep-alive + // https://github.com/PanJiaChen/vue-element-admin/issues/2116 + activated() { + this.$_initResizeEvent() + this.$_initSidebarResizeEvent() + }, + deactivated() { + this.$_destroyResizeEvent() + this.$_destroySidebarResizeEvent() + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_initResizeEvent() { + window.addEventListener('resize', this.$_resizeHandler) + }, + $_destroyResizeEvent() { + window.removeEventListener('resize', this.$_resizeHandler) + }, + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.$_resizeHandler() + } + }, + $_initSidebarResizeEvent() { + this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] + this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) + }, + $_destroySidebarResizeEvent() { + this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) + } + } +} diff --git a/admin-ui/src/views/dashboard/admin/index.vue b/admin-ui/src/views/dashboard/admin/index.vue new file mode 100644 index 0000000..8c1d483 --- /dev/null +++ b/admin-ui/src/views/dashboard/admin/index.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/admin-ui/src/views/dashboard/editor/index.vue b/admin-ui/src/views/dashboard/editor/index.vue new file mode 100644 index 0000000..9723bcc --- /dev/null +++ b/admin-ui/src/views/dashboard/editor/index.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/admin-ui/src/views/dashboard/index.vue b/admin-ui/src/views/dashboard/index.vue new file mode 100644 index 0000000..eb08127 --- /dev/null +++ b/admin-ui/src/views/dashboard/index.vue @@ -0,0 +1,31 @@ + + + diff --git a/admin-ui/src/views/dev-tools/build/index.vue b/admin-ui/src/views/dev-tools/build/index.vue new file mode 100644 index 0000000..697c652 --- /dev/null +++ b/admin-ui/src/views/dev-tools/build/index.vue @@ -0,0 +1,36 @@ +

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 v*_&53$@gYq~z7liTX+vFi#G}-C0 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 KMNUMnLSTX`bF@_e literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Awesome.png b/admin-ui/src/assets/icons/Awesome.png new file mode 100644 index 0000000000000000000000000000000000000000..005bfc4e2f664d77435686b821a2598c67d70a66 GIT binary patch literal 12866 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 MMiz!R{X38U3+G*OrvLx| literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Ic-01.png b/admin-ui/src/assets/icons/Ic-01.png new file mode 100644 index 0000000000000000000000000000000000000000..486231243fcda350e794ea136bbc0e6c95d2aae6 GIT binary patch literal 4359 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 G_5T6i#KY?V literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Idea.png b/admin-ui/src/assets/icons/Idea.png new file mode 100644 index 0000000000000000000000000000000000000000..956f9059b983739212d102889c3f80e024640b99 GIT binary patch literal 13018 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/OneDrive.png b/admin-ui/src/assets/icons/OneDrive.png new file mode 100644 index 0000000000000000000000000000000000000000..96dcd83c5afc1de0e5fd7491702fee1e3d1c7fe3 GIT binary patch literal 8313 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/OneNote.png b/admin-ui/src/assets/icons/OneNote.png new file mode 100644 index 0000000000000000000000000000000000000000..7fba4b1833bbe08d6dd8ffdd0b04bf4fb33e1349 GIT binary patch literal 4817 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/PDFbeifen.png b/admin-ui/src/assets/icons/PDFbeifen.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f8e020c08f98a420b40d6e3176698f1a4b343a GIT binary patch literal 5272 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 KYFB94M*Rm!)VE#$ literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Phpstorm-01.png b/admin-ui/src/assets/icons/Phpstorm-01.png new file mode 100644 index 0000000000000000000000000000000000000000..34fc910ed7120d327f225e5213e5276960f54cc8 GIT binary patch literal 13873 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 ya`&!$n2=uAS@scgAosLv-6x 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 P$sidCMe#~e!_WT*^lSYC literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/PictureUnknow.png b/admin-ui/src/assets/icons/PictureUnknow.png new file mode 100644 index 0000000000000000000000000000000000000000..0c509c3884802294e4b682d42d7a511a66c0f41f GIT binary patch literal 4681 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 ONcX0ZR<))>%zpvmQ&5ut literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Pl-01.png b/admin-ui/src/assets/icons/Pl-01.png new file mode 100644 index 0000000000000000000000000000000000000000..c89c97d3cf3f4f4208fce1549e751b6af14fc2a6 GIT binary patch literal 3043 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 N?(^8o-+k=tKLBT%aMu6; literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/Pn-01.png b/admin-ui/src/assets/icons/Pn-01.png new file mode 100644 index 0000000000000000000000000000000000000000..927588bd76f24af2349c62d20d967e09570d4102 GIT binary patch literal 3896 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 literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/PowerPoint.png b/admin-ui/src/assets/icons/PowerPoint.png new file mode 100644 index 0000000000000000000000000000000000000000..f261b5ce4f9160604a39465ad94f3af574fb76f9 GIT binary patch literal 8713 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 SIGzzZ20%0oz*XuFFaHl^M|#Zw literal 0 HcmV?d00001 diff --git a/admin-ui/src/assets/icons/PowerShell.png b/admin-ui/src/assets/icons/PowerShell.png new file mode 100644 index 0000000000000000000000000000000000000000..db90aeee89a3fdb9c79647584ef2d70d8ac6dae8 GIT binary patch literal 12383 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